`

为Struts应用配置web.xml文件 1 -----2

阅读更多

http://blog.chinajavaworld.com/entry.jspa?id=380

 

xml 代码
  1. 用Myeclipse自动加入struts的包后会自动生成一个web.xml文件,我把这个文件的配置贴出来,再加上注释^^,这样看起来就比那些讲怎样配置的文章好理解多了。    
  2.   
  3.   
  4. *******************上面是头文件,不用理它们是什么***********************************    
  5. <?xml version="1.0" encoding="UTF-8"?>    
  6. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"    
  7.   
  8. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"    
  9.   
  10. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
  11.   
  12. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    
  13. 大约就是些版本号呀,字符编码啊之类的东东吧,没研究过,貌似也不用研究头文件吧    
  14.   
  15.   
  16.   
  17. *********************配置ActionServlet*********************************************    
  18. <servlet>    
  19. <servlet-name>action</servlet-name>    
  20. <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>    
  21.   
  22. 不管应用中包含多少个子应用,都只需配置一个ActionServlet,因为ActionServlet支持多线程,目前的Struts框架只允许在应用中配置一个ActionServlet。    
  23.   
  24.   
  25. *****************初始化参数对Servlet的运行环境进行初始化配置***************************    
  26.   
  27. <init-param>    
  28. <param-name>config</param-name>    
  29. <param-value>/WEB-INF/struts-config.xml</param-value>    
  30. </init-param>    
  31. 这里是以相对路径的方式指明Struts应用程序的配置文件位置。如不设置,则默认值为/WEB-INF/struts-config.xml。    
  32.   
  33.   
  34. <init-param>    
  35. <param-name>debug</param-name>    
  36. <param-value>3</param-value>    
  37. </init-param>    
  38. 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。    
  39.   
  40.   
  41. <init-param>    
  42. <param-name>detail</param-name>    
  43. <param-value>3</param-value>    
  44. </init-param>    
  45. <load-on-startup>0</load-on-startup>    
  46. 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过该设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。    
  47.   
  48. </servlet>    
  49.   
  50.   
  51. *********************这里也是配置ActionServlet**************************************    
  52. <servlet-mapping>    
  53. <servlet-name>action</servlet-name>    
  54. <url-pattern>*.do</url-pattern>    
  55. </servlet-mapping>    
  56. 就是将所有的*.do请求提交给action,从这里又找到上面那个配置可以读到ActionServlet的位置。    
  57.   
  58.   
  59. **************************配置Struts标签库*****************************************    
  60. <taglib>    
  61.   <tag-uri>/WEB-INF/struts-html.tld<tag-uri>    
  62.   <taglib-location>/WEB-INF/struts-html.tld</taglib-location>    
  63.   </taglib>    
  64. 其中<tag-uri>用于指定标签库的相对或者绝对URI地址,Web应用根据这一URI来访问标签库。    
  65. <taglib-location>指定标签描述文件在文件资源系统中的物理位置。    
  66. </web-app>    
  67.   
  68. 嘻~~~~~这个配置文件蛮简单的。    
  69.   

 

xml 代码
  1. web.xml文件对于配置任何Java Web应用都必需的。   
  2. (1)配置Struts的ActionServlet   
  3.   
  4. <servlet>元素来声明ActionServlet   
  5. <servlet-name>元素:用来定义Servlet的名称   
  6. <servlet-class>元素:用来指定Servlet的完整类名   
  7.   
  8. <servlet>  
  9. <servlet-name>action</servlet-name>  
  10. <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  11. </servlet>  
  12.   
  13. 还要配置<servlet-mapping>元素,它用来指定ActionServlet可以处理哪些URL   
  14. <servlet-mapping>  
  15. <servlet-name>action</servlet-name>  
  16. <url-pattern>*.do</url-pattern>  
  17. </servlet-mapping>  
  18.   
  19. 注意:(1)<servlet-mapping><servlet>中的<servlet-name>?</servlet-name>的要填写一致,它就是一根线,把<servlet-mapping><servlet>联接在一起的。   
  20.      (2)在Struts框架中只能有一个Servlet,因为Servlet支持多线程。而<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>中的ActionServlet是在Struts.jar包中的.在导入Struts包时会导入。   
  21.      (3)在显示层以*.do提交的,都会过个Servlet。*.do可以改写成你想要的任何形式。例如:/do/*   
  22. 扩展 (1)我们可以继承 org.apache.struts.action.ActionServlet 得到我们可以扩允的子类,在子类中重写一个方法init()。这时<servlet-class>?</servlet-class>中的?是我们新建的类的路径,同样只能存在一个。   
  23.         
  24.   
  25. (2)声明ActionServlet的初始化参数   
  26.    初始化参数用来对Servlet的运行时环境进行初始配置。<servlet><init-param>子元素用于配置Servlet初始化参数。   
  27.       
  28.    config :以相对路径的方式指明Struts应用程序的配置文件位置,如不设置,则默认值为/WEB-INF/struts-config.xml   
  29.    debug  : 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。   
  30.    detail : 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。   
  31.    <load-on-startup></load-on-startup>中?号的值是此ActionServlet在服务器开启时加载的次序,数值越低,越先加载。   
  32.   
  33.     <servlet>  
  34.       <servlet-name>action</servlet-name>  
  35.       <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  36.       <init-param>  
  37.         <param-name>config</param-name>  
  38.         <param-value>/WEB-INF/struts-config.xml</param-value>  
  39.       </init-param>  
  40.       <init-param>  
  41.         <param-name>debug</param-name>  
  42.         <param-value>3</param-value>  
  43.       </init-param>  
  44.       <init-param>  
  45.         <param-name>detail</param-name>  
  46.         <param-value>3</param-value>  
  47.        </init-param>  
  48.       <load-on-startup>0</load-on-startup>  
  49.   </servlet>  
  50.      
  51.   扩展:(1)当服务器启动后,加载ActionServlet,而ActionServlet会调用相关的方法去,会根据它下面的参数的初始值,对这个ActionServlet中的参数时行初始化   
  52.         (2)当多人协作开发项目时可以对Strutst的配置文件进行适当的扩充,但必须为config开头。如   
  53.          <init-param>  
  54.         <param-name>config/XXXXXXXXX</param-name>  
  55.         <param-value>/WEB-INF/XXXXX.xml</param-value>  
  56.          </init-param>  
  57.             
  58.  (3) 配置欢迎文件清单   
  59.      当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没有指定具体的文件名。Web容器会自动调用Web应用的欢迎文件。<welcome-file-list>是用来设置此项.   
  60.      <welcome-file-list>  
  61.      <welcome-file>welcome.jsp</welcome-file>  
  62.      </welcome-file-list>     
  63.       说明:在<welcome-file-list> 下可以有多个<welcom-file>。Web容器会依次寻找欢迎界面,直到找到为止。但如果不存在会向客户端返回”HTTP 404 NOT Found“错误信息。   
  64.          
  65.       由于在<welcome-file-list>元素中不能配置Servlet映射,则不能直接把Struts的Action作为欢迎文件。但可以通过Struts中的全局的(global)转发项来配置。   
  66.       A:welcome.jsp页面(可换文件名)   
  67.       <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>  
  68.       <html>  
  69.       <body>  
  70.       <logic:forward name="welcome"/>  
  71.       </body>  
  72.       </html>  
  73.       B: web.xml   
  74.       <welcome-file-list>  
  75.       <welcome-file>welcome.jsp</welcome-file>  
  76.       </welcome-file-list>  
  77.       C:  struts-config.xml   
  78.       <global-forwards>  
  79.       <forward name="welcome" path="hello.do">     
  80.       </global-forwards>  
  81.        我自已理解,仅供参考   
  82.       运行机制:当服务器启动时还是会加载 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页面。   
  83.       运行错误示例:    
  84.   
  85. (a)把C中的<forwrod>改成<forward name="welcome" path="liusong.do"> liusong.do根本就不成在。   
  86.   
  87.   
  88.     
  89.   
  90.   
  91.   
  92.   
  93. (b)把C中的 <forward name="welcome" path="hello"> 因为服务器不知是hello.do还是hello.jsp不能转向   
  94.   
  95.   
  96.     
  97.   
  98.   
  99.  (c)把B中的 <welcome-file >/hello.do</welcome-file>因为它不会调用Servlet类,   
  100.   
  101.   
  102.   
  103.         
  104.   
  105.  运行正确示例:   
  106.   
  107.  (d)把C中的<forward name="welcome" path="hello.jsp">   运行成功   
  108.   (e)把B中的<welcome-file >/hello.jsp</welcome-file>   运行成功   
  109.                       
  110.   
  111. (4)配置错误处理   
  112. Struts框架中不能处理所有的错误或异常。当Struts框架发生不能处理所有的错误或异常时,就把错误抛给Web容器。在默认情况下,Web容器会向用户浏览器直接返回原始的错误,为了避免可以使用<error-page>。   
  113. <erro-page>  
  114. <error-code>4040</error-code>  
  115. <location>/commmon/404.jsp</location>  
  116. </error-page>  
  117. <erro-page>  
  118. <error-code>4040</error-code>  
  119. <location>/commmon/404.jsp</location>  
  120. </error-page>  
  121.   
  122. Weg容器捕获的Java异常配置<error-page>,这时需要设置<exception-type>子元素,它用于指定Java异常类。Web容器可能捕获如下的异常:   
  123. RuntimeException 或 Error   
  124. ServletException 或它的子类   
  125. IOException 或它的子类   
  126.   
  127. <error-page>  
  128. <exception-type>javax.servlet.ServletException</exception-type>  
  129. <location>/system_error.jsp</location>  
  130. </error-page>  
  131. <error-page>  
  132. <exception-type>java.io.IOException</exception-type>  
  133. <location>/system_ioerror.jsp</location>  
  134. </error-page>  
  135.   
  136. (5)配置Struts标签库   
  137. Struts框架提供了一些实用的客户化标签标签库,如果在应用中使用可以在web.xml中配置   
  138. <taglib>  
  139. <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>  
  140. <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>  
  141. </taglib>  
  142. 由于Eclipse对<taglib>会产生错误,所以   
  143. <jsp-config>      
  144. <taglib>      
  145.   <taglib-uri>/WEB-INF/validator-user.tld</taglib-uri>      
  146.   <taglib-location>/WEB-INF/validator-user.tld</taglib-location>      
  147. </taglib>      
  148. </jsp-config>  
  149.   
http://blog.csdn.net/songqiu/archive/2007/09/08/1776880.aspx
分享到:
评论

相关推荐

    org.springframework.web.struts-3.1.0.M2.jar

    `org.springframework.web.struts-3.1.0.M2.jar`是Spring为Struts提供的一个适配器,它使得Spring框架能够无缝地集成到Struts应用程序中。该版本号3.1.0.M2表明这是该组件的里程碑2版本,通常在正式版本发布前,M...

    Struts框架中struts-config.xml文件配置小结

    ### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...

    struts1中web.xml配置详解

    在 struts1 框架中,web.xml 文件是必不可少的配置文件之一,它用于配置 Struts 应用程序的核心组件 ActionServlet。本文将详细解释 web.xml 文件中的配置项和相关知识点。 1. 配置 Struts 的 ActionServlet 在 ...

    spring在web.xml中和在struts中的不同配置..pdf

    Struts2的Spring插件会在Struts配置文件(如struts.xml)中定义一个`&lt;package&gt;`,包含`&lt;interceptors&gt;`和`&lt;default-interceptor-ref&gt;`元素,这样Struts2就会知道如何与Spring协作,将Action实例化和依赖注入交给...

    struts.xml和applicationContext.xml、web.xml的配置

    在Java Web开发中,`struts.xml`, `applicationContext.xml` 和 `web.xml` 是三个至关重要的配置文件,它们各自负责不同的职责,并协同工作来构建一个完整的应用框架。以下是关于这三个配置文件的详细说明。 首先,...

    struts2版本 2.1.6 必须的jar包 和 web.xml 文件的修改

    在本文中,我们将深入探讨Struts2版本2.1.6中的核心jar包以及如何调整`web.xml`配置文件以实现正确部署。 首先,Struts2的核心jar包是框架运行的基础,它们提供了Action映射、拦截器、结果类型和其他关键功能。对于...

    struts-config.xml配置文件详解

    Struts-config.xml 配置文件详解 Struts-config.xml 是 Struts 框架的主要配置文件,用于配置 Struts 应用程序的...通过了解 Struts-config.xml 文件的结构和配置方式,可以更好地使用 Struts 框架开发 Web 应用程序。

    Struts struts-config.xml配置

    而`struts-config.xml`配置文件则是Struts应用的核心配置文件,它负责管理Struts应用中的各种组件配置。本文将详细介绍`struts-config.xml`配置文件的关键组成部分及其作用。 #### 二、文件结构 `struts-config.xml...

    struts2.5 web.xml配置

    在探讨Struts2.5中的`web.xml`配置时,我们首先需要理解`web.xml`在Java Web应用中的角色以及它如何与Struts框架交互。`web.xml`是Java Web应用的核心配置文件之一,用于定义应用程序级别的配置信息,如过滤器、监听...

    struts-config.xml

    正确理解和配置`struts-config.xml`是开发Struts应用的关键步骤。配置文件的结构和顺序非常重要,错误的配置可能导致应用程序无法正常运行。在编写配置时,要确保遵循正确的顺序,并根据应用需求正确设置各项参数。

    配置struts--config.xml详解

    在 Struts 应用程序中,`struts-config.xml` 文件是核心配置文件,它定义了应用的行为、控制器(Actions)、数据源(Form Beans)以及视图(JSP 页面)之间的关系。本文将深入探讨 `struts-config.xml` 的主要元素和...

    struts.xml文件详解.doc

    Struts.xml文件是Apache Struts 2...总结来说,struts.properties和struts.xml文件共同构成了Struts 2框架的配置体系,它们分别负责框架的基础属性设置和具体应用行为的定义,为开发者提供了强大的定制能力和灵活性。

    struts-2.5.26-min-lib.zip

    Struts 2是Java平台上的一个开源MVC框架,它为构建基于J2EE的Web应用程序提供了强大的支持。Struts 2.5.26-min-lib.zip是一个精简版的库文件集合,主要包含了运行Struts 2应用程序所需的最小依赖库。这个压缩包可能...

    sruts2.0 web.xml 配置文件

    `web.xml`配置文件在Struts2中扮演着至关重要的角色,它是整个应用的部署描述符,定义了应用程序的入口点、过滤器、Servlet以及其他Web组件的配置信息。在这里,我们将深入探讨`web.xml`配置文件在Struts2中的应用...

    Struts-config.xml配置详解

    Struts的配置文件通常命名为struts-config.xml,它是整个Struts应用的核心配置文件,通过定义一系列的XML元素来设定框架的不同功能和行为。下面将详细介绍struts-config.xml中8个主要配置元素的功能和使用方法。 1....

    不同版本的 struts2.dtd

    - Struts2 DTD 是XML文档类型定义,它规定了struts2配置文件(如struts.xml或struts-default.xml)的语法和元素。这些元素定义了Action、结果、拦截器等配置,使得开发者可以声明式地配置应用行为。 2. **struts-...

    在web.xml中配置action或.do

    3. **修改web.xml文件** - 在`web.xml`中找到`&lt;welcome-file-list&gt;`标签,并在其中添加刚创建的`go.action`文件名。 ```xml &lt;welcome-file-list&gt; &lt;welcome-file&gt;go.action&lt;/welcome-file&gt; &lt;/welcome-file-...

    Struts2的DTD配置文件struts-2.3.dtd

    `struts-2.3.dtd`为`struts.xml`文件提供了语法指导,确保开发者遵循Struts2框架的正确配置格式。通过引用这个DTD,IDE可以验证配置文件的语法,从而提供有用的错误检查和代码补全功能,提高开发效率。 在`struts....

    struts-2.5.22-all.zip

    在实际开发中,使用Struts2 2.5.22时,开发者需要了解Action、Result、Interceptor的基本概念,以及如何编写Action类、配置Struts.xml文件,还要掌握OGNL的使用来绑定数据。同时,为了提高安全性和性能,还需要关注...

    Struts2.5版本struts.xml与web.xml配置的更改方法

    在Struts2框架中,配置文件`struts.xml`和`web.xml`是核心部分,它们定义了应用程序的行为和路由规则。随着版本的更新,配置方式也会有所改变。以下是Struts2.5版本中`struts.xml`和`web.xml`配置的更改方法: **1....

Global site tag (gtag.js) - Google Analytics