整理的WEBWORK+SPRING开发流程和主意事项

开发流程:

1)安装JDK1.5,Eclipse等开发平台、环境;
2)新建工程:New->MyEclipse->Web Project;
3)导入Spring Library:MyEclipse->Add Spring Capabilities,会在WEB-INF下面生成缺省applicationContext.xml;
4) 拷贝Spring和WEBWORK的相关JAR到WEB-INF下的lib目录,会在工程下生成.classpath文件;
5)配置WEB-INF下面的web.xml,加入spring配置文件,指定web根目录,加入webwork映射,注册webwork标签库,加入框架所需的SERVLET配置,并拷贝webwork.tld到WEB-INF下面;
6)拷贝配置xwork.xml,并配置相关的页面跳转信息,编译时会自动拷贝到WEB-INF下的classes目录,运行时起映射作用;
7)配置applicationContext.xml,对每个DAO配置一节,DAO中引用的其他DAO全部要在<property>中配置,相当于实例化,
   另外数据访问所需的数据源也在此定义,例如在TOMCAT中:
   <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
        <property name="jndiName"> 
            <value>java:comp/env/jdbc/dataSource</value> 
        </property> 
  </bean>
  在WEBLogic中 <value>jdbc.quality</value>;
8)在src中建action、dao、bean等,在WebRoot下建jsp,htm,xml等

开发例程:
1)<input id="username" name="operate.userName"  type="text" >,
  在testAction定义有bean类型的变量operate,其属性userName通过文本框直接提交到Action进行处理;
2)<input id="username"  value="<ww:property value="operate.userName"/>"  type="text" >
  页面上的文本框的值拿到Action里面bean类型的变量operate的属性userName的值
3)DAO都对应一个Interface,在Action里面通过使用接口来实例化DAO,
   例如:private ITest testDAO=null,testDAO不必初始化,通过在applicationContext.xml中进行反转初始化;
4)Action缺省执行execute()方法,例如:<form method="post" action="<%=request.getContextPath()%>/testWEB/testAction.action">,如果调用别的方法,例如executeOther()方法,则页面的写法如下:
<form method="post" action="<%=request.getContextPath()%>/testWEB/testAction!executeOther.action">
5)属性的get,set方法可以自动生成:Source->Generate Getters and Setters
6)ALT+/,或ALT+.可以弹出语法
webwork详细语法参考《webwork in action.doc》。
注意事项:
1.尽量给所有的类的成员变量加Getters and Setters方法。
2.在spring的配置文件applicationContext.xml中,
如加入
<bean id="utilsDao" parent="baseTransaction">
  <property name="target">
      <bean class="quality.dao.UtilsDao">
               <property name="jdbcTemplate"><ref bean="jdbcTemplate"/></property>
             </bean>
  </property>
</bean>
时,切记bean的id名称一定要与调用该dao的Action中的dao的对象同名;如果property中还包含其他对象,对应dao中也一定要包含该对象作为其成员变量。
3.申明一个新的action时,一定要保证其实现xwork里面的Action接口,不要混淆。import com.opensymphony.xwork.Action;
4.action中所有的方法不要带参数。
5.action中用接口来实例化dao对象,如:private IOperatorDao operatorDao = null;

原文地址:https://www.cnblogs.com/willpower/p/1095393.html