SpringMVC的web.xml配置和post乱码问题解决

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>
        <!-- 自定义springmvc读取配置文件的位置 -->
        <init-param>
            <!--      springmvc的配置文件的位置的属性      -->
            <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>mvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <!--  过滤器 解决乱码问题  -->
    <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>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <!--   /*:表示强制所有的请求先通过过滤器处理     -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

注册中央调度器  

 该中央调度器为一个 Servlet,名称为 DispatcherServlet ,中央调度器的全限定性类名在 导入的 Jar文件 spring-webmvc-5.2.5.RELEASE.jar 的第一个包 org.springframework.web.servlet 下可找到。 
 

<servlet>
   <servlet-name>mvc</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <!-- 自定义springmvc读取配置文件的位置 -->
        <init-param>
          <!--  springmvc的配置文件的位置的属性 -->
         <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>mvc</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

web.xml学习 ,核心对象DispatherServlet,需要在tomcat服务器启动后,就创建DispatcherServlet对象实例

为什么要创建DispatcherServlet对象实例?

     因为DispatcherServlet在他创建过程中,会同时创建springmvc容器对象,读取springmvc的配置文件,把这个配置文件中的对象都创建好,当用户发起请求

就类似一下情况

DispatherServlet在init()中{
     //创建容器,读取配置文件
 WebApplicationContext ac = new ClassPathXmlApplicationContext("springmvc.xml");
    //把容器对象放入ServletContext中
     getServletContext().setAttribute(key,ac);
}

1) <load-on-startup/> 

      在tomcat启动后,创建servlet对象

      load-on-startup:表示tomcat启动后创建对象的顺序,它的值是整数,数值越小,tomcat创建对象的时间越早

      在<servlet/>中添加<load-on-startup/>的作用是,标记是否在Web服务器(这里是Tomcat) 启动时会创建这个 Servlet 实例

     <load-on-startup>1</load-on-startup>

 2) <url-pattern/> 

     对于<url-pattern/>,可以写为 / ,建议写为*.do 的形式。 

 3)配置文件位置与名称 

注册完毕后,可直接在服务器上发布运行。此时,访问浏览器页面,控制台均会抛出 FileNotFoundException 异常。即默认要从项目根下的WEB-INF目录下找名称为Servlet 名称servlet.xml 的配置文件。这里的“Servlet 名称”指的是注册中央调度器<servlet-name/>标签 中指定的 Servlet 的 name 值

post是有乱码问题解决

在web.xml中进行配置

<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>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值