一. 添加依赖
本文需用用到以下依赖:
(注意,SpringMVC创建不再是JavaSE项目,而是JavaWeb项目,所以存放jar包应该放在web/WEB-INF/lib目录下)
-
commons-logging-1.2.jar
-
spring-aop-5.1.8.RELEASE.jar
-
spring-beans-5.1.8.RELEASE.jar
-
spring-context-5.1.8.RELEASE.jar
-
spring-core-5.1.8.RELEASE.jar
-
spring-expression-5.1.8.RELEASE.jar
-
spring-web-5.1.8.RELEASE.jar
-
spring-webmvc-5.1.8.RELEASE.jar
二. 数据
创建一个controller,即Servlet
package io.zhangjia.springmvc.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class Test{ @RequestMapping("/test") public String test(){ return "test"; } }
其中@RequestMapping(“/test”),相当于之前的@WebServlert(“/test”),而test方法中return的test字符串,是视图解析器的前缀和后缀中间的内容,即前缀(/WEB-INF/views/)+ test +后缀(.jsp),关于视图解析器,我们将在下面讲解。
test.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %> <!DOCTYPE html> <html> <head> <title>Title</title> </head> <body> <h1>哈哈哈</h1> </body> </html>
三. 创建SpringMVC的配置文件
SpringMVC的配置文件可以自定义命名,这里我们将其命名为spring-mvc.xml,放在src目录下,并在spring-mvc.xml中添加以下两个配置
1. 配置视图解析器
<!--IRVR--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean>
2. 配置扫描组件
<context:component-scan base-package="io.zhangjia.springmvc" />
三. 配置请求分配器
在web.xml中配置请求分配器
<?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>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--配置SpringMVC配置文件的路径--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <!--在Web容器启动时完成初始化--> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
四. 测试
访问http://localhost:8888/sm/test,显示如下:
五. 总结
1. 使用SpringMVC来通过Servlet获取请求参数和转发指定jsp页面需要以下几个步骤
-
添加相关依赖
-
创建SpringMVC的配置文件
-
配置视图解析器(前缀、后缀)、(bean的class快捷输入:IRVR)
-
配置的扫描组件(包名)
-
配置web.xml(请求分配器:dispatcherServlet)
-
servlet标签(name、class、init-param)
-
servlet-mapping标签(name、url-Pattern)
2. 使用Controller
-
Controller类添加@Controller注解
-
用于处理请求的方法添加 @RequestMapping(“/请求参数名”)注解
-
用于处理请求的方法的return的内容为要转发的文件名,不包括文件后缀
请登录之后再进行评论