web.xml配置详解
- 格式:pdf
- 大小:271.46 KB
- 文档页数:3
Tomcatweb.xml详解Tomcat加载顺序加载类和资源的顺序为:1、/Web-INF/classes2、/Web-INF/lib/*.jar3、Bootstrap4、System5、$CATALINA_HOME/common/classes6、$CATALINA_HOME/common/endores/*.jar7、$CATALINA_HOME/common/lib/*.jar8、$CATALINA_HOME/shared/classes9、$CATALINA_HOME/shared/lib/*.jar两个web配置⽂件Servlet定义的时候,我发现在${catalina.home}/conf下以及${catalina.home}/webapps/ROOT/WEB_INF下都有web.xml这个⽂件。
web.xml的⽂件格式定义在Servlet规范中,因此所有符合Servlet规范的Java Servlet Container都会⽤到它。
当tomcat部署应⽤程序时(在激活过程中,或加载应⽤程序后),它都会读取通⽤的conf/web.xml,然后再读取web应⽤程序中的WEB-INF/web.xml。
其实根据他们的位置,我们就可以知道,conf/web.xml⽂件中的设定会应⽤于所有的web应⽤程序,⽽某些web应⽤程序的WEB-INF/web.xml中的设定只应⽤于该应⽤程序本⾝。
如果没有WEB-INF/web.xml⽂件,tomcat会输出找不到的消息,但仍然会部署并使⽤web应⽤程序,servlet规范的作者想要实现⼀种能迅速并简易设定新范围的⽅法,以⽤作测试,因此,这个web.xml并不是必要的,不过通常最好还是让每⼀个上线的web应⽤程序都有⼀个⾃⼰的WEB-INF/web.xml。
系统web.xml详解<?xml version="1.0" encoding="GB2312"?><!--Web.xml依次定议了如下元素:<web-app><display-name></display-name> 定义了WEB应⽤的名字<description></description> 声明WEB应⽤的描述信息<filter></filter><filter-mapping></filter-mapping><servlet></servlet><servlet-mapping></servlet-mapping><session-config></session-config><welcome-file-list></welcome-file-list><taglib></taglib><resource-ref></resource-ref><security-constraint></security-constraint><login-config></login-config></web-app>在web.xml中元素定义的先后顺序不能颠倒,否则Tomcat服务器可能会抛出SAXParseException.--><!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN" "/dtd/web-app_2_3.dtd"><web-app><display-name>Sample Application</display-name><description>This is a Sample Application</description><!--filter 配置Servlet过滤器filter-name 定义过滤器的名字。
web.xml的初始化参数web.xml的初始化参数---------⾸先声明,这⾥所介绍的是web中context-param,init-param参数的初始化配置-------------------------------------------------------------------------------------------------------------⼀、初始化参数 web.xml⾥⾯可以定义两种参数: (1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下: <context-param><param-name>context/param</param-name><param-value>avalible during application</param-value></context-param> (2)servlet范围内的参数,只能在servlet的init()⽅法中取得,在web.xml中配置如下:<servlet><servlet-name>MainServlet</servlet-name><servlet-class>cn.jbit.controller.MainServlet</servlet-class><init-param><param-name>param1</param-name><param-value>avalible in servlet init()</param-value></init-param><load-on-startup>0</load-on-startup></servlet>在servlet中可以通过代码分别取⽤:package cn.jbit.controller;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;public class MainServlet extends HttpServlet {public MainServlet() {super();}public void init() throws ServletException {System.out.println("下⾯的参数是存放在servletcontext中的");System.out.println(getServletContext().getInitParameter("context/param"));System.out.println("下⾯的两个参数param1是在servlet中存放的");System.out.println(this.getInitParameter("param1"));}}第⼀种参数在servlet⾥⾯可以通过getServletContext().getInitParameter("context/param")得到第⼆种参数只能在servlet的init()⽅法中通过this.getInitParameter("param1")取---------------------------------------------------------------------------------------------------------------------------------------⼆、初始化参数获<!--application 模式--><context-param><param-name>count</param-name><param-value>1200</param-value></context-param><!--servlet--><servlet><description>loginServlet</description><display-name>loginServlet</display-name><servlet-name>loginServlet</servlet-name><servlet-class>loginServlet</servlet-class> <!--servlet 初始化时 init()--> <init-param><description>系统初始化数</description><param-name>num</param-name><param-value>100</param-value></init-param></servlet><servlet-mapping><servlet-name>loginServlet</servlet-name><url-pattern>/loginServlet</url-pattern></servlet-mapping>在servlet中获取参数的⽅法以及异同:response.setCharacterEncoding("gb2312");System.out.println("getServletContext():"+getServletContext());ServletContext context=getServletConfig().getServletContext();String num=context.getInitParameter("num");// <init-param> 获取不到值String count=context.getInitParameter("count");//<context-param> 获取到值System.out.println("num:"+num);//nullSystem.out.println("count:"+count);//1200System.out.println("num:"+getServletConfig().getInitParameter("num"));//100获取到值System.out.println("count:"+getServletConfig().getInitParameter("count"));//null获取不到值。
web.xml中welcome-file-list配置转原⽹址找不到了<welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>index.action</welcome-file></welcome-file-list>今天我遇到了⼀个问题,就是直接输⼊localhost:8080/不是跳转到index.html,⽽是报404找不到的错误,根据错误信息看明显是没有跳转到index.html,意思就是说welcome-file-list根本就⽊有起作⽤。
解决问题⼀定要从原理⼊⼿,所以要先分析welcome-file-list是怎么⼯作的。
welcome-file-list的⼯作原理是,按照welcome-file的.list⼀个⼀个去检查是否web⽬录下⾯存在这个⽂件,如果存在,继续下⾯的⼯作(或者跳转到index.html页⾯,或者配置有struts的,会直接struts的过滤⼯作).如上例,先去webcontent(这⾥是Eclipse的⼯程⽬录根⽬录)下是否真的存在index.html这个⽂件,如果不存在去找是否存在index.jsp这个⽂件,以此类推。
还要说的是welcome-file不⼀定是html或者jsp等⽂件,也可以是直接访问⼀个action。
就像我上⾯配置的⼀样,但要注意的是,⼀定要在webcontent下⾯建⽴⼀个index.action的空⽂件,然后使⽤struts配置去跳转,不然web找不到index.action这个⽂件,会报404错误,原因就是我之前说的那样。
如果配置了servlet的url-pattern是/*,那么访问localhost:8080/会匹配到该servlet上,⽽不是匹配welcome-file-list;如果url-pattern是/(该servlet即为默认servlet),如果其他匹配模式都没有匹配到,则会匹配welcome-file-list。
一、介绍servlet在web.xml中的配置方法Servlet是Java编写的服务器端程序,它可以响应客户端的请求并生成动态内容。
在Java Web开发中,通常会使用Servlet来处理用户的请求并生成响应。
而在配置Servlet时,web.xml文件是一个重要的配置文件,其中包含了Servlet的配置信息。
本文将介绍Servlet在web.xml中的配置方法。
二、创建Servlet类在配置Servlet之前,首先需要创建一个Servlet类。
可以通过继承javax.servlet.网络协议.HttpServlet类来创建Servlet类,该类必须实现doGet()或doPost()方法来处理请求。
下面是一个简单的Servlet 类的代码:```javaimport javax.servlet.网络协议.HttpServlet;import javax.servlet.网络协议.HttpServletRequest;import javax.servlet.网络协议.HttpServletResponse;public class HelloWorldServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) {//处理GET请求的逻辑}protected void doPost(HttpServletRequest request, HttpServletResponse response) {//处理POST请求的逻辑}}```三、在web.xml中配置Servlet在web.xml文件中使用<servlet>和<servlet-mapping>元素来配置Servlet。
首先在<servlet>元素中指定Servlet的名称和Servlet类的完整路径,例如:```xml<servlet><servlet-name>HelloWorldServlet</servlet-name><servlet-class.example.HelloWorldServlet</servlet-class></servlet>```其中,<servlet-name>用于标识Servlet的名称,<servlet-class>指定了Servlet类的完整路径。
web.xml详解我们都知web项⽬的运⾏,通常会⾸先加载web.xml⽂件,但却对web.xml⽂件知之甚少,今天就来揭开它的⾯纱,⼀睹它的真容!⼀.web.xml是什么?web.xml是web项⽬的配置⽂件,⼀般的web⼯程都会⽤到web.xml来配置,主要⽤来配置Listener,Filter,Servlet等。
但需要注意的是:web.xml并不是必须的,⼀个web⼯程可以没有web.xml⽂件⼆.web项⽬加载web.xml过程Tomcat启动web项⽬时,web容器就会的加载⾸先加载web.xml⽂件,加载过程如下:1.web项⽬加载web.xml,读取context-param和listener这两个结点,2.创建⼀个ServletContext(Servlet上下⽂),整个项⽬会共享这个ServletContext3.容器将<context-param>转换为键值对,并交给ServletContext4.容器创建<listener>中的类实例,创建监听器三.web.xml元素详解⾸先是表明xml的使⽤版本。
<?xml version="1.0" encoding="UTF-8"?>web-app是web.xml的根元素,包含着web.xml所有⼦元素。
xmlns以及xmlns:xsi后⾯引进的连接是表明web.xml引进的模式⽂件,便能拥有该模式的相关功能。
<web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_1.xsd"version="3.1"></web-app>指明项⽬名称<display-name>web-SSMTest</display-name>web项⽬加载web.xml⾸先读取这两个结点,加载spring容器及创建spring监听器;ApplicationContext.xml 是spring 全局配置⽂件,⽤来控制spring 特性的ContextLoaderListener的作⽤就是启动Web容器时,⾃动装配ApplicationContext的配置信息。
webservice xml参数WebService是一种基于XML的远程调用协议,通过使用XML来描述和传递数据,实现跨平台和跨语言的通信。
本文将详细介绍WebService中的XML参数,并探讨其在实际应用中的使用。
一、XML参数的概念和作用在WebService中,XML参数指的是通过XML格式传递的数据。
XML (可扩展标记语言)是一种用于描述数据的标记语言,具有自我描述性和可扩展性的特点。
通过使用XML参数,可以在不同的平台和语言之间传递和解析数据,实现应用程序之间的数据交换。
XML参数在WebService中起到了至关重要的作用。
它可以实现不同系统之间的数据传递和交互,使得系统之间可以进行有效的通信和协作。
通过使用XML参数,可以将复杂的数据结构进行序列化和反序列化,方便数据的传输和解析。
同时,XML参数还可以定义数据的结构和类型,确保数据的准确性和完整性。
二、XML参数的使用方法在WebService中,使用XML参数可以通过以下几个步骤来实现:1. 定义XML参数的结构和类型:首先,需要定义XML参数的结构和类型。
可以使用XML Schema语言来定义参数的结构和约束条件,确保数据的一致性和有效性。
2. 序列化参数数据:将需要传递的数据按照XML参数的结构进行序列化。
可以使用编程语言提供的XML序列化工具,将数据转换为符合XML参数结构的XML文档。
3. 传递XML参数:将序列化后的XML参数通过WebService的调用进行传递。
可以使用SOAP协议来封装和传输XML参数,确保数据的安全性和完整性。
4. 解析XML参数:在接收端,需要对传递过来的XML参数进行解析。
可以使用编程语言提供的XML解析工具,将XML文档转换为内存中的数据结构,方便后续的处理和操作。
三、XML参数的优势和应用场景XML参数作为WebService中常用的数据传递方式,具有以下几个优势:1. 跨平台和跨语言:XML参数可以在不同的平台和语言之间进行传递和解析,实现系统之间的互通。
Struts2讲义(1):web.xml配置在现在开发的Web项目中,大家都是使用web.xml来实现MVC框架的应用。
既然Struts2也属于MVC 框架,因此在web.xml中必定要配置Struts2用以实现应用。
技术要点本节代码说明Struts2基本配置。
1、如何加载FilterDispatcher过滤器。
2、如何使用FilterDispatcher过滤器拦截URL。
演示代码Java 代码1.<!--------------------------------------- 文件名: web.xml-------------------------------->2.<?xml version="1.0" encoding="GB2312"?>3.<web-app xmlns=/xml/ns/j2ee4. xmlns:xsi=/2001/XMLSchema-instance5. version="2.4"6.xsi:schemaLocation="/xml/ns/j2ee7./xml/ns/j2ee/web-app_2_4.xsd">8. <filter>9. <!-- 过滤器名字 -->10. <filter-name>struts2</filter-name>11. <!-- 过滤器支持的struts2类 -->12. <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>13. </filter>14.15. <filter-mapping>16. <!-- 过滤器拦截名字 -->17. <filter-name>struts2</filter-name>18. <!-- 过滤器拦截文件路径名字 -->19. <url-pattern>/*</url-pattern>20. </filter-mapping>21. <welcome-file-list>22. <welcome-file>index.jsp</welcome-file>23. </welcome-file-list>24.</web-app>代码解释(1)在Struts1中web.xml中对它的加载都是加载一个Servlet,但是在Struts2中,因为设计者为了实现AOP(面向方面编程)概念,因此是用filter来实现的。
WebService核⼼⽂件【server-config.wsdd】详解及调⽤⽰例 WebService核⼼⽂件【server-config.wsdd】详解及调⽤⽰例作者:Vashon⼀、准备⼯作导⼊需要的jar包:⼆、配置web.xml在web⼯程的web.xml中添加如下配置:[html]1. <servlet>2. <servlet-name>AxisServlet</servlet-name>3. <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>4. <load-on-startup>15</load-on-startup>5. </servlet>6. <servlet-mapping>7. <servlet-name>AxisServlet</servlet-name>8. <url-pattern>/services/*</url-pattern>9. </servlet-mapping>三、配置server-config.wsdd⽂件在WEB-INF下添加WebService核⼼⽂件server-config.wsdd:[html]1. <?xml version="1.0" encoding="UTF-8"?>2. <deployment xmlns="/axis/wsdd/"3. xmlns:java="/axis/wsdd/providers/java">4. <globalConfiguration>5. <!-- 变量设定 -->6. <parameter name="sendMultiRefs" value="true" />7. <parameter name="disablePrettyXML" value="true" />8. <parameter name="adminPassword" value="admin" />9. <parameter name="attachments.Directory"10. value="D:\myproject\calileo\xxx\WebContent\WEB-INF\attachments" />11. <parameter name="dotNetSoapEncFix" value="true" />12. <parameter name="enableNamespacePrefixOptimization" value="true" />13. <parameter name="sendXMLDeclaration" value="true" />14. <parameter name="attachments.implementation"15. value="org.apache.axis.attachments.AttachmentsImpl" />16. <parameter name="sendXsiTypes" value="true" />17. <requestFlow>18. <handler type="java:org.apache.axis.handlers.JWSHandler">19. <parameter name="scope" value="session" />20. </handler>21. <handler type="java:org.apache.axis.handlers.JWSHandler">22. <parameter name="scope" value="request" />23. <parameter name="extension" value=".jwr" />24. </handler>25. </requestFlow>26. </globalConfiguration>27. <handler name="LocalResponder"28. type="java:org.apache.axis.transport.local.LocalResponder" />29. <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />30. <handler name="Authenticate"31. type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />32.33. <!-- 核⼼重点:服务发布,name:表⽰发布的service名 -->34. <service name="SjrkkService" provider="java:RPC">35. <!-- 发布的service接⼝类 -->36. <parameter name="className" value="com.xxx.ws.SjrkkService" />37. </service>38.39. <transport name="http">40. <requestFlow>41. <handler type="URLMapper" />42. <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />43. </requestFlow>44. <parameter name="qs:list"45. value="org.apache.axis.transport.http.QSListHandler" />46. <parameter name="qs:wsdl"47. value="org.apache.axis.transport.http.QSWSDLHandler" />48. <parameter name="qs.list"49. value="org.apache.axis.transport.http.QSListHandler" />50. <parameter name="qs.method"51. value="org.apache.axis.transport.http.QSMethodHandler" />52. <parameter name="qs:method"53. value="org.apache.axis.transport.http.QSMethodHandler" />54. <parameter name="qs.wsdl"55. value="org.apache.axis.transport.http.QSWSDLHandler" />56. </transport>57. <transport name="local">58. <responseFlow>59. <handler type="LocalResponder" />60. </responseFlow>61. </transport>62. </deployment>四、测试WSDL五、调WebService[java]1. /**2. * 调⽤webservice的⽅法.3. * @param url wsdl链接4. * @param method 调⽤的接⼝5. * @param idCard 传⼊的参数6. * @return7. * @throws Exception8. */9. private String getWebServiceResult( String url, String method, String idCard) throws Exception{10. String rtnXml = null;11. try {12. String endpoint = url;13. Service service = new Service();14. Call call = (Call) service.createCall();15.16. call.setTargetEndpointAddress(new .URL(endpoint));17. call.setOperationName(method);18.19. rtnXml = (String) call.invoke(new Object[]{idCard});20.21.22. } catch (Exception e) {23. e.printStackTrace();24. }25. return rtnXml;26. }备注:调⽤结果就不演⽰了,到这⾥读者应该明⽩是怎么调了。
web.xml⽂件配置详解以及实例说明1、web.xml学名叫部署描述符⽂件,是在Servlet规范中定义的,是web应⽤的配置⽂件。
2、部署描述符⽂件就像所有XML⽂件⼀样,必须以⼀个XML头开始。
这个头声明可以使⽤的XML版本并给出⽂件的字符编码。
DOCYTPE 声明必须⽴即出现在此头之后。
这个声明告诉服务器适⽤的servlet规范的版本(如2.2或2.3)并指定管理此⽂件其余部分内容的语法的DTD(Document Type Definition,⽂档类型定义)。
所有部署描述符⽂件的顶层(根)元素为web-app。
请注意,XML元素不像HTML,他们是⼤⼩写敏感的。
因此,web-App和WEB-APP都是不合法的,web-app必须⽤⼩写。
web.xml样例:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application //EN" "/dtd/web-app_2_3.dtd"><web-app></web-app>3、web.xml中XML 元素不仅是⼤⼩写敏感的,⽽且它们还对出现在其他元素中的次序敏感。
例如,XML头必须是⽂件中的第⼀项,DOCTYPE声明必须是第⼆项,⽽web- app元素必须是第三项。
在web-app元素内,元素的次序也很重要。
服务器不⼀定强制要求这种次序,但它们允许(实际上有些服务器就是这样做的)完全拒绝执⾏含有次序不正确的元素的Web应⽤。
这表⽰使⽤⾮标准元素次序的web.xml⽂件是不可移植的。
元素顺序列表:元素标签详解:元素1:<icon>含义icon元素包含small-icon和large-icon两个⼦元素.⽤来指定web站台中⼩图标和⼤图标的路径.<small-icon>/路径/smallicon.gif</small-icon>small-icon元素应指向web站台中某个⼩图标的路径,⼤⼩为16 X 16 pixel,但是图象⽂件必须为GIF或JPEG格式,扩展名必须为:.gif或.jpg.<large-icon>/路径/largeicon-jpg</large-icon>large-icon元素应指向web站台中某个⼤图表路径,⼤⼩为32 X 32 pixel,但是图象⽂件必须为GIF或JPEG的格式,扩展名必须为; gif或jpg.范例<icon><small-icon>/images/small.gif</small-icon><large-icon>/images/large.gif</large-icon></icon>元素2、3:<display-name>,<description>含义<display-name>应⽤名称</display-name>定义应⽤的名称。
文章标题:深入探讨webservice xml参数组装与解析1. 前言在当今信息技术日新月异的时代,web服务已成为各行业间数据交换和信息共享的关键方式。
webservice作为一种基于XML的远程调用协议,其参数的组装与解析对于系统间的通信至关重要。
本文将深入探讨webservice中XML参数的组装与解析,帮助读者更全面地理解这一关键技术。
2. XML参数的组装在webservice中,XML参数的组装是实现远程调用的基础。
我们需要明确webservice中参数的传递方式,通常使用SOAP协议。
在SOAP协议中,参数以XML格式进行组装,而XML具有良好的可扩展性和通用性,使得参数的组装非常灵活。
对于参数的组装,我们需要关注以下几个方面:- 根据webservice的WSDL文件,确定方法的输入参数类型和结构。
- 根据参数类型和结构,在客户端代码中构建对应的XML格式的参数。
- 使用合适的工具或库,将参数组装成符合要求的XML格式。
3. XML参数的解析一旦参数被远程调用传递到了服务端,就需要对XML参数进行解析。
在解析过程中,我们需关注以下几个方面:- 能否正常解析各种类型的XML参数。
- 是否能够处理XML参数中的各种嵌套结构。
- 能否根据WSDL文件中定义的参数类型进行正确的解析。
4. 深度探讨案例分析为了更好地理解webservice中XML参数的组装与解析,我们将以一个实际案例进行深入探讨。
假设我们需要实现一个webservice接口,用于获取用户的个人信息,并且返回的参数是一个包含用户信息的XML文档。
在这个案例中,我们可以通过以下步骤来进行参数的组装与解析:- 根据WSDL文件,确定获取用户信息的方法和参数结构。
- 在客户端代码中,根据参数结构构建符合要求的XML格式的参数。
- 在服务端接收到参数后,对XML参数进行解析,并提取出用户信息。
通过以上案例分析,我们可以更直观地理解webservice中XML参数的组装与解析的过程,以及在实际开发中的应用方法。
web.xml配置详解
web.xml文件我们都不陌生,每一个web应用中都会有一个web.xml文件。
在Tomcat 安装目录下的conf目录也有web.xml文件,而今天我们分析的web.xml正是Tomcat的web.xml。
我们知道,每一个web应用最终是被发布到Tomcat的webappes目录下,Tomcat是它们的运行环境。
可以理解为Tomcat的web.xml文件是每一个web应用的web.xml的父文件,Tomcat将每个应用的公共配置提取出来放在conf目录下的web.xml中,每个应用的个性配置放在自己的web.xml文件中。
如图1-1所示:
图1-1web.xml关系图
下面我们结合web.xml文件的内容,来分析它的配置的作用,web.xml文件主要内容如例1-1所示:
例1-1conf/web.xml
......
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</serv let-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servle t-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<!--这里省略了大概4000多行的MIME类型的定义,只给出两种MIME类型的定义-->
<mime-mapping>
<extension>bmp</extension>
<mime-type>image/bmp</mime-type>
</mime-mapping>
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
对以上内容进行分析,如下:
(1)<servlet-name>default</servlet-name>
对应一个类名为DefaultServlet的Servlet,我们看这个servlet对应的<servlet-mapping>中的映射路径是“/”,匹配所有路径。
优先级最低,当用户访问的url没有匹配的Servlet或页面时,访问DefaultServlet,它会响应给客户端一个404状态码。
(2)<servlet-name>jsp</servlet–name>
对应一个类名为JspServlet的Servlet,该Servlet的映射路径是“*.jsp”、“*.jspx”。
即当用户请求的资源是一个jsp页面等时,访问的是JspServlet.我们知道浏览器不能显示动态资源,因此JspServlet的作用就是将当前访问的jsp页面转换成静态的html页面,然后再响应给浏览器。
(3)<session-timeout>30<session-timeout>
该标签是设置session的存活时间为30分钟,session是一个会话,后面我们会学习它。
(4)<mime-mapping><extension>htm</extension><mime-type>text/html</mime-type></mi me-mapping>
其中<extension>标签的内容指的是响应文件的后缀名,通过后缀名进而知道它的mime 类型,即<mime-type>标签的内容。
这是服务器告诉浏览器响应回去的响应内容的mime类型。
(5)<welcome-file-list>
该标签的子标签中的内容对应的是欢迎页。
在应用的web.xml中如果没有对<welcome-file-list>进行覆盖,那么默认主页为index.html、index.html、index.jsp。