Struts应用配置的web.xml文件

  1. # *******************上面是头文件,不用理它们是什么***********************************    
  2. <?xml version="1.0" encoding="UTF-8"?>    
  3. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"    
  4. #   
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"    
  6. #   
  7. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
  8. #   
  9. # http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    
  10. # 大约就是些版本号呀,字符编码啊之类的东东吧,没研究过,貌似也不用研究头文件吧    
  11. #   
  12. #   
  13. #   
  14. # *********************配置ActionServlet*********************************************    
  15. <servlet>    
  16. <servlet-name>action</servlet-name>    
  17. <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>    
  18. #   
  19. # 不管应用中包含多少个子应用,都只需配置一个ActionServlet,因为ActionServlet支持多线程,目前的Struts框架只允许在应用中配置一个ActionServlet。    
  20. #   
  21. #   
  22. # *****************初始化参数对Servlet的运行环境进行初始化配置***************************    
  23. #   
  24. <init-param>    
  25. <param-name>config</param-name>    
  26. <param-value>/WEB-INF/struts-config.xml</param-value>    
  27. </init-param>    
  28. # 这里是以相对路径的方式指明Struts应用程序的配置文件位置。如不设置,则默认值为/WEB-INF/struts-config.xml。    
  29. #   
  30. #   
  31. <init-param>    
  32. <param-name>debug</param-name>    
  33. <param-value>3</param-value>    
  34. </init-param>    
  35. # 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。    
  36. #   
  37. #   
  38. <init-param>    
  39. <param-name>detail</param-name>    
  40. <param-value>3</param-value>    
  41. </init-param>    
  42. <load-on-startup>0</load-on-startup>    
  43. # 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过该设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。    
  44. #   
  45. </servlet>    
  46. #   
  47. #   
  48. # *********************这里也是配置ActionServlet**************************************    
  49. <servlet-mapping>    
  50. <servlet-name>action</servlet-name>    
  51. <url-pattern>*.do</url-pattern>    
  52. </servlet-mapping>    
  53. # 就是将所有的*.do请求提交给action,从这里又找到上面那个配置可以读到ActionServlet的位置。    
  54. #   
  55. #   
  56. # **************************配置Struts标签库*****************************************    
  57. <taglib>    
  58. #   <tag-uri>/WEB-INF/struts-html.tld<tag-uri>    
  59. #   <taglib-location>/WEB-INF/struts-html.tld</taglib-location>    
  60. #   </taglib>    
  61. # 其中<tag-uri>用于指定标签库的相对或者绝对URI地址,Web应用根据这一URI来访问标签库。    
  62. <taglib-location>指定标签描述文件在文件资源系统中的物理位置。    
  63. </web-app>    
  64. # web.xml文件对于配置任何Java Web应用都必需的。   
  65. # (1)配置Struts的ActionServlet   
  66. #   
  67. <servlet>元素来声明ActionServlet   
  68. <servlet-name>元素:用来定义Servlet的名称   
  69. <servlet-class>元素:用来指定Servlet的完整类名   
  70. #   
  71. <servlet>  
  72. <servlet-name>action</servlet-name>  
  73. <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  74. </servlet>  
  75. #   
  76. # 还要配置<servlet-mapping>元素,它用来指定ActionServlet可以处理哪些URL   
  77. <servlet-mapping>  
  78. <servlet-name>action</servlet-name>  
  79. <url-pattern>*.do</url-pattern>  
  80. </servlet-mapping>  
  81. #   
  82. # 注意:(1)<servlet-mapping><servlet>中的<servlet-name>?</servlet-name>的要填写一致,它就是一根线,把<servlet-mapping><servlet>联接在一起的。   
  83. #      (2)在Struts框架中只能有一个Servlet,因为Servlet支持多线程。而<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>中的ActionServlet是在Struts.jar包中的.在导入Struts包时会导入。   
  84. #      (3)在显示层以*.do提交的,都会过个Servlet。*.do可以改写成你想要的任何形式。例如:/do/*   
  85. # 扩展 (1)我们可以继承 org.apache.struts.action.ActionServlet 得到我们可以扩允的子类,在子类中重写一个方法init()。这时<servlet-class>?</servlet-class>中的?是我们新建的类的路径,同样只能存在一个。   
  86. #         
  87. #   
  88. # (2)声明ActionServlet的初始化参数   
  89. #    初始化参数用来对Servlet的运行时环境进行初始配置。<servlet><init-param>子元素用于配置Servlet初始化参数。   
  90. #       
  91. #    config :以相对路径的方式指明Struts应用程序的配置文件位置,如不设置,则默认值为/WEB-INF/struts-config.xml   
  92. #    debug  : 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。   
  93. #    detail : 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。   
  94. #    <load-on-startup></load-on-startup>中?号的值是此ActionServlet在服务器开启时加载的次序,数值越低,越先加载。   
  95. #   
  96. #     <servlet>  
  97. #       <servlet-name>action</servlet-name>  
  98. #       <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  99. #       <init-param>  
  100. #         <param-name>config</param-name>  
  101. #         <param-value>/WEB-INF/struts-config.xml</param-value>  
  102. #       </init-param>  
  103. #       <init-param>  
  104. #         <param-name>debug</param-name>  
  105. #         <param-value>3</param-value>  
  106. #       </init-param>  
  107. #       <init-param>  
  108. #         <param-name>detail</param-name>  
  109. #         <param-value>3</param-value>  
  110. #        </init-param>  
  111. #       <load-on-startup>0</load-on-startup>  
  112. #   </servlet>  
  113. #      
  114. #   扩展:(1)当服务器启动后,加载ActionServlet,而ActionServlet会调用相关的方法去,会根据它下面的参数的初始值,对这个ActionServlet中的参数时行初始化   
  115. #         (2)当多人协作开发项目时可以对Strutst的配置文件进行适当的扩充,但必须为config开头。如   
  116. #          <init-param>  
  117. #         <param-name>config/XXXXXXXXX</param-name>  
  118. #         <param-value>/WEB-INF/XXXXX.xml</param-value>  
  119. #          </init-param>  
  120. #             
  121. #  (3) 配置欢迎文件清单   
  122. #      当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没有指定具体的文件名。Web容器会自动调用Web应用的欢迎文件。<welcome-file-list>是用来设置此项.   
  123. #      <welcome-file-list>  
  124. #      <welcome-file>welcome.jsp</welcome-file>  
  125. #      </welcome-file-list>     
  126. #       说明:在<welcome-file-list> 下可以有多个<welcom-file>。Web容器会依次寻找欢迎界面,直到找到为止。但如果不存在会向客户端返回”HTTP 404 NOT Found“错误信息。   
  127. #          
  128. #       由于在<welcome-file-list>元素中不能配置Servlet映射,则不能直接把Struts的Action作为欢迎文件。但可以通过Struts中的全局的(global)转发项来配置。   
  129. #       A:welcome.jsp页面(可换文件名)   
  130. #       <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>  
  131. #       <html>  
  132. #       <body>  
  133. #       <logic:forward name="welcome"/>  
  134. #       </body>  
  135. #       </html>  
  136. #       B: web.xml   
  137. #       <welcome-file-list>  
  138. #       <welcome-file>welcome.jsp</welcome-file>  
  139. #       </welcome-file-list>  
  140. #       C:  struts-config.xml   
  141. #       <global-forwards>  
  142. #       <forward name="welcome" path="hello.do">     
  143. #       </global-forwards>  
  144. #        我自已理解,仅供参考   
  145. #       运行机制:当服务器启动时还是会加载 B中<welcome-file>welcome.jsp</welcome-file>中的welcome.jsp,然后读到(A)welcome.jsp中的 <logic:forward name="welcome"/>,接下来会转到C中的<forward name="welcome" path="HelloWorld.do">,这是由于它是以.do(hello.do)结尾的,所以它会找到C文件中的<action>相配配的,最后在转到这个<action>的JSP页面。   
  146. #       运行错误示例:    
  147. #   
  148. # (a)把C中的<forwrod>改成<forward name="welcome" path="liusong.do"> liusong.do根本就不成在。   
  149. #   
  150. #   
  151. #     
  152. #   
  153. #   
  154. #   
  155. #   
  156. # (b)把C中的 <forward name="welcome" path="hello"> 因为服务器不知是hello.do还是hello.jsp不能转向   
  157. #   
  158. #   
  159. #     
  160. #   
  161. #   
  162. #  (c)把B中的 <welcome-file >/hello.do</welcome-file>因为它不会调用Servlet类,   
  163. #   
  164. #   
  165. #   
  166. #         
  167. #   
  168. #  运行正确示例:   
  169. #   
  170. #  (d)把C中的<forward name="welcome" path="hello.jsp">   运行成功   
  171. #   (e)把B中的<welcome-file >/hello.jsp</welcome-file>   运行成功   
  172. #                       
  173. #   
  174. # (4)配置错误处理   
  175. # Struts框架中不能处理所有的错误或异常。当Struts框架发生不能处理所有的错误或异常时,就把错误抛给Web容器。在默认情况下,Web容器会向用户浏览器直接返回原始的错误,为了避免可以使用<error-page>。   
  176. <erro-page>  
  177. <error-code>4040</error-code>  
  178. <location>/commmon/404.jsp</location>  
  179. </error-page>  
  180. <erro-page>  
  181. <error-code>4040</error-code>  
  182. <location>/commmon/404.jsp</location>  
  183. </error-page>  
  184. #   
  185. # Weg容器捕获的Java异常配置<error-page>,这时需要设置<exception-type>子元素,它用于指定Java异常类。Web容器可能捕获如下的异常:   
  186. # RuntimeException 或 Error   
  187. # ServletException 或它的子类   
  188. # IOException 或它的子类   
  189. #   
  190. <error-page>  
  191. <exception-type>javax.servlet.ServletException</exception-type>  
  192. <location>/system_error.jsp</location>  
  193. </error-page>  
  194. <error-page>  
  195. <exception-type>java.io.IOException</exception-type>  
  196. <location>/system_ioerror.jsp</location>  
  197. </error-page>  
  198. #   
  199. # (5)配置Struts标签库   
  200. # Struts框架提供了一些实用的客户化标签标签库,如果在应用中使用可以在web.xml中配置   
  201. <taglib>  
  202. <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>  
  203. <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>  
  204. </taglib>  
  205. # 由于Eclipse对<taglib>会产生错误,所以   
  206. <jsp-config>      
  207. <taglib>      
  208. #   <taglib-uri>/WEB-INF/validator-user.tld</taglib-uri>      
  209. #   <taglib-location>/WEB-INF/validator-user.tld</taglib-location>      
  210. </taglib>      
  211. </jsp-config>  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值