使用SpringMVC建立一个web项目,在IDEA中file->new->project建立一个空项目project。不用选择create from archetype从模板创建。然后在项目的pom.xml中添加公共的依赖包括org.springframework,junit,然后在此目录下建立new module,依然不要选择create from archetype。每个module可以是一个独立的子项目,创建好之后在模块上右键添加add framework support ,钩选WEB支持即可。然后在此module中添加其所需要的依赖到其pom.xml中。本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
<!--上述公共依赖包如下--> <!--导入公共依赖--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies>本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
完成项目建立并添加要的依赖之后,开始配置web.xml。包括把spring mvc的dispatcherServlet注册到servlet中,并设置所有由根地址请求的URL匹配到springMVC的servlet来处理。如下:本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!--注册dispatcherServlet--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
另外上面在配置springMVC框架的时候需要指定contextConfigLocation上下文的配置文件地址,即SpringMVC集合spring时,spring需要用的配置文件,如上我们使用的springmvc-servlet.xml文件,此文件放在java源代码下的src/main/resources目录中。内容如下:本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="/index" class="com.kermit.controller.IndexController" /> </beans>本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
上述InternalResourceViewResolver中的property指定了视图的加载路径及后缀,并配置了当请求为/index时,交由class类:IndexController 来处理。IndexController 是spring的import org.springframework.web.servlet.mvc.Controller;的实现,其实例化一个MV并操作数据将数据绑定给mv后返回给视图展示,代码如下:本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
package com.kermit.controller; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class IndexController implements Controller { public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { ModelAndView mv = new ModelAndView(); mv.addObject("msg", "springMVC Project"); mv.setViewName("home"); return mv; } }本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
视图内容不用过多编辑,只需要添加对应目录文件:/WEB-INF/jsp/home.jsp,里面使用${msg}取得msg的内容展示即可。然后启动tomcat服务器即可成功运行springMVC框架。本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
在项目执行的时候可能容易遇到404错误,如果代码上没有什么问题,错误可能出在使用tomcat运行的时候未把lib包放到tomcat下,导致tomcat运行时找不到jar包从而运行出错。进入project structure选项,找到Artifacts选项卡,看要运行的module下打的包文件下是不是缺少classes/lib目录及文件,添加上对应文件即可。如下图:本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/885.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/885.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |