[Spring实战系列](19)Servlet不同版本之间的区别
2016-04-06 17:32
786 查看
1. 2.3版本
2.3版本<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Servlet 2.3 Web Application</display-name> </web-app>
这个有个缺点:
The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?, context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*, welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*, login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)". eoso/WebRoot/WEB-INF
意思是说 web-app里的标签有一定的顺序。
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!--servlet--> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.qunar.fresh.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>AccessServlet</servlet-name> <servlet-class>com.qunar.fresh.servlet.AccessServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AccessServlet</servlet-name> <url-pattern>/a/*</url-pattern> </servlet-mapping> </web-app>
需改成:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!--servlet--> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.qunar.fresh.servlet.LoginServlet</servlet-class> </servlet> <servlet> <servlet-name>AccessServlet</servlet-name> <servlet-class>com.qunar.fresh.servlet.AccessServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login.do</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AccessServlet</servlet-name> <url-pattern>/a/*</url-pattern> </servlet-mapping> </web-app>
2. 2.4版本
2.4版本<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">[/code]
2.4以上版本即可解决上面问题。
但是2.4及以下版本会有一个问题:(多个url不能映射到同一个servlet)<servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/index</url-pattern> <url-pattern>/login</url-pattern> </servlet-mapping>
3. 2.5版本<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
2.5以上版本即可解决多个url不能映射到同一个servlet的问题。
4. 3.0版本<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <web-app> <display-name>Servlet 3.0 Web Application</display-name> </web-app>
Servlet3.0随J2EE6一起发布,web.xml配置文件中包含: 默认页配置、session超时配置和错误提示页配置。<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" > <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/500.jsp</location> </error-page> </web-app>
相关文章推荐
- JAVA JDBC--源自技术
- java高级程序设计(第四周)
- 浅谈Java中的反射机制
- SpringMVC入门
- eclipse下web开发中缓存问题
- Java之绘制方法
- 如何求最两个正整数的大公约数【java实现】
- 详解Java的MyBatis框架中SQL语句映射部分的编写
- Java 位运算(移位、位与、或、异或、非)
- Java集合容器类
- Spring集成log4j日志管理
- 在Eclipse中配置Teamcenter二次开发环境时候debug,Tteamcenter不能正常登录
- MyEclipse控制台中文输出乱码
- java 时间工具类
- 如何调优JVM - 优化Java虚拟机(大全+实例)
- 如何调优JVM - 优化Java虚拟机(大全+实例)
- This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.
- 浅谈spring 注解之@Autowired 与@Resource
- SpringMvc零碎小计
- java 压缩类使用 Deflater 和 Inflater