SpringMVC 可以通过 XML 配置的方式进行开发。
一、前置工作
1. 导入依赖
在 pom.xml 文件中添加信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>版本号</version> </dependency>
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>版本号</version> </dependency>
|
2. 接管所有请求
DispatcherServlet 是整个 SpringMVC 的核心,它会接管所有请求,并将请求分配给对应的 controller 。
为拦截所有请求,需要在 web.xml 中配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <?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">
<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> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping>
</web-app>
|
- 通过 init-param 指定 SpringMVC 的配置文件
- 设置 servlet-mapping 的 url-pattern,以拦截所有请求
/
拦截所有请求(除了 jsp)
/*
拦截所有请求(包括 jsp)
3. 创建 SpringMVC 配置文件
创建 SpringMVC-servlet.xml,填写如下:
1 2 3 4 5 6 7 8 9 10
| <?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"> ··· </beans>
|
二、编写 Controller
创建类,继承 Controller 接口,实现 handleRequest()
方法。
在方法中,
- 新建 ModelAndView 类的实例
- 通过实例的
addObject()
等方法传递数据
- 通过实例的
setViewName
等方法指定要跳转的视图
- return ModelAndView 类的实例
1 2 3 4 5 6 7 8 9
| public class Controller名 implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView modelAndView = new ModelAndView(); ··· modelAndView.setViewName("视图路径"); return modelAndView; } }
|
三、注册 Controller
在 SpringMVC 配置文件中,增加信息如下:
1 2 3 4 5 6 7 8 9 10
| <?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 id="/访问路径" class="全限定类名"/>
</beans>
|
四、启动项目
使用 Tomcat 启动,通过 https://域名:端口/项目路径/访问路径
,即可访问到 Controller,再通过 Controller 访问到对应的视图。
参考