需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转。
开发步骤:
①导入SpringMVC相关坐标 (pom.xml)
②配置SpringMVC核心控制器DispathcerServlet (web.xml)
③创建Controller类和视图页面 (web.Controller)
④使用注解配置Controller类中业务方法的映射地址
⑤配置SpringMVC核心文件spring-mvc.xml(类似于applicationContext.xml)
⑥客户端发起请求测试
①导入SpringMVC相关坐标 (pom.xml)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
②配置SpringMVC核心控制器DispathcerServlet (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">
<display-name>Archetype Created Web Application</display-name>
<!-- 配置SpringMVC的前端控制器-->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:Spring-mvc.xml</param-value>
</init-param>
<!-- 默认是第一次访问时创建DispatcherServlet ,1 则代表服务器启动时加载DispatcherSrevlet-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
③创建Controller类和视图页面 (web.Controller , jsp)
Controller类
@Controller
public class UserController {
@RequestMapping("/quick")
public String save(){
System.out.println("Controller save running.....");
return "success.jsp";
}
}
视图页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>success</h1>
</body>
</html>
④使用注解配置Controller类中业务方法的映射地址
@RequestMapping("/quick")
public String save(){
System.out.println("Controller save running.....");
return "success.jsp";
}
⑤配置SpringMVC核心文件spring-mvc.xml(类似于applicationContext.xml)
进行组件扫描
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.itcast.controller"></context:component-scan>
</beans>
此外:
配置好后,还需要在web.xml中加载spring-mvc.xml文件,也即是第二步代码中的
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:Spring-mvc.xml</param-value>
</init-param>
到此才算完全配置好spring-mvc.xml 文件。
类似于监听器的配置,加载:
<!-- 配置监听器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 全局初始化参数-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
这是通过Spring容器进行加载的,对比之前做过自己写的监听器加载;
<!-- 配置监听器-->
<listener>
<listener-class>com.itcast.web.listener.ContextLoaderListener</listener-class>
</listener>
<!-- 全局初始化参数-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>applicationContext.xml</param-value>
</context-param>