Struts1中web.xml和struts-config.xml的配置

本文详细介绍了Struts1中web.xml和struts-config.xml的配置,包括ActionServlet的声明、配置文件指定、数据源、表单验证、异常处理、全局转发、Action映射、控制器、消息资源和插件配置等关键要素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  Struts1中web.xml和struts-config.xml的配置 收藏

web.xml:

有关Struts Controller的配置描述:因为Struts Controller的主要类ActionServlet是继承自HttpServlet,所以必须要在部署描述符(web.xml)中配置ActionServlet类及其访问映射。

<web-app>

<display-name>Struts Example Application</display-name>

       <servlet>                             <!—声明ActionServlet-->

<servlet-name>action</servlet-name>                 <!—定义servlet的名字-->

<servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <!—指定完整的类名,指示ActionServlet接受HTTP请求并确定如何响应-->

<init-param>

       <param-name>config</param-name>   <!—config指明Struts应用程序的配置文件相对位置-->

       <param-value>/WEB-INF/struts-config.xml</param-value>

</init-param>

<init-param>

       <param-name>config</param-name>

       <param-value>/WEB-INF/struts-config-registration.xml</param-value>

</init-param>

<init-param>

       <param-name>debug<param-name>

       <param-value></param-value>         <!-- ?表示控制日志记录的详细程度-->

</init-param>

<init-param>

       <param-name>detail</param-name>

       <param-value></param-value>         <!--?表示查看不同详细等级的解析日志 -->

</init-param>

<load-on-startup></load-on-startup>        <!-- ?表示ActionServlet在服务器启动时加载的优先级-->

</servlet>

<servlet-mapping>         <!—标识着由URL进行匹配时,Web服务器就会将控制权移交给ActionServlet-->

       <servlet-name>action</servlet-name>   <!—<servlet-name>必须一样-->

       <url-pattern>*.do</url-pattern>           <!—根据上下文路径,ActionServlet调用对象与servlet-name一致的URL-->

</servlet-mapping>

<welcome-file-list>       <!—配置欢迎文件清单,可以有多个-->

       <welcome-file>index.jsp</welcome-file>

</welcome-file-list>

<error-page>         <!—配置Struts中处理不了的错误和异常-->

       <exception-type>java.lang.Exception</exception-type>

       <location>/error.jsp</location>

</error-page>

<error-page>

       <error-code>500<error-code>

       <location>/error.jsp</location>

</error-page>

<jsp-config>   <!—由于Eclipse<taglib>会产生错误,加上。-->

<taglib>          <!—配置Struts标签库-->

       <taglib-uri>/tags/struts-html</taglib>

       <taglib-location>/WEB-INF/struts-html.tld</taglib-location>

</taglib>

<taglib>

       <taglib-uri>/tags/struts-logic</taglib>

       <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>

</taglib>

</jsp-config>

</web-app>

                                                 参考:http://yong1828.javaeye.com/blog/200936

strust-config.xml:

            弄清楚struts-config.xml中各元素的作用,于我构建web目有莫大的好。它主要有8个子元素,DTD定如下:

(data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,

message-resources*,plug-in*)
以上8个元素,下面一一描述:

1. date-sources元素

  date-sources元素用来配置用程序所需要的数据源。java言提供了javax.sql.DateSource接口,所有数据源必须实现该接口。如下配置:

<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<set-property property="url" value="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=oa"/>
<set-property property="username" value="sa"/>
<set-property property="password" value=""/>
<set-property property="maxActive" value="10"/>
<set-property property="maxWait" value="5000"/>
<set-property property="defaultAutoCommit" value="true"/>
<set-property property="defaultReadOnly" value="false"/>
</data-source>

Action中访问方式如:
javax.sql.DataSource dataSource;
java.sql.Connection myConnection;
try
{
dataSource = getDataSource(request);
myConnection = dataSource.getConnection();
}
…………
如果是多数据源,可用如下配置:

访问方式:dataSource = getDataSource(request,"a");

2. form-beans元素

  元素主要用来配置表单验证。它包含如下属性:
1. classname:一般用得少,指定和form-bean无素
对应的配置,默认为org.apache.struts.config.FormBeanConfig,如果自定须扩FormBeanConfig。可有可无。
2. name:ActionForm Bean的惟一
标识。必
3. type:ActionForm的完整
名。必
如下所示:

<FORM-BEANS>
<FORM-BEAN name="Loign" type="com.ha.login"></FORM-BEAN>
</FORM-BEANS>

如果是动态Action FormBean,配置form-bean元素的form-property子元素。它包含四个属性,上面三个,有一个initial 元素:以字符串的形式置表字段的初始,如果没有属性,是基本0,如果是则为null。可有可无。
如下所示:

<FORM-BEANS>
<FORM-BEAN name="Loign" type="com.ha.login">
<FORM-PROPERTY name="ok" type="java.lang.String" />
<FORM-PROPERTY name="oks" type="java.lang.String" />
<FORM-PROPERTY name="okss" type="java.lang.Integer" initial="20"/>
</FORM-BEAN>
</FORM-BEANS>

3. global-exceptions元素

  元素主要配置异常理, 它的exception子元素代表全局的异常配置。struts采取配置的方式来理异常。它用来java异常和异常 org.apache.struts.action.ExceptionHandler之的映射。它有七个属性,如下所示:
1. className:指定和exception元素
对应的配置,默认为org.apache.struts.config.ExceptionConfig。可有可无。
2. Handler:指定异常得理
,默认为org.apache.struts.action.ExceptionHandler。可有可无
3. key:指定在Resource Bundle中描述
异常的消息key
4. path:指定当异常
转发路径。
5. scope:指定ActionMessages
例的存放范,可选值包括:request和session,默认为request。可有可无。
6. type:指定所需
理异常的名字,必

7. bundle:指定Resource Bundle
如下所示:

<global-exceptions>
<exception
key="global.error.invalidlogin"
path="/error.jsp"
scope="request"
type="com.hn.tree"/>
</global-exceptions>

4. global-forwards元素

  元素主要用来声明全局的转发关系,它具有以下四个属性:
1. className:和forward元素
对应的配置,默认为org.apache.struts.action.ActionForward。可有可无。
2. contextRelative:此
项为true,表path属性以"/"开头,相于当前上下文的URL,默认为false.可有可无 
3. name:
转发路径的逻辑
名.必填。
4. path:
转发或重定向的URL,当contextRelative=falseURL路径相于当前用(application),当ture,表示URL路径相于当前上下文(context)。
5. redirect:当此项为ture,表示行重定向操作。当此项为false表示向操作。默认为false

5. action-mappings元素

  描述从特定的求路径到相Action的映射。它具有以下几个属性:
1. attribute
置和Action关联ActionForm Beanrequestsession内的key。如:Form Bean存在于request内,此项设为“myBenas”request.getAttribute("myBenas")就可以返回 Bean例。
2. classsName:和action元素对应的配置元素,默认为org.apache.struts.action.ActionMapping.
3. forward:
转发URL路径。
4. include:指定包含的URL路径。
5. input
入表URL路径,当表单验证败时,将把转发URL
6. name:指定和Action关联Action FormBean的名字,名字必Form-Bean定义过
7. path:指定
访问Action的路径,以“/”开头,无展名。
8. parameter:指定Actgion的配置参数,在Action
execute()方法中,可以ActionMapping象的getParameter()方法来配置参数。
9. roles:指定允
许调Action的安全角色,多个角色之用,隔,在RequestProcessor会根据配置来决定用是否有Action限。
10. scope:指定ActionForm Bean的存在范
,可request和session,默认为session。
11. type:指定Action
的完整
名。
12. unknown:如果此
项为true,表示可以理用户发出的所有无效的Action URL,默认为false;
13. validate:指定是否要
Action FormBean的validate方法,默认值为
ture.
注:forward、include、type属性只能
中其中一

如下:
<action type="zxj.okBean"
name="a1"
scope="request"
validate="true"
input="/b.jsp">

6. controller元素

  元素用于配置ActionServlet。它具有以下属性。
1. bufferSize:指定上
文件的冲大小,可,默认为4096
2. className:指定和controller元素
对应的配置,默认为
org.apache.struts.config.ControllerConfig
3. conentType:字符
编码,如果在Action和JSP网置了,覆盖该设
置。
4. locale:指定是否把Locale
象保存到当前用session中,默认值为false.
5. processorClass:指定
负责请求的java
完整路径。
6. tempDir:指定理文件的临时工作目,如果此没有置,将采用Servlet容器web用分配的临时工作目
7. nochache:如果true:在响应结果中将加入特定的参数:Pragma,Cache-Control和Expise,防止面被保存在客端的浏览器中,默认为false
如下:
<controller contentType="text/html;charset=UTF-8"
locale="true"
processorClass="con.ok"/>

7. message-resources元素

  主要配置本地化消息文本,它具有以下属性。
1. className:和message-resources元素
对应的配置,默认为org.apache.struts.config.MessageResourcesConfig。
2. factory:指定消息
源的工厂,默认为org.apache.struts.util.PropertyMessageResourcesFactory

3. key:指定Resource Bundle存放的ServletContext
象中采用的属性Key,默Globals.MESSAGES_KEY定的字符串常量,只允一个Resource Bundle采用默的属性Key。
4. null:指定MessageSources
如何理未知消息的key,如果true,返回空字符串,如果false,返回相字串,默认为false
5. prameter:指定MessageSources的
源文件名,如果a.b.ApplicationResources,则实际对应的文件路径WEB-INF/classes/a/b/ApplicationResources.properties.

8. plugin-in元素

  配置Struts的插件,属性如下:
1. className:指定的Struts插件
,必须实现org.apache.struts.action.PlugiIn接口。

如:<plug-in className="a.b.c."/>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值