`

Struts笔记(一)Struts配置文件

 
阅读更多
1.  Struts配置文件

  • Web应用部署描述符web.xml
  • Struts配置文件struts-config.xml
  • 应用资源配置文件application.properties
  • struts组件配置文件



1.1. web.xml

  • 配置struts的ActionServlet 和标签库。

如:

<!—① -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<!—② -->
	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>
			org.apache.struts.action.ActionServlet
</servlet-class>
		<init-param>
			<param-name>application</param-name>
			<param-value>Application</param-value>
		</init-param>
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/conf/struts-config.xml</param-value>
		</init-param>
		<init-param>
			<param-name>debug</param-name>
			<param-value>2</param-value>
		</init-param>
		<init-param>
			<param-name>detail</param-name>
			<param-value>2</param-value>
			<servlet-name>action</servlet-name>
			<url-pattern>*.do</url-pattern>
		</servlet-mapping>
<!—④-->
			<welcome-file-list>
				<welcome-file>index.jsp</welcome-file>
			</welcome-file-list>
<!—⑤-->
			<taglib>
				<taglib-uri>/tags/struts-bean</taglib-uri>
				<taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location>
			</taglib>
			<taglib>
				<taglib-uri>/tags/struts-html</taglib-uri>
				<taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location>
			</taglib>
			<taglib>
				<taglib-uri>/tags/struts-logic</taglib-uri>
				<taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location>
			</taglib>
</web-app>

代码中编号的地方对应下面的注释。
①标识为 web 应用部署描述符——前两行将文件标识为一个web 应用部署描述符。
②配置 ActionServlet— 这一段告诉容器装入action 名称下的ActionServlet 。有四个参数传递给ActionServlet: 即application,config, debug, 和detail。ActionServlet也可以接受其它参数。<load-on-startup>,给容器一个action servlet 的权重。如果设置为2,则允许其它 servlet 在需要时首先装入。这
将在你子类化了ActionServlet 之时显得很重要,以便你可以使用其它servlet 先期装入的资源。对一个应用来说, 仅可以装入一个ActionServlet 或者 ActionServlet 的子类。ActionServlet 设计为可以和应用中的其它组件共享资源。装入多ActionServlet 会造成冲突;因为一个 ActionServlet 可能会改写另一个ActionServlet 提交的资源。Struts 1.1 支持模块化应用,但仍然只允许装入一个ActionServlet 。
③标识 Struts 请求—这一段告诉容器将匹配*.do 格式的文件请求转发到action servlet。这就是我们在①中配置的ActionServlet 。不匹配这种格式的文件请求将不被Struts 处理。比如对*.html 或 *.jsp 文件的请求通常由容器内建的服务来处理。
④创建 welcome 文件—不幸的是,在这里设置一个index.do 文件将不会工作。容器希望
welcome 文件也是一个物理文件。
⑤配置标签库—这里我们配置应用中使用的标签库。 3 个核心的Struts 标签库—bean, html,和logic— 将可用在大多数应用中。如果你的应用中使用了其它的标签库,它们也在此进行配置。第一个元素,<taglib-uri>,给出标签库的逻辑名称。这通常看起来像是一个文件路径, 但其实不是。JSP 在导入标签库时将引用这个URI 。第2 个元素,<taglib-location>,提供提供了一个上下文相关的标签库描述符 (*.tld)路径。TLD 标识了库的实际类型(Java类)。当需要这个库时,容器会搜索标签库类文件的 classpath 。对Struts 标签库来说,容器将在struts.jar 文件中找到这些包。

1.2. struts-config.xml

  • xml)用来装入多个关键的框架组件。这些对象一起构成了Struts 配置。Struts 配置和 Struts ActionServlet 一起工作,创建应用的控制层。


Struts 配置是你的应用的真实蓝图。它知道表单中有什么字段。它知道哪里可以找到JSP文件。它也知道应用执行的每一个Action ,以及每个action 需要的实际资源。Struts 配置中的每个组件都是Java 对象。ActionForm 对象知道字段和表单。ActionForward 对象知道何处可以找到JSP 或其它资源。

1.2.1. <global-exceptions>注册异常

<exception
type="org.apache.struts.webapp.example.ExpiredPasswordException"
key="expired.password"
path="/changePassword.jsp" />


1.2.2. <form-beans>注册ActionFormBean

<form-bean name="menuForm" type="org.apache.struts.scaffold.MenuForm" />
<form-bean name="logonForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>


1.2.3. <global-forwards>注册全局ActionForward

这些 forward 对应用中的每个Action 都有效。你也可以部署一个局部 ActionForward 到<action> 元素中。局部转发仅针对该ActionMapping 有效。

<global-forwards>
<forward name="logoff" path="/Logoff.do" />
<forward name="logon" path="/Logon.do" />
</global-forwards>


1.2.4. <action-mappings>注册ActionMapping

<action-mappings> 元素描述了我们的应用要用来处理请求的ActionMapping 对象
(org.apache.struts.action.ActionMapping) 的集合。ActionMapping 则描述应用要采取的操作、命令。

<action-mappings>
<action path="/logoff"
type="app.LogoffAction" />
<action path="/logonSubmit"
type="app.LogonAction"
name="logonForm"
scope="request"
validate="true"
input="/pages/Logon.jsp" />
<action path="/logon"
type="app.ContinueAction">
<forward name="continue"
path="/pages/Logon.jsp" />
</action>
<action path="/welcome"
type="app.ContinueAction">
<forward name="continue"
path="/pages/Welcome.jsp" />
</action>
</action-mappings>


1.2.5. <Controller>
Struts 允许多个应用模块共享一个单一的控制器 servlet。每个模块有其自己的Struts 配置并且可以相对于其他模块独立开发。<controler> 元素允许每个模ActionServlet 标识一套不同的配置参数。它们大多数是部署描述符中的原始<init-params>设置。<controller> 元素设置的属性值存储在一个控制器配置bean(org.apache.struts.config.ControllerConfig)之中。每个应用模块要创建一个控制器配置,包括缺省的根模块。如果一个模块的 struts-config 提供了一个<contrller> 元素,就是用来设置模块的控制器配置bean 的属性。
因为各个模块共享 ActionServlet, 你也可以为每个模块插入不同的请求处理器。这可以使每个模块都按自己的方式处理请求,而不用子类化共享的servlet。
<controller
nocache="true"
null="true"
processorClass="com.myCompany.struts.RequestProcessor"/>


1.2.6. <message-resources>

<message-resources> 元素用来部署应用需要使用的资源束。

<message-resources
parameter="resources.application"/>
<message-resources
parameter="resources.image"/>


1.2.7. <plug-in>

当一个Action 需要初始化和销毁它自己的资源时,它可以实现PlugIn 接口(org.apache.struts.action.PlugIn)。这个接口声明了init 和destroy 方法,
控制器可以在适当的时候进行调用。PlugIn Action 可以在Struts 配置中通过<plug-in>元素进行注册。

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathname"
value="/WEB-INF/validator-rules.xml"/>
<set-property
property="pathname"
value="/WEB-INF/validation.xml"/>
</plug-in>


1.2.8. <data-sources>

配置数据源

<data-sources>
<data-source>
<set-property property="maxCount" value="4" />
<set-property property="minCount" value="2" />
<set-property property="description"
value="Artimus:MySQL Data Source Configuration" />
<set-property property="driverClass" value="org.gjt.mm.mysql.Driver" />
<set-property property="url" value="jdbc:mysql://localhost:3306/artimus" />
<set-property property="autoCommit" value="true" />
<set-property property="user" value="root" />
<set-property property="password" value="" />
</data-source


1.3. application.properties

存放Struts资源束。文件自身是一个普通的文本文件,每一行是一个关键字-值对。可以实现应用的国际化。

# -- Custom messages for struts-messages application --
# -- See http://www.coreservlets.com/Apache-Struts-Tutorial/ --
form.title=Registration
form.firstName=First name
form.lastName=Last name
form.emailAddress=Email address
form.buttonLabel=Register Me
form.successString=Success


分享到:
评论

相关推荐

    struts2综合笔记

    - 配置文件用于指导控制器如何运作,通常涉及路径映射、拦截器配置、结果类型定义等。 **动作类**: - 动作类负责处理具体的业务逻辑,通常是 POJO 类,其中包含了一个或多个方法来响应不同的用户操作。 **JSP**: -...

    张龙圣思园struts2学习笔记word

    笔记中可能详细讲解了Struts2的配置文件,如struts.xml,它是整个应用的配置中心,定义了Action的映射、结果类型、拦截器栈等。在Action配置中,我们可以指定Action类、方法以及对应的URL路径,实现请求与业务的关联...

    struts2 学习重点笔记

    **2.5 配置文件(struts.xml)** - **功能**:定义了 Struts2 的配置信息,包括 Action 的映射、拦截器栈等。 - **示例**: ```xml &lt;struts&gt; &lt;package name="default" namespace="/" extends="struts-default"&gt; ...

    struts笔记

    总结来说,Struts2通过提供一个结构化的框架,简化了Java Web应用程序的开发,包括通过配置文件管理动作和视图,使用命名空间组织URL,以及通过Action实现业务逻辑。理解这些核心概念对于有效地利用Struts2框架至关...

    struts2学习笔记(完美总结)——转自OPEN经验库

    本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与ValueStack、Tags以及项目中的关键实践。 **一、Action** Action是Struts2中处理业务逻辑的核心组件,它是实现了`...

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    struts自动加载的一个配置文件列表 struts.configuration.xml.reload Whether to reload the XML configuration or not 是否加载xml配置(true,false) struts.continuations.package The package containing ...

    达内,tarena,struts笔记,strutsPPT课件,达内struts笔记

    在本套“达内,tarena,struts笔记,strutsPPT课件,达内struts笔记”资源中,我们重点关注的是Struts 1.x版本,这是一个较旧但仍然广泛使用的版本,尤其对于初学者来说,它是理解MVC设计模式和Web开发基础的良好...

    SSH笔记_Struts2配置

    - **应用配置**:在`struts.xml`中定义Action、结果类型、拦截器栈等,这是应用的核心配置文件。 3. **Action配置** - **Action类**:通常继承自`ActionSupport`,实现业务逻辑。每个Action对应一个特定的用户...

    struts2课程笔记

    本课程笔记主要涵盖了Struts2的基础概念、核心功能及其工作流程。 首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户...

    黑马程序员Struts2笔记

    在Struts2中,配置主要包括两个部分:struts.xml配置文件和web.xml。struts.xml用于定义Action、结果类型、拦截器等;web.xml则用来加载Struts2的过滤器,使得Struts2能拦截并处理HTTP请求。 3. **Action与...

    struts2四天的学习笔记

    3. **配置文件**:Struts2的配置主要在两个文件中完成:struts.xml和web.xml。struts.xml定义了Action的映射、结果类型、拦截器等,而web.xml则配置DispatcherServlet(Struts2的前端控制器)和其他必需的Servlet和...

    struts2学习笔记总结

    1. 配置:Struts2的配置文件(struts.xml)用于定义Action、结果类型、包和拦截器链。Action的配置包括Action名称、Class映射、结果和参数等。 2. 拦截器:拦截器是Struts2的核心特性,它们在Action执行前后按顺序...

    跃达创新struts 笔记

    Struts是Apache软件基金会 Jakarta项目下的一个...总结,跃达创新的Struts笔记全面涵盖了Struts框架的核心要素和实际开发中的应用技巧。通过深入学习和实践,开发者可以熟练掌握使用Struts构建高效、可维护的Web应用。

    struts笔记 hibernate笔记

    3. **配置文件**:struts-config.xml是Struts的核心配置文件,用于定义Action、ActionForm、Forward等元素,配置控制器的行为。 4. **ActionForm**:用于封装用户输入的数据,与Action类配合处理请求。 5. **Tiles...

    struts2笔记

    Struts2的核心设计理念是解耦,通过Action类和配置文件实现业务逻辑与视图层的分离。 **二、Struts2执行流程** 1. **请求到达**: 用户发起HTTP请求,URL与Struts2的配置文件中的Action映射匹配。 2. **过滤器...

Global site tag (gtag.js) - Google Analytics