SpringMVC是Spring的一个组件,所以我们在使用SpringMVC的时候也会使用到Spring

使用环境

  • JDK:1.8
  • Tomcat:9.0.3
  • spring:5.2.8
  • 编译器:IDEA2019

1、导包

需要引入Spring-web和Spring-webmvc两个包,可以到maven仓库里面去下载或者使用maven依赖

2、ApplicationContext.xml配置(Spring的核心配置文件)

  • ApplicationContext.xml文件需要放在WEB-INF下,并且需要把名字改为拦截的serlvet-name+ -Servlet,比如我这边的拦截名字为mvc,所以我需要把配置文件名改为mvc-Servlet.xml
  • 如果不放在WEB-INF下,需要在web.xml文件中进行路径配置(如下web.xml文件中的init-param标签配置)
  • 注意命名空间的问题
<?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"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- 开启spring注解驱动-->
     <context:component-scan base-package="com.cjh"/>
    <!-- 开启mvc注解驱动-->
     <mvc:annotation-driven></mvc:annotation-driven>
</beans>

3、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>mvc</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <init-param> <param-name>contextConfigLocation</param-name>
     <!-- 说明Spring核心配置文件的位置-->
     <param-value>classpath:ApplicationContext.xml</param-value>
     </init-param> </servlet> <servlet-mapping> <servlet-name>mvc</servlet-name>
     <url-pattern>*.do</url-pattern>
     </servlet-mapping>
</web-app>

4、java的实现

  • Controller类
@Controller
@RequestMapping("userController.do")
public class UserController {

     public UserController(){
         System.out.println("controller创建了");
     }
     @RequestMapping
     public void test(){
         System.out.println("controller:test方法执行了");
     }
 
}
  • index.jsp
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<html>
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>cai jin hong</title>
 <style>
 </style></head>
<body>
 <a href="userController.do">测试</a>
</body>
</html>
  • 请求和响应流程:

    • 当点击测试超链接时,浏览器向服务器发送userController.do的资源请求
    • 服务器接收到之后,找到类上面带有@RequestMapping("userController.do")注解的对象
    • 找到了之后,查找方法上面带有@RequestMapping("xxx")注解的方法

      • 如果只有一个方法,可以不用写名字,直接写RequestMapping
      • 如果有多个方法,需要注明方法名
    • 找到了之后,执行方法,并将处理信息响应回给浏览器(该代码中没有返回值)

本篇文章只讲了一下最基本的时候,下一篇文章会详细的说的SpringMVC请求和响应的处理!!!


cing_self
18 声望3 粉丝