Struts应用配置

 

Web.xml文件配置
    <servlet>

       <servlet-name>action</servlet-name>

    <servlet-class>org.appache.struts.action.ActionServlet</servlet-class>

       <init-param>

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

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

       </init-param>

    </servlet>

 

    <servlet-mapping>

       <servlet-name>action</servlet-name>

       <url-pattern>*.do</url-pattern>

    </servlet-mapping>

 

struts-config.xml文件配置

 

 

 

<!DOCTYPE struts-config PUBLIC

          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"

          "http://struts.apache.org/dtds/struts-config_1_2.dtd">

 

<struts-config>

 

<form-beans>

<!--type:继承ActionForm的实现类  -->

<form-bean name="logonForm" type="com.zht.struts.LoginActionForm" />

</form-beans>

 

<action-mappings>

<!--path:访问路径,type:继承Action的实现类,

name:对ActionForm的引用,scope:请求的作用域,默认为session  -->

<action path="/login"

type="com.zht.struts.LoginActon" 

name="logonForm"

scope="request">

<forward name="success" path="/success.jsp" />

<forward name="error" path="/error.jsp" />

</action>

</action-mappings>

 

</struts-config>

 

 

 

Struts配置文件 说明

1<Struts-config>元素

<struts-config>元素是Struts配置文件的根元素,

<struts-cofig>元素有8个子元素。它的DTD定义如下:

<!ELEMENT struts-config(data-sources?,formbean?,global-exeception?,global-forward?,action-mapping,controller?,message-resources*,plug-in*)>

在Struts配置中,必须按照以上的DTD指定的先后顺序来配置

<Struts-config>元素的各个子元素,如果颠倒了这些元素的配置文件中的位置,在Struts应用启动时会生成错误。

 

<data-sources>元素

<data-sources>元素包含零个、一个或者多个<data-sources>子元素,

<data-sources>用于配置特定的数据源,它可以包含多个<set-property>子元素,用于设置数据源的各种属性。

配置了数据源后,就可以在Action类中访问数据源,在org.apache.struts.action.Action类中定义了getDataSource(HttpRequrst)方法,它用于获取数据源对象的引用。

 

DataSource dataSource; 

Connection connection;

dataSource=getDataSource(request); 

connection=dataSource.getConnection();

 

也可以在配置文件中声明多个数据源,此时需要为每一个数据源分配唯一的key值,通过改值来标识特定的数据源。 

 

2<form-beans>元素

<form-beans>元素用来配置多个ActionForm Bean,

<form-beans>包含多个<forom-bean>子元素,,每个<from-bean>包含多个属性,ClassName , name,type

 

<form-beans>

<form-bean name="HelloForm" type="hello.HelloForm" />

</form-beans>

 

注意:配置动态ActionForm Bean,还必须配置<form-bean>元素的<form-property>元素。

 

<form-beans>

<form-bean name="HelloForm" type="hello.HelloForm" />

<form-bean name="userForm" type="org.apache.struts.action.DynaAction">

<from-property name="firstname" type="java.lang.String" />

<form-property name="secondname" type="java.lang.String">

<form-property name="age" type="java.Integer" initial="18">

</form-bean>

</form-beans>

 

3<global-exception>元素

<global-exception>用于配置异常处理,

<global-exception>元素可以包含零个或者多个<exception>元素。

 

<exception>元素用来设置java异常和异常处理类org.apache.struts.action,Exception Hander之间的映射。 

 

4<gloable-forwards>元素

<global-forwards>元素用来声明全局的转发关系,

<global-forwards>有零个或多个<forward>元素组成。

 

<forward>元素用于把一个逻辑映射到特定的URL 属性 描 述 className 和<forward>元素对应的配置类,默认为org.apache.struts.action.ActionForWard 

name 转发路径的逻辑名,此项时必须的

path 指定或者重定向的URI。此项时必须的,必须以”/”开头

redirect此项是true,表示是执行重定向的动作,此项是false时,表示请求转发。

 

<global-forwards>

<forward name="forward1" path="/Action1.do" />

<forward name="forward1" path="/Action2.do" />

</global-forwards>

 

如果jsp1.jsp把请求转发给Action1,可以使用以下代码:

<html:link forward=”forward1”>或者<logic:forward name=”forward1”>

如果Action1的execute()方法把请求转发给JSP2.jsp,可以使用一下代码:

return(mapping.findForward(“forward2”))

 

5<action-mapping>元素

<action-mapping>元素包含零个或者多个<action>元素。

<action>元素描述了从特定的请求路径到相应的Action类的映射。

 

6<controller>元素

<controller>元素用于配置ActionServlet。

 

7<message-resources>元素

<message-resources>元素用于配置Resource Bundle,ResourceBudle用于存放本地化消息文件。

 

ActionForm 的要求

创建一个ActionForm 并不困难,但是你的类必须符合一些要求:

ActionForm必须扩展自org.apache.struts.ActionForm。基类ActionForm是不能实例化的。

 

 

你可能感兴趣的:(java,xml,struts)