WEBAPP开发SpringMVC的三个XML(web.xml、application-context.xml、context-dispatcher.xml)
白羽 2019-03-05 来源 :网络 阅读 1590 评论 0

摘要:本文将带你了解WEBAPP开发SpringMVC的三个XML(web.xml、application-context.xml、context-dispatcher.xml),希望本文对大家学WEBAPP有所帮助。

    本文将带你了解WEBAPP开发SpringMVC的三个XML(web.xml、application-context.xml、context-dispatcher.xml),希望本文对大家学WEBAPP有所帮助。

WEBAPP开发SpringMVC的三个XML(web.xml、application-context.xml、context-dispatcher.xml)

现代Web应用程序广泛使用MVC(model、view、controller,记得在专升本的考试中还考过这个定义,当时并不能使用流畅的语言解释)模式,那么SpringMVC就恰好可以轻松帮我们搭建一个Web开发环境。而要搭好开发环境,熟知SpringMVC的三个XML(web.xml、application-context.xml、context-dispatcher.xml)就显得必不可少。而我呢,虽然前前后后左左右右也大见过三次Web框架,但每次都纠结的要了老命,那么痛定思痛,我决定下功夫把三个XML给搞得有条理些。

不过呢,作为一个软件开发的全栈工程师(自黑不是自夸,身为创业团队的负责人,打杂工的角色我就只能勉为其难),对于三个XML的见解只停留在认知的层面,整篇文章的叙述难免有不专业的地方,各位光临的朋友尽管指摘,我将虚心接受。

ps:

搭建环境参照的代码为dwz的企业级组件

所涵盖的知识点多为网上资源总结

参考了《SpringMVC学习指南》、《Spring实战》等等

那么陈述完自己的心路旅程后,我们言(键盘)归正传,开始详细的介绍三个XML。

一、web.xml

①、xml内容

<?xml version="1.0"   encoding="UTF-8"?><web-app xmlns:xsi="//www.w3.org/2001/XMLSchema-instance" xmlns="//java.sun.com/xml/ns/javaee" xsi:schemaLocation="//java.sun.com/xml/ns/javaee   //java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">    <display-name>ymeng</display-name>      <context-param>          <param-name>contextConfigLocation</param-name>          <param-value>classpath:application-context.xml</param-value>      </context-param>      <!--   set character encoding spring -->      <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>sessionValidate</filter-name>          <filter-class>              com.honzh.common.filter.SessionValidateFilter        </filter-class>        <init-param>              <param-name>uri</param-name>              <param-value>/deal/</param-value>          </init-param>          <init-param>              <param-name>loginUrl</param-name>              <param-value>/login</param-value>          </init-param>          <init-param>              <param-name>backToUrl</param-name>              <param-value>/</param-value>          </init-param>          <init-param>              <param-name>debug</param-name>              <param-value>true</param-value>          </init-param>      </filter>      <!-- 把需要进行check登陆的请求放到此处   -->    <filter-mapping>        <filter-name>sessionValidate</filter-name>          <url-pattern>/deal/*</url-pattern>      </filter-mapping>    <listener>          <listener-class>              org.springframework.web.context.ContextLoaderListener        </listener-class>      </listener>      <servlet>          <servlet-name>web-app</servlet-name>          <servlet-class>              org.springframework.web.servlet.DispatcherServlet        </servlet-class>          <init-param>              <param-name>contextConfigLocation</param-name>              <param-value>classpath:context-dispatcher.xml</param-value>          </init-param>          <!-- 使系统在启动时装在servlet而不是第一个servlet被访问   -->        <load-on-startup>1</load-on-startup>      </servlet>      <servlet-mapping>          <servlet-name>web-app</servlet-name>          <url-pattern>/</url-pattern>      </servlet-mapping>    <!-- 配置session过期时间120分钟   -->    <session-config>            <session-timeout>120</session-timeout>        </session-config>      <error-page>          <error-code>404</error-code>          <location>/404.jsp</location>      </error-page></web-app>

②、重点内容介绍

1、contextConfigLocation

<context-param>      <param-name>contextConfigLocation</param-name>      <param-value>classpath:application-context.xml</param-value></context-param><listener>      <listener-class>        org.springframework.web.context.ContextLoaderListener    </listener-class></listener>

指定web项目从项目的src路径下加载application-context.xml,这是springMVC所必不可少的配置项,classpath前缀指定xml的路径在src下,这是我所喜爱的方式。

通过ContextLoaderListener自动装配ApplicationContext的配置信息,这里可以参照Spring中的ContextLoaderListener使用。

2、characterEncodingFilter

关于字符集过滤器,就无需多言,从xml配置上就可以看得出来,其作用就是为了防止乱码,当然最开始在接触struts2的时候,被中文乱码困扰的心里都有了挫败感,但springMVC轻轻松松搞定了这个烦恼。

配置的方式基本固定如下:

<!-- set character encoding spring   --><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>

当然了,如果你还有更多的兴趣,可以参照  
Spring字符集过滤器CharacterEncodingFilter

3、sessionValidate

sessi    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之WebApp频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程