详解Tomact中的web.xml

  

 本篇博客来详细的介绍一下Tomact中的web.xml配置文件,其实这个文件很常见,做任何JavaWeb项目的话,都会存在web.xml。因为Web应用发布描述文件是在Servlet规范中定义的,它是Web应用的配置文件。下面是整个Web.xml的实例。

<span style="font-family:Comic Sans MS;font-size:18px;"><span style="font-family:Comic Sans MS;font-size:18px;"><?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app PUBLIC
  '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
  'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>

<web-app>
<!--WEB应用名称  -->
  <display-name>Sample Application</display-name>
  
<!--WEB应用描述  -->
<description>
	This is a sample application
</description>

<!--定义过滤器  -->
<filter>
	<filter-name>SampleFilter</filter-name>
	<filter-class>mypack.sampleFilter</filter-class>
</filter>

<!--为过滤器指定URL映射  -->
<filter-mapping>
	<filter-name>SampleFilter</filter-name>
	<url-pattern>*.jsp</url-pattern>
</filter-mapping>

<!--  定义错误页面操作-->
<error-page>
	<error-code>404</error-code>
	<location>/NotFound.jsp</location>
</error-page>
<error-page>
	<exception-type>packagename.className</exception-type>
	<location>/SomeURL</location>
</error-page>



<mime-mapping>
	<extension>htm</extension>
	<mime-type>text/html</mime-type>
</mime-mapping>

<!--Servlet定义  -->
<servlet>
	<servlet-name>SampleServlet</servlet-name>
	<servlet-class>mypack.sampleServlet</servlet-class>
	<init-param>
		<param-name>initParam1</param-name>
		<param-value>2</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>


<!--定义SampleServlet映射  -->
<servlet-mapping>
	<servlet-name>SampleServlet</servlet-name>
	<url-pattern>/SampleServlet</url-pattern>
</servlet-mapping>

<!--配置HTTP会话 -->
<session-config>
	<session-timeout>30</session-timeout>
</session-config>

<!--设置WEB应用的Welcome文件清单  -->
<welcome-file-list>
	<welcome-file>login.jsp</welcome-file>
	<welcome-file>index.jsp</welcome-file>
</welcome-file-list>


<!--设置应用的标签库  -->
<taglib>
	<taglib-uri>/mytaglib</taglib-uri>
	<taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
</taglib>

<!--设置应用的JDNI资源  -->
<resource-ref>
	<description>DB Connection</description>
	<res-ref-name>jdbc/sampleDB</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
</resource-ref>

<resource-env-ref>
	<resource-env-ref-name>jms/StockQueue</resource-env-ref-name>
</resource-env-ref>

<!--配置安全约束  -->
<security-constraint>
	<web-resource-collection>
		<web-resource-name>sample application</web-resource-name>
		<url-pattern>/*</url-pattern>
	</web-resource-collection>
	<auth-constraint>
		<role-name>guest</role-name>
	</auth-constraint>
</security-constraint>


<!--配置安全验证登录界面  -->
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Form-Based Authentication Area</realm-name>
<form-login-config>
	<form-error-page>/error.jsp</form-error-page>
	<form-login-page>/login.jsp</form-login-page>
</form-login-config>
</login-config>

<!--配置安全角色  -->
<security-role>
	<description>
		The role that is required to log into the sample application
	</description>
	<role-name>guest</role-name>
</security-role>


<!--  WEB环境参数,env-entry元素声明Web应用的环境项-->
<env-entry>
	<env-entry-name>minExemptions</env-entry-name>
	<env-entry-type>java.lang.Integer</env-entry-type>
	<env-entry-value>1</env-entry-value>
</env-entry>


<!--EJB声明:ejb-ref元素声明一个EJB的主目录引用  -->
<ejb-ref>
	<description>Example EJB Reference</description>
	<ejb-ref-name>ejb/Account</ejb-ref-name>
	<ejb-ref-type>Entity</ejb-ref-type>
	<home>com.mycompany.mypackage.AccountHome</home>
	<remote>com.mycompany.mypackage.Account</remote>
</ejb-ref>


<!--本地的EJB声明,声明一个EJB的本地主目录的引用  -->
<ejb-local-ref>
	<description>Example Local EJB Reference</description>
	<ejb-ref-name>ejb/ProcessOrder</ejb-ref-name>
	<ejb-ref-type>Session</ejb-ref-type>
	<local-home>com.mycompany.mypackage.ProcessOrderHome</local-home>
	<local>com.mycompany.mypackage.processOrder</local>
</ejb-local-ref>


<!--  配置监听-->
<listener>
	<listener-class>listeners.session</listener-class>
</listener>
</web-app>


</span></span>


 上述文件中每个节点已经解释的很清楚了,常见的就不再解释了,比如Servelt定义、Filter过滤、监听设置等,下面博客来讲解一下JNDI Datasource HOW-TO和JNDI Resources HOW-TO

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值