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">
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>
分享到:
相关推荐
在实际开发中,为了兼容不同Servlet容器,开发者通常会在项目的`WEB-INF/lib`目录下放置servlet-api.jar,但在使用Maven或Gradle等构建工具时,通常会将Servlet API作为依赖来管理,而不是直接包含在项目中。...
这个压缩包包含了两个版本的Servlet API,分别是1.5.0和1.7.0,它们都是针对Java Development Kit (JDK)的不同版本设计的。在这里,我们将深入探讨Servlet API的主要概念、功能以及这两个版本之间的差异。 Servlet...
#### 五、URL与URI的区别 - **URL**(Uniform Resource Locator):即统一资源定位符,用于标识互联网上资源的位置,由协议、服务器地址(含端口)和路径组成。例如,`http://www.example.com/path/to/resource`。 ...
本文将深入探讨Struts与Servlet之间的区别及其应用场景。 ##### 1.1 Struts简介 Struts是一种基于MVC(Model-View-Controller)设计模式的开源框架,它简化了Java Web应用程序的开发过程。Struts通过提供一系列...
Servlet 对象是由 Servlet 容器创建,Servlet 对象的 Service() 方法是由 Servlet 容器调用,Servlet 之间是不允许相互调用的(Servlet API 2.1 以前的版本可以)。但是,我们 又需要通过多个 Servlet 组件协调完成...
Apache Tomcat,作为一款广泛应用的开源Java Servlet容器,其不同版本之间的差异和技术特性对于开发者来说至关重要。本篇文章将聚焦于Tomcat 6、7、8三个版本,探讨它们在功能、性能以及兼容性上的变化,帮助读者更...
各个版本的Tomcat都有其特定的特性和改进,下面将详细介绍不同版本之间的主要区别。 **Apache Tomcat 9.x** Tomcat 9.x 是当前开发的重点,它基于Tomcat 8.0.x并实现了Servlet 4.0规范,同时支持JSP 2.4、EL 3.1和...
8. **请求转发和重定向**:两种不同的URL导航方式,笔记会区分它们的区别并给出示例。 9. **文件上传和下载**:在Web应用中,处理用户上传的文件以及提供文件下载功能是常见的需求。笔记可能会讲解如何使用Servlet...
这个压缩包“apache-tomcat-9.0.27-apache-tomcat-10.0.27.zip”包含了Apache Tomcat的两个不同版本,即9.0.27和10.0.27,这两个版本之间存在显著的区别和改进。 首先,Apache Tomcat 9.0.27是9.x系列的一个稳定...
Tomcat不同版本的区别 - **Tomcat 6**: 这个版本主要支持Servlet 2.5、JSP 2.1规范,是较早期的一个稳定版本。 - **Tomcat 7**: 支持Servlet 3.0规范,引入了许多新特性,如非阻塞I/O支持、过滤器链重组等。 - **...
Tomcat作为一款流行的Java应用服务器,其不同版本之间的区别在于支持的规范版本、新增特性等方面。选择合适的版本对于项目开发至关重要。无论是Tomcat 7还是Tomcat 8,都能够满足大多数Web应用的需求。希望本文能够...
Tomcat 6.0 和 7.0 是两个不同版本的Tomcat,它们在功能、性能和兼容性上都有所区别。本文将深入探讨这两个版本之间的差异,以及如何从6.0升级到7.0。 【主要知识点】: 1. **版本概述**: - **Tomcat 6.0**:...
它们都支持不同级别的JavaEE规范,其中Tomcat是最轻量级的,主要支持Servlet和JSP,适合中小型项目。而WebLogic和WebSphere提供全面的JavaEE支持,适合大型企业应用。 【Tomcat的版本与JDK、Servlet/JSP的关系】 ...
### Hashtable与HashMap的区别 在Java编程语言中,`Hashtable`和`HashMap`是两种非常重要的数据结构,它们都属于`Map`接口...同时,MVC模式、SQL查询语言的不同以及JSP与Servlet的关系也是开发者应该了解的重要概念。
初学者可能会对这两者感到困惑,不清楚它们之间到底有何区别。本文将深入探讨`java`与`javax`的不同之处及其应用场景。 #### Java概述 `java`通常指的是Java标准版(Java Standard Edition, Java SE)中的核心类库...
- **关于 Tomcat 6 与 Tomcat 7 的区别**:这可能与项目中使用的其他技术组件兼容性有关,需要注意不同版本之间的差异。 - **关于 JSF 1.2 的整合**:WebLogic 10 默认支持 JSF 1.2 的 myfaces 实现版本 1.1,需要...
### 各种开发语言之间的区别 #### ASP (Active Server Pages) - **定义与特性**:ASP是一种服务器端脚本环境,用以创建动态网页。它最初由微软开发,旨在为Web开发者提供一种易于使用的工具来构建动态网站。与传统...
Java面试题涵盖了许多核心概念,包括Servlet的生命周期、JSP与Servlet的区别、HTTP协议的理解、JavaBean的使用以及Web应用的配置元素等。以下是对这些知识点的详细解释: 1. **Servlet生命周期**: - 类的加载:当...