IDEA中创建SpringMVC项目

时间:2021-09-12 09:22:14

在IDEA中创建SpringMVC项目


1 . File -> New Project -> Spring -> SpringMVC
IDEA中创建SpringMVC项目


2 . 等待下载或引用本地的 lib 创建完成项目(下载所有的jar文件)
IDEA中创建SpringMVC项目


3 . 项目创建完成后选择工具栏的 Run/Debug Configuration ,添加一个服务器
IDEA中创建SpringMVC项目


4 . 添加服务器后会提示 No artifacts marked for deployment ,点击右下角的fix将该项目添加到Tomcat服务器中,并配置项目路径为 springmvc


5 . 启动服务器,此时会发布失败,提示异常
java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener
这是因为XXX-servlet.xml里面没有进行配置导致的异常


6 . 在dispatcher-servlet.xml 中添加如下配置:

     <!-- 默认使用基于注释的适配器和映射器 -->
<mvc:annotation-driven/>
<!-- 只把动态信息当做controller处理,忽略静态信息 -->
<mvc:default-servlet-handler/>
<!-- 自动扫描包中的Controlller -->
<context:component-scan base-package="controller"/>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/><!-- 前缀 -->
<property name="suffix" value=".jsp"/><!-- 后缀,自动拼接 -->
</bean>

7 . 创建Controller类,对Controller添加注解

package controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;

@Controller
public class HelloController {
@RequestMapping("/hello.action")
public String hello(ModelMap mv) {
mv.addAttribute("msg", "hello mvc");
return "hello";
}
}

8 . 在/WEB-INF下创建jsp目录并在jsp中创建hello.jsp(该目录为结果跳转路径,在dispatcher-servlet.xml中进行了配置)

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
${msg}
</body>
</html>

9 . 因为在Controller中为.action,所以将web.xml中也修改为拦截.aciton

   <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>

10 . 点击工具栏的项目管理,在Problem中点击fix,添加所需的jar文件到工程中
IDEA中创建SpringMVC项目


11 . 此时再次重新发布项目,启动后可以访问jsp页面,但是访问action时会提示新的错误
Handler processing failed; nested exception is java.lang.NoClassDefFoundError:javax/servlet/jsp/jstl/core/Config
这是因为 IDEA 所下载的包中没有包含jstl.jarstandard.jar导致的(如果使用前面链接所给的jar不会出现该问题),下载并到导入这两个jar到项目中即可解决( CSDN 下载|官方下载)
IDEA中创建SpringMVC项目


12 . 引入jar包后再次重启 Tomcat 服务器,就可以访问action了,一个最基本的 SpringMVC 项目就搭建完成了


项目结构

IDEA中创建SpringMVC项目


项目下载地址

http://download.csdn.net/detail/u013360850/9690198