【SpringMVC】web.xml和spring_mvc.xml文件配置

1.web.xml

XML 复制代码
​
<web-app>
  <display-name>Archetype Created Web Application</display-name>

<!--  处理编码的过滤器-->
<filter>
  <filter-name>CharacterEncodingFilter</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>
  <init-param>
    <param-name>ForceEncoding</param-name>
    <param-value>true</param-value>
  </init-param>
</filter>
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
<!--  处理请求方法的过滤器-->
<filter>
  <filter-name>HiddenHttpMethodFilter</filter-name>
  <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
  <filter-mapping>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
<!--  前端控制器-->
  <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>

​

2.spring_mvc.xml

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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://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">

    <context:component-scan base-package="com.zh.springmvc.controller"></context:component-scan>

    <!-- 配置Thymeleaf视图解析器 -->
    <bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
        <property name="order" value="1"/>
        <property name="characterEncoding" value="UTF-8"/>
        <property name="templateEngine">
            <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
                <property name="templateResolver">
                    <bean
                            class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
                        <!-- 视图前缀 -->
                        <property name="prefix" value="/WEB-INF/templates/"/>
                        <!-- 视图后缀 -->
                        <property name="suffix" value=".html"/>
                        <property name="templateMode" value="HTML5"/>
                        <property name="characterEncoding" value="UTF-8" />
                    </bean>
                </property>
            </bean>
        </property>
    </bean>

        <!--配置默认的servlet处理静态资源
            当前工程的web.xml配置的前端控制器DispatcherServlet的url-pattren是/
            tomcat的web.xml配置的DefaultServlet的url-pattern也是/
            此时,浏览器发送的请求会优先被DispatcherServlet进行处理,但是DispatcherServlet无法处理静态资源
            若配置了   <mvc:default-servlet-handler/>和 <mvc:annotation-driven/>
            浏览器发送的请求会先被DispatcherServlet处理,无法处理再交给DefaultServlet处理
        -->
        <mvc:default-servlet-handler/>
    <!--
        视图控制器:为当前的请求直接设置视图名称实现页面跳转
        若设置视图控制器,则只有视图控制器所设置的请求会被处理,其他的请求将全部404
        此时必须有一个标签 <mvc:annotation-driven>
        path:设置处理的请求地址
        view-name:设置请求地址所对应的视图名称
    -->
    <!-- 开启mvc注解驱动 -->
    <!--
       处理静态资源,例如html、js、css、jpg
       若只设置该标签,则只能访问静态资源,其他请求则无法访问
       此时必须设置<mvc:annotation-driven/>解决问题
   -->
        <mvc:annotation-driven/>
        <mvc:view-controller path="/" view-name="index"></mvc:view-controller>



    <!-- 开启mvc注解驱动 -->
<!--    <mvc:annotation-driven>-->
<!--        <mvc:message-converters>-->
<!--            &lt;!&ndash; 处理响应中文内容乱码 &ndash;&gt;-->
<!--            <bean-->
<!--                    class="org.springframework.http.converter.StringHttpMessageConverter">-->
<!--                <property name="defaultCharset" value="UTF-8" />-->
<!--                <property name="supportedMediaTypes">-->
<!--                    <list>-->
<!--                        <value>text/html</value>-->
<!--                        <value>application/json</value>-->
<!--                    </list>-->
<!--                </property>-->
<!--            </bean>-->
<!--        </mvc:message-converters>-->
<!--    </mvc:annotation-driven>-->
</beans>
相关推荐
FrankYoou39 分钟前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
麦兜*1 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
KK溜了溜了1 小时前
JAVA-springboot 整合Redis
java·spring boot·redis
天河归来2 小时前
使用idea创建springboot单体项目
java·spring boot·intellij-idea
weixin_478689762 小时前
十大排序算法汇总
java·算法·排序算法
码荼2 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
IT_10242 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
ye903 小时前
银河麒麟V10服务器版 + openGuass + JDK +Tomcat
java·开发语言·tomcat
武昌库里写JAVA3 小时前
Oracle如何使用序列 Oracle序列使用教程
java·开发语言·spring boot·学习·课程设计
做题不NG4 小时前
大模型应用开发-LangChain4j
java