`
youfengkai
  • 浏览: 26860 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts 项目中web.xml文件配置收藏

阅读更多
web.xml文件对于配置任何Java Web应用都必需的。
(1)配置Struts的ActionServlet

<servlet>元素来声明ActionServlet
<servlet-name>元素:用来定义Servlet的名称
<servlet-class>元素:用来指定Servlet的完整类名

<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>

还要配置<servlet-mapping>元素,它用来指定ActionServlet可以处理哪些URL
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

注意:(1)<servlet-mapping>和<servlet>中的<servlet- name>?</servlet-name>的要填写一致,它就是一根线,把<servlet-mapping> 和<servlet>联接在一起的。
     (2)在Struts框架中只能有一个Servlet,因为Servlet支持多线程。而<servlet- class>org.apache.struts.action.ActionServlet</servlet-class>中的 ActionServlet是在Struts.jar包中的.在导入Struts包时会导入。
     (3)在显示层以*.do提交的,都会过个Servlet。*.do可以改写成你想要的任何形式。例如:/do/*
扩展 (1)我们可以继承 org.apache.struts.action.ActionServlet 得到我们可以扩允的子类,在子类中重写一个方法init()。这时<servlet-class>?</servlet- class>中的?是我们新建的类的路径,同样只能存在一个。
   

(2)声明ActionServlet的初始化参数
   初始化参数用来对Servlet的运行时环境进行初始配置。<servlet>的<init-param>子元素用于配置Servlet初始化参数。
 
   config :以相对路径的方式指明Struts应用程序的配置文件位置,如不设置,则默认值为/WEB-INF/struts-config.xml
   debug  : 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。
   detail : 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。
   <load-on-startup>?</load-on-startup>中?号的值是此ActionServlet在服务器开启时加载的次序,数值越低,越先加载。

    <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/struts-config.xml</param-value>
      </init-param>
      <init-param>
        <param-name>debug</param-name>
        <param-value>3</param-value>
      </init-param>
      <init-param>
        <param-name>detail</param-name>
        <param-value>3</param-value>
       </init-param>
      <load-on-startup>0</load-on-startup>
  </servlet>

  扩展:(1)当服务器启动后,加载ActionServlet,而ActionServlet会调用相关的方法去,会根据它下面的参数的初始值,对这个ActionServlet中的参数时行初始化
        (2)当多人协作开发项目时可以对Strutst的配置文件进行适当的扩充,但必须为config开头。如
         <init-param>
        <param-name>config/XXXXXXXXX</param-name>
        <param-value>/WEB-INF/XXXXX.xml</param-value>
         </init-param>
       
(3) 配置欢迎文件清单
     当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没有指定具体的文件名。Web容器会自动调用Web应用的欢迎文件。<welcome-file-list>是用来设置此项.
     <welcome-file-list>
     <welcome-file>welcome.jsp</welcome-file>
     </welcome-file-list>
      说明:在<welcome-file-list> 下可以有多个<welcom-file>。Web容器会依次寻找欢迎界面,直到找到为止。但如果不存在会向客户端返回”HTTP 404 NOT Found“错误信息。
    
      由于在<welcome-file-list>元素中不能配置Servlet映射,则不能直接把Struts的Action作为欢迎文件。但可以通过Struts中的全局的(global)转发项来配置。
      A:welcome.jsp页面(可换文件名)
      <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
      <html>
      <body>
      <logic:forward name="welcome"/>
      </body>
      </html>
      B: web.xml
      <welcome-file-list>
      <welcome-file>welcome.jsp</welcome-file>
      </welcome-file-list>
      C:  struts-config.xml
      <global-forwards>
      <forward name="welcome" path="hello.do">
      </global-forwards>
       我自已理解,仅供参考
      运行机制:当服务器启动时还是会加载 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& gt;相配配的,最后在转到这个<action>的JSP页面。
      运行错误示例:

(a)把C中的<forwrod>改成<forward name="welcome" path="liusong.do"> liusong.do根本就不成在。




(b)把C中的 <forward name="welcome" path="hello"> 因为服务器不知是hello.do还是hello.jsp不能转向




(c)把B中的 <welcome-file >/hello.do</welcome-file>因为它不会调用Servlet类,


    

运行正确示例:

(d)把C中的<forward name="welcome" path="hello.jsp">   运行成功
  (e)把B中的<welcome-file >/hello.jsp</welcome-file>   运行成功
                 

(4)配置错误处理
Struts框架中不能处理所有的错误或异常。当Struts框架发生不能处理所有的错误或异常时,就把错误抛给Web容器。在默认情况下,Web容器会向用户浏览器直接返回原始的错误,为了避免可以使用<error-page>。
<erro-page>
<error-code>4040</error-code>
<location>/commmon/404.jsp</location>
</error-page>
<erro-page>
<error-code>4040</error-code>
<location>/commmon/404.jsp</location>
</error-page>

Weg容器捕获的Java异常配置<error-page>,这时需要设置<exception-type>子元素,它用于指定Java异常类。Web容器可能捕获如下的异常:
RuntimeException 或 Error
ServletException 或它的子类
IOException 或它的子类

<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/system_error.jsp</location>
</error-page>
<error-page>
<exception-type>java.io.IOException</exception-type>
<location>/system_ioerror.jsp</location>
</error-page>

(5)配置Struts标签库
Struts框架提供了一些实用的客户化标签标签库,如果在应用中使用可以在web.xml中配置
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
由于Eclipse对<taglib>会产生错误,所以
<jsp-config> 
<taglib> 
  <taglib-uri>/WEB-INF/validator-user.tld</taglib-uri> 
  <taglib-location>/WEB-INF/validator-user.tld</taglib-location> 
</taglib> 
</jsp-config>
分享到:
评论

相关推荐

    struts1中web.xml配置详解

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

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

    在本文中,我们将探讨Spring在`web.xml`中的配置与在Struts中的配置差异,以及这两种配置方式背后的基本原理。 首先,Spring的核心是ApplicationContext,它是一个管理Bean的容器,可以看作是应用程序的上下文环境...

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

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

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

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

    struts2的web.xml配置文件

    以前和struts2一起使用的配置文件,struts2的核心控制器

    javaweb项目中web.xml的作用

    web.xml文件是javaweb项目中的一个非常重要的配置文件,它用于初始化工程配置信息,例如welcome页面、filter、listener、servlet、servlet-mapping、启动加载级别等等。了解web.xml文件的作用和用途对于javaweb项目...

    struts2.5 web.xml配置

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

    在web.xml中配置action或.do

    3. **修改web.xml文件** - 在`web.xml`中找到`&lt;welcome-file-list&gt;`标签,并在其中添加刚创建的`go.action`文件名。 ```xml &lt;welcome-file&gt;go.action ``` - 这样做可以让服务器在访问项目根目录时自动...

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

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

    sruts2.0 web.xml 配置文件

    6. **Action的映射(标签)**:在Struts2.0中,`web.xml`里不直接配置Action,而是通过配置文件(如struts-default.xml, struts-plugin.xml, struts.xml等)来定义Action的配置。 除了上述基本配置外,`web.xml`还...

    struts.xml文件详解.doc

    Struts.xml文件是Apache Struts 2框架的核心配置文件,它用于定义应用程序的行为、Action映射、结果页面、拦截器等关键组件。在深入讲解struts.xml之前,我们先来了解与之相关的struts.properties文件。 struts....

    struts-config.xml配置文件详解

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

    Web.xml中配置Struts[参考].pdf

    在Struts框架中,配置文件Web.xml是核心配置文件之一,本文将详细介绍如何在Web.xml中配置Struts框架。 一、配置ActionServlet 在Struts框架中,ActionServlet是核心Servlet,负责处理所有的请求。在Web.xml中,...

    Web.xml中配置Struts[文].pdf

    7. Filter配置:虽然不是直接在`web.xml`中配置Struts,但Struts2引入了Filter的概念,`struts2-core.jar`包含了一个名为`StrutsPrepareAndExecuteFilter`的Filter,用来处理所有的HTTP请求,替代了Struts1中的...

    struts.xml和struts.properties配置详解

    在Struts中,`struts.xml`和`struts.properties`文件是两个核心的配置文件,它们分别负责定义应用的行为和设置全局属性。 **`struts.xml`配置详解** `struts.xml`是Struts 2框架的核心配置文件,用于定义动作映射...

    struts、applicationContext配置文件移动后web.xml配置示例

    使用myeclipse8.5搭建SSH后,将struts.xml和applicationContext.xml移动到别的地方,示例中为webroot下的config文件夹中,web.xml中需要做的修改示例。其中对于返回上一层方式不同的myeclipse可能不同,如有的用../...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...

    Struts2手动搭建所有的jar包及相应的struts.xml和web.xml

    本教程将详细讲解如何手动搭建一个完整的Struts2环境,包括引入所有必要的jar包以及配置struts.xml和web.xml文件。 首先,我们需要准备Struts2的核心库。Struts2框架依赖于一系列的jar包,这些包包含了从控制器到...

    struts-config.xml文件的配置

    以下是关于struts-config.xml文件配置的详细说明: 1. **数据源配置(Data Sources)**: - `&lt;data-sources&gt;` 元素用于定义Web应用所需的数据源。在这个例子中,我们看到一个名为"data-source"的元素,用于具体...

    struts2的struts.xml文件的元素结构

    首先,`struts.xml`文件通常位于项目的`src/main/resources`或`WEB-INF/classes`目录下,以便于在应用启动时自动加载。它是XML格式的,遵循Struts2的配置规范。 1. **&lt;struts&gt;** 根元素: - `package`:定义一个包...

Global site tag (gtag.js) - Google Analytics