zoukankan      html  css  js  c++  java
  • SpringMVC项目学习1_web.xml

    最近接触的所有项目都是SpringMVC+ajax的项目,因此以一个项目为例学习下。

    --------------------------------------------------------------------------------------------------------------

    首先看web.xml

     <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
         /WEB-INF/applicationContext-*.xml
        </param-value>
     </context-param>

    这一段代码干了什么我不清楚,但是他的作用明显是导入了项目中的xml文件,而且导入的文件是匹配applicationContext-*.xml格式的文件。

    --------------------------------------------------------------------------------------------------------------

    继续向下看

     <filter>
      <filter-name>encodingFilter</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>encodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>

    filter是过滤器,encoding是和编码相关的所以猜测是为项目统一编码格式的作用,百度了一下,确实如此:

    通过类org.springframework.web.filter.CharacterEncodingFilter,定义request和response的编码。

    CharacterEncodingFilter类具有encoding和forceEncoding两个属性,其中encoding是表示设置request的编码,forceEncoding表示是否同时设置response的编码。

    --------------------------------------------------------------------------------------------------------------

    继续

     <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>/</url-pattern>
     </servlet-mapping>

      <filter-mapping>
      <filter-name>HttpMethodFilter</filter-name>
      <servlet-name>springmvc</servlet-name>
     </filter-mapping>

     <filter>
      <filter-name>HttpMethodFilter</filter-name>
      <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
     </filter>

    这一段也是过滤器,过滤什么不清楚,所以来baidu下,得到如下结果:

      可以通过HiddenHttpMethodFilter获取put表单中的参数-值,而在Spring3.0中获取put表单的参数-值还有另一种方法,即使用HttpPutFormContentFilter过滤器。HttpPutFormContentFilter过滤器的作为就是获取put表单的值,并将之传递到Controller中标注了method为RequestMethod.put的方法中。

      对于SSH框架中的Spring来说最为著名的就是依赖注入功能,显然对于SpringMVC来说,由前台向后台传递数据不再像之前那样加个get,set方法就OK了。SpringMVC采用的是这种过滤器的方式将前台form表单中的数据注入到后台相应的变量中。

    --------------------------------------------------------------------------------------------------------------

    最后来看监听器的配置

    <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>

    显然不是以前常用的监听器,baidu下,结果如下:

      ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。

      显然之前看到的导入项目中匹配applicationContext-*.xml格式的xml文件就是由这个监听器作用的结果了。

  • 相关阅读:
    一个Windows的对话框
    怎样用Javascript定义一个类
    WPF 开源UI框架
    企业级系统的认证与授权设计
    MVC (ModelBinder等)技巧
    oracle 调用存储过程和方法
    WPF相关文章索引 (持续更新中)
    当文件操作遇上进程占用时
    每位设计师都应该拥有的50个CSS代码片段
    wpf 复制/剪切到本地系统剪切板中以供右键粘贴用
  • 原文地址:https://www.cnblogs.com/sm21312/p/3941038.html
Copyright © 2011-2022 走看看