SpringMVC初探01
程序员文章站
2022-05-03 09:59:42
1.SpringMVC的重要组件1.1DispatcherServlet:前端控制器,接收所有请求(如果配置“/”则不包含jsp)1.2HandlerMapping:解析请求格式,判断希望要执行哪个具体的方法1.3HandlerAdapter:负责调用具体的方法1.4ViewResovler:视图解析器,解析结果,准备跳转到具体的物理视图2.springMVC运行原理图3springMVC环境搭建1.导入jar包2.在web.xml中配置前端控制器DispatcherServlet2....
1.SpringMVC的重要组件
1.1DispatcherServlet:前端控制器,接收所有请求(如果配置“/”则不包含jsp)
1.2HandlerMapping:解析请求格式,判断希望要执行哪个具体的方法
1.3HandlerAdapter:负责调用具体的方法
1.4ViewResovler:视图解析器,解析结果,准备跳转到具体的物理视图
2.springMVC运行原理图
3springMVC环境搭建
1.导入jar包
2.在web.xml中配置前端控制器DispatcherServlet
2.1如果不配置tomcat会在/WEB-INF下找
-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1"
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_3_1.xsd">
<!--第一步导入相关jar包 第二步配置前端控制器 -->
<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.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>
3.在src下新建springmvc.xml
3.引入类的命名空间和属性的命名空间
<?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
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
">
<!-- 使用注解第一步,扫描注解<context:component-scan base-package="有注解的包"></context:component-scan> -->
<context:component-scan base-package="com.mywolf.controller"></context:component-scan>
<!-- 配置springMVC的注解驱动 -->
<!-- 包含了handlermapping(org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping)
和handleradapter(org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter) -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 下一步写个控制器试一下 -->
<!-- 补充::对静态资源的放行:对于图片,js等静态资源的请求 ,让其向指定的文件夹去寻找,例如在浏览器输入images/my.jpg时,查看其效果-->
<mvc:resources location="/js/" mapping="/js/**"></mvc:resources>
<mvc:resources location="/images/" mapping="/images/**"></mvc:resources>
<mvc:resources location="/css/" mapping="/css/**"></mvc:resources>
</beans>
4.编写控制器类
package com.mywolf.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//这个标签指明这是一个控制器
@Controller
public class CustomController {
@RequestMapping("function")//匹配浏览器请求为/function的请求
public String function() {
return "/main.jsp";
}
@RequestMapping("todemo")//说明这个函数是处理浏览器/todemo的请求的
public String demo() {
return "/demo.jsp";
}
}
5.字符编码过滤器
在web.xml中配置过滤器
<!-- 配置字符编码过滤器,解决中文乱码的问题这是spring-web下自带的一个过滤器 -->
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param><!-- 给参数赋值 -->
<param-name>encoding</param-name><!-- 参数名 -->
<param-value>utf-8</param-value><!-- 给参数赋的值 -->
</init-param>
</filter>
<filter-mapping><!-- 配置过滤器处理什么请求 -->
<filter-name>encoding</filter-name><!-- 哪个过滤器 -->
<url-pattern>/*</url-pattern><!-- 过滤哪些请求/*所有请求 -->
</filter-mapping>
本文地址:https://blog.csdn.net/hui1097/article/details/109823720