`

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


分享到:
评论

相关推荐

    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 ...

    struts2学习笔记(1)

    2)把struts2框架的配置文件struts.xml复制粘贴到项目中的src下面(同时也可以把log4j.properties放到src下) 在这里我们主要是要的这个struts.xml文件的中的声明部 分,以前写这个文件的话可以直接复制粘贴过来,没有写...

    Struts1.3 备忘笔记

    05 Struts_05DynaActionForm : 相对应ActionForm来说,动态ActionForm只需要在配置文件中配置就可以了,但是它不能实现验证功能,演示人机交互实例。 06 Struts_06Filter : 中文编码的统一处理,通过Struct的请求...

    struts项目学习笔记

    Struts2 是一个非常优秀的MVC框架,基于Model2 设计模型 由传统Struts1和WebWork两个经典框架发展而来 Struts2框架=Struts2+XWork Strust2 核心功能 允许POJO(Plain Old Java Objects,简单javabean对象,没有继承,...

    struts2课程笔记

    struts2知识点:处理流程,基本配置,与servlet的API解耦,结果类型,通配符和动态方法的调用,类型转换,文件上传,拦截器,表单验证,国际化,OGNL表达式,UI标签,模型驱动,防止表单重复提交,项目练习知识点:...

    struts2基本运行环境配置方法

    详细介绍了 struts2的配置 包括jar包的导入,xml文件的配置 Action类的写法等

    Struts2 学习笔记

    十三、 Struts2配置文件模块化包含(include) 17 十四、 默认的Action 18 十五、 Action总结 18 02 Struts2-Result 19 一、 Result类型 (type) 19 二、 全局结果集(Globle Result) 20 三、 动态的结果集(dynamic ...

    (Struts2.0 and EJB)框架配置文件

    Struts2.0和EJB是我初学是的心得笔记,希望能给你带来帮助!!!

    Struts2学习笔记

    学习Struts2的小笔记,及配置部署环境,dtd文件相关内容,部分文字有图示解释。

    struts2学习笔记!

    struts2学习笔记!因为还没有全部学完,所以分部分分享!主要内容:struts.xml配置,web.xml配置 Action要点!全局类型转换,部分类型转换,类型转换文件 类型装换错误的处理问题局部使用,把中文汉字转换为编码 struts2对...

    struts2笔记

    struts2知识点总结,主要针对struts2中标签的用法,和xml配置文件的使用进行说明,并且有相关代码实例

    Android远程访问Struts2服务器程序(用到Json解析数据)

    [Android访问Struts2服务器程序]我发现在网上下载这个源码很困难,我一步步配置成功了,还将具体应该注意的事项都列出来了,很详细,能够运行成功! Android+struts2+JSON形式的手机开发 把本机当作服务器,将Android...

    struts2学习笔记

    Strust2中,strust2是通过Filter启动的。启动web应用的时候,服务器会加载项目下的web.xml文件,在这个web.xml文件中配置相关的参数,实际上是一个过滤器。

    struts2框架核心笔记整力

    struts2框架经典整理,异常处理的方式和配置,全局资源文件执行国际化的方法,数据校验,数据类型转换器,基础讲解。

    Struts2五种数据封装Demo

    详细介绍了Strusts2的文件配置,以及操作servlet的三大对象,表单数据的获取和表达数据的封装,document文件夹下是详细配置过程笔记,希望对各位学习struts2有所帮助

    Spring的学习笔记

    二、 建立spring的配置文件 8 三、 引入spring的jar包 8 四、 测试代码: 8 五、 注意接口的使用: 8 第五课:IOC(DI)配置及应用 9 一、 什么是IOC、DI 9 二、 编辑xml文件时,没有提示 9 三、 注入类型(Injecting ...

    药店管理系统 struts+spring+hibernate

    3 数据库配置方法,在sqlserver2000新建yd数据库,关闭数据库服务器,用压缩包中的数据库文件覆盖原文件 4 编译,首先检测第三方控件是否安装完全,改变udm模块中的adoconn的connstring,使其与yd联接

    spring-note spring 读书笔记

    详细介绍了Spring 与 IOC,Aop,还有Spring与JDBC,HIBERNATE,STRUTS,Transaction 进行集成,配置文件的编写

    spring2.5 学习笔记

    二、 建立spring的配置文件 8 三、 引入spring的jar包 8 四、 测试代码: 8 五、 注意接口的使用: 8 第五课:IOC(DI)配置及应用 9 一、 什么是IOC、DI 9 二、 编辑xml文件时,没有提示 9 三、 注入类型(Injecting ...

Global site tag (gtag.js) - Google Analytics