XML配置

XML部分:

<servlet>

<servlet>

<servlet-name>check</servlet-name>

<servlet-class>test2.Check</servlet-class>

<init-param>

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

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

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>check</servlet-name>

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

</servlet-mapping>

<param-name>配置初始化参数

<load-on-startup>标明此servlet在服务器启动时创建的实例数目

 

 

<Filter过滤器:>

<filter>

<filter-name>encoding</filter-name>

<filter-class>test2.EnCoding</filter-class>

</filter>

<filter-mapping>

<filter-name>encoding</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

 

<默认页的设置:>

<welcome-file-list>

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

</welcome-file-list>

 

 

<标签库:>

<taglib>

<taglib-uri>struts-bean.tld</taglib-uri>

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

</taglib>

jsp引用方式<%@ taglib uri="struts-bean.tld" prefix="bean" %>

 

 

 

<错误处理:>

<error-page>

<error-code>404</error-code>

<location>/common/404.jsp</location>

</error-page>

<error-page>

<error-code>java.lang.NullPointerException</error-code>

<location>/common/404.jsp</location>

</error-page>

 

 

 

 

      Struts部分:(注:子元素书写顺序为:<data-sources>)<form-beans><global-exceptions><global-forwards><action-mappings><controller><message-resources><plug-in>

<数据源:>

<data-sources>

<data-source key="oracleDB1" type="org.apache.commons.dbcp.BasicDataSource">

<set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver" />

<set-property property="url" value="jdbc:oracle:thin:@127.0.0.1:1521:XDF" />

<set-property property="maxActive" value="5" />

<set-property property="username" value="scott" />

<set-property property="password" value="tiger" />

<set-property property="autoCommit" value="true" />

</data-source>

</data-sources>

注:一个数据源可以写多个<data-source>子元素。

key:数据源标识,保存于ActionServletServletContextm,用于将来在程序代码访问该数据源。

driverClassName:数据库驱动完整类名。

url:要连接的数据库URL

maxActive:同时打开的数据库连接的最大数目。

usernamepassword:连接数据库的用户名和密码。

autoCommit:设置SQL语句执行后是否自动提交。

 

 

<ActionForm Bean>

<form-beans>

<form-bean  name=” formBean1”  type=”beanClass1”>

<form-bean  name=” beanName2”  type=” beanClass2”>

<form-bean  name=”registForm”  type=”org.apache.struts.action.DynaActionForm”>

       <form-property  name=”name”  type=”java.lang.String” />

       <form-property  name=”password”  type=”java.lang.String” />

</form-bean>

</form-beans>

nameBean的名字,以后可以通过名字来访问特定的Bean

typeBean所属的类名,包括所在包的完整路径。

<form-property>type的类型为:java.lang.BigDecimaljava.lang.BigIntegerjava.lang.Booleanjava.lang.Bytejava.lang.Characterjava.lang.Classjava.lang.Doublejava.lang.Floatjava.lang.Integerjava.lang.Longjava.lang.Shortjava.lang.Stringjava.sql.Datejava.sql.Timejava.sql.Timestamp(java基本类型的封装类型,都是存在HashMap中的所以返回类型为Object需要强转)

 

 

<异常处理:>

<global-exception>

<exception  key="error.name.required"  path="error.jsp"  scope="request" type="classmate.MyException" />

</global-exception>

 

 

<ActionForward>

<global-forwards>

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

       <forward  name=”login”  path=”right.jsp”  />

</global-forwards>

nameAction中使用此标识来查找确定目标响应页面。

path:指定目标响应页面的相对URL

redirect:标明页面转向的方式。(注:其值为forward()response.sendRedirect();在action此属性为全局变量,对所有的action起作用)

contextRelative:设置寻找路径是绝对路径还是相对路径,true是相对。

 

<Action>

<action-mappings>

    <acion  path=”/login”  type=”classmate.LoginAction”  name=”formBean1”  scope=”request”

input=”/login.jsp”  />

    <action  path=”/regist”  forward=”/regist.jsp”  />

</action-mappings>

path:客户端请求的目标页面URL

type:用于处理请求的处理器Action对象所属的类名,包括所在包的完整路径。

scope:该ActionForm Bean的使用范围,通常为requestsession

input:处理请求出错时转向的页面。

validate:用于表明是否进行表单验证。为true时在填充ActionBean Form时进行validate验证。

redirect:标明页面转向的方式。(注:其值为forward()response.sendRedirect();在action此属性为局部变量,只对于此action起作用)

name:用于自动接收该请求表单信息的ActionForm Bean的名字,该名字必须在前面使用<form-Bean>元素声明过。

unknown:默认为false。该属性设置为true,就是声明这个Action将处理整个应用中所有未找相应处理Action的请求,当然,一个应用系统中也只能一个unknown属性可以设为true

validate设置为true,则在调用Action对象上的perform()方法前,ActionServlet将调用ActionForm beanvalidate()方法来进行输入检查

<RequestProcessor扩展类的声明:>

<controller processorClass=”classmate.MyRequestProcessor” />

processorClassRequestProcessor扩展类的类名,包括所在包的完整路径。

 

<消息资源包:>

<message-resources parameter="test.MyResource" />

资源包扩展名:properties

 

 

<Struts插件:>

<plug-in ClassName="org.apache.struts.validator.ValidatorPlugIn">

<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />

    <set-property property="stopOnFirstError" value="false" />

</plug-in>

 

 

 

 

 

数据源使用示例:

xml配置:

<data-sources>

<data-source key="oracleDB1" type="org.apache.commons.dbcp.BasicDataSource">

<set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver" />

<set-property property="url" value="jdbc:oracle:thin:@127.0.0.1:1521:XDF" />

<set-property property="maxActive" value="5" />

<set-property property="username" value="scott" />

<set-property property="password" value="tiger" />

<set-property property="autoCommit" value="true" />

</data-source>

<data-source key="oracleDB2" type="org.apache.commons.dbcp.BasicDataSource">

       ........................................................

</data-source>

</data-sources>

业务处理类:

public class DBUser{

           DataSource  datasource;

         public DBUser(DataSource  datasource){

                   this.datasource=datasource;

                Connection con=datasource.getConnection();

}

}

Action:

ServletContext context=servlet.getServletContext();

DataSource datasource=(DataSource)context.getAttribute(request,"oracleDB1");

 

 

 

动态表单ActionForm Bean使用示例:

xml配置:

<form-beans>

<form-bean  name=”registForm”  type=”org.apache.struts.action.DynaActionForm”>

      <form-property  name=”name”  type=”java.lang.String” />

      <form-property  name=”pwd1”  type=”java.lang.String” />

<form-property  name=”pwd2”  type=”java.lang.String” />

</form-bean>

</form-beans>

 

<action-mapping>

<action  path=”/registSubmit”  type=”classmate.RegistAction”  name=”registForm”  scope=”request”  input=”/error.jsp” />

</action-mapping>

Action:

DynaActionForm dyform=(DynaActionForm)form;

String name=(String)dyform.get(”name”);

String pwd1=(String)dyform.get(”pwd1”);

String pwd2=(String)dyform.get(”pwd2”);

 

 

 

<action path = "/processuser" type = "com.sinosoft.temp.ui.control.facade.UIAgUserProcessFacade" >
            <forward name = "prepareInsert" path = "/system/user/edituser.jsp?actiontype=insert" />
            <forward name = "query" path = "/system/user/queryuserresult.jsp" />

           <forward name = "delete" path = "/processuser.do?actiontype = query">
      </action>

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值