摘要:本文将带你了解WEBAPP开发SpringMVC的三个XML(web.xml、application-context.xml、context-dispatcher.xml),希望本文对大家学WEBAPP有所帮助。
本文将带你了解WEBAPP开发SpringMVC的三个XML(web.xml、application-context.xml、context-dispatcher.xml),希望本文对大家学WEBAPP有所帮助。
现代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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号