理解XML配置

解析web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"> <display-name>Kpi engine</display-name><!-- <welcome-file-list> <welcome-file>welcome.jsp</welcome-file> </welcome-file-list> --><servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/conf/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet> <servlet-name>internetSerlet</servlet-name> <servlet-class> com.inspur.kpiengine.smsSend.action.internetSerlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>internetSerlet</servlet-name> <url-pattern>/servlet/internetSerlet</url-pattern> </servlet-mapping> <!--<filter> <filter-name>Security Filter</filter-name> <filter-class> org.securityfilter.filter.SecurityFilter </filter-class> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/conf/securityfilter-config.xml </param-value> </init-param> <init-param> <param-name>validate</param-name> <param-value>false</param-value> </init-param> </filter> <filter-mapping> <filter-name>Security Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> --> <session-config> <session-timeout>100</session-timeout> </session-config> <jsp-config> <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri> <taglib-location> /WEB-INF/tld/struts-nested.tld </taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri> <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/core</taglib-uri> <taglib-location>/WEB-INF/tld/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/core_rt</taglib-uri> <taglib-location>/WEB-INF/tld/c-rt.tld</taglib-location> </taglib> </jsp-config> <context-param> <param-name>weblogic.httpd.inputCharset./*</param-name> <param-value>GBK</param-value> </context-param> <!-- 各个模块需要加载的spring 配置文件 --> <!--<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/conf/bean-config.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> --><mime-mapping> <extension>htm</extension> <mime-type>text/html;charset=utf-8</mime-type> </mime-mapping> <mime-mapping> <extension>html</extension> <mime-type>text/html;charset=gbk</mime-type> </mime-mapping> </web-app>

 

所有部署描述符文件的顶层(根)元素为:web-app

display-name元素提供GUI工具可能会用来标记这个特定的Web应用的一个名称

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

description description元素给出与此有关的说明性文本。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

filter 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。
filter-mapping 一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。

 

--------------------------------一旦建立了一个过滤器,可以在web.xml中利用filter元素以及filter-name(任意名称)、

                                        file-class(完全限定的类名)和(可选的)init-params子元素声明它。

                                       请注意,元素在web.xml的web-app元素中出现的次序不是任意的;

                                       允许服务器(但不是必需的)强制所需的次序,并且实际中有些服务器也是这样做的。

                                       但这里要注意,所有filter元素必须出现在任意filter-mapping元素之前,

                                       filter-mapping元素又必须出现在所有servlet或servlet-mapping元素之前。 
                                             例如,给定上述的ReportFilter类,可在web.xml中作出下面的filter声明。

                                       它把名称Reporter与实际的类ReportFilter(位于moreservlets程序包中)相关联。

<filter>
<filter-name>Reporter</filter-name>
<filter-class>moresevlets.ReportFilter</filter-class>
</filter>

                                             一旦命名了一个过滤器,可利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。

                                       关于此项工作有两种选择。

                                             首先,可使用filter-name和servlet-name子元素把此过滤器与一个特定的servlet名

                                       (此servlet名必须稍后在相同的web.xml文件中使用servlet元素声明)关联。

                                       例如,下面的程序片断指示系统只要利用一个定制的URL

                                       访问名为SomeServletName的servlet或JSP页面,就运行名为Reporter的过滤器。

<filter-mapping>
<filter-name>Reporter</filter-name>
<servlet-name>SomeServletName</servlet-name>
</filter-mapping>

                                             其次,可利用filter-name和url-pattern子元素将过滤器与一组servlet、

                                       JSP页面或静态内容相关联。例如,相面的程序片段指示系统只要访问Web应用中的任意URL,

                                       就运行名为Reporter的过滤器。

<filter-mapping>
<filter-name>Reporter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

                                             例如,程序清单5-12给出了将ReportFilter过滤器与名为PageName的

                                       servlet相关联的web.xml文件的一部分。名字PageName依次又与一个名为TestPage.jsp的JSP页面

                                       以及以模式http://host/webAppPrefix/UrlTest2/ 开头的URL相关联。

<web-app>
<filter>
<filter-name>Reporter</filter-name>
<filter-class>moresevlets.ReportFilter</filter-class>
</filter>
<!-- ... -->
<filter-mapping>
<filter-name>Reporter</filter-name>
<servlet-name>PageName</servlet-name>
</filter-mapping>
<!-- ... -->
<servlet>
<servlet-name>PageName</servlet-name>
<jsp-file>/RealPage.jsp</jsp-file>
</servlet>
<!-- ... -->
<servlet-mapping>
<servlet-name> PageName </servlet-name>
<url-pattern>/UrlTest2/*</url-pattern>
</servlet-mapping>
<!-- ... -->
</web-app>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

servlet 在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。
servlet-mapping      服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。

                               但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,

                               使用servlet-mapping元素。

session-config         如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。

                               可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,

                                或者可利用session-config元素制定缺省超时值。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

context-param context-param元素声明应用范围内的初始化参数。

---------------------context-param元素必须出现任意与文档有关的元素(icon、display-name或description)之后及filter、filter-                             apping、listener或servlet元素之前。 为了保证可移植性,web.xml内的元素必须以正确的次序声明.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

listener      servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、

                 修改和删除会话或servlet环境时得到通知。Listener元素指出事件监听程序类。

 

mime-mapping 如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证。

 

welcom-file-list welcome-file-list元素指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。

 

 

********************************************************************************************

 

 

 

 

 

你可能感兴趣的:(xml,jsp,servlet,服务器,filter,url)