冰河の泥鱼的专栏

非学无以成才,非志无以成学.

原创 MyEclipse 6中S-S-H联合开发入门收藏

新一篇: struts标签使用举例-logic | 旧一篇: vector介绍

 MyEclipse 6中S-S-H联合开发入门

开发环境:MyEclipse Version: 6.0.0 M1 + apache-tomcat-6.0.14 + JDK6

下面我以用户登录为例子进行演示S-S-H 如何进行联合开发。

一、打开MyEclipse,创建一个新的web工程。

二、添加Struts Capabilities

    添加完成后web.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"

 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

 <servlet>

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

  <servlet-class>

   org.apache.struts.action.ActionServlet

  </servlet-class>

  <init-param>

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

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

  </init-param>

  <init-param>

   <param-name>debug</param-name>

   <param-value>3</param-value>

  </init-param>

  <init-param>

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

   <param-value>3</param-value>

  </init-param>

  <load-on-startup>0</load-on-startup>

 </servlet>

 <servlet-mapping>

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

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

 </servlet-mapping>

 <welcome-file-list>

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

 </welcome-file-list>

</web-app>

struts-config.xml 文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

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

 <data-sources />

 <form-beans />

 <global-exceptions />

 <global-forwards />

 <action-mappings />

 <message-resources

  parameter="net.w3oa.his.web.struts.ApplicationResources" />

</struts-config>

修改UserLoginAction.Java文件

/*

 * Generated by MyEclipse Struts

 * Template path: templates/java/JavaClass.vtl

 */

package net.w3oa.his.web.struts.action;

import javax.servlet.http.*;

import net.w3oa.his.web.struts.form.UserLoginForm;

import org.apache.struts.action.*;

/** 

 * MyEclipse Struts

 * Creation date: 12-18-2007

 * 

 * XDoclet definition:

 * @struts.action path="/userLogin" name="userLoginForm" input="/form/userLogin.jsp" scope="request" validate="true"

 * @struts.action-forward name="success" path="/welcome.jsp"

 */

public class UserLoginAction extends Action {

 /*

  * Generated Methods

  */

 /** 

  * Method execute

  * @param mapping

  * @param form

  * @param request

  * @param response

  * @return ActionForward

  */

 public ActionForward execute(ActionMapping mapping, ActionForm form,

   HttpServletRequest request, HttpServletResponse response) {

  UserLoginForm userLoginForm = (UserLoginForm) form;// TODO Auto-generated method stub

  return null;

 }

}

修改后的UserLoginAction.Java文件内容为:

/*

 * Generated by MyEclipse Struts

 * Template path: templates/java/JavaClass.vtl

 */

package net.w3oa.his.web.struts.action;

import javax.servlet.http.*;

import net.w3oa.his.web.struts.form.UserLoginForm;

import org.apache.struts.action.*;

/** 

 * MyEclipse Struts

 * Creation date: 12-18-2007

 * 

 * XDoclet definition:

 * @struts.action path="/userLogin" name="userLoginForm" input="/form/userLogin.jsp" scope="request" validate="true"

 * @struts.action-forward name="success" path="/welcome.jsp"

 */

public class UserLoginAction extends Action {

 /*

  * Generated Methods

  */

 /** 

  * Method execute

  * @param mapping

  * @param form

  * @param request

  * @param response

  * @return ActionForward

  */

 public ActionForward execute(ActionMapping mapping, ActionForm form,

   HttpServletRequest request, HttpServletResponse response) {

  UserLoginForm userLoginForm = (UserLoginForm) form;// TODO Auto-generated method stub

  return mapping.findForward("success");

 }

}

注:此时将工程部署到web服务器运行测试一切正常。

三、添加Spring Capabilities

    在可选项里选择可能用到的包。这里我有点懒,就全选了。

    添加完毕之后web.xml,struts-config.Xml两个文件并无变化。

applicationContext.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

</beans>

注:此时将工程部署到web服务器运行测试一切正常。

四、将spring与struts集成

a) 将org.springframework.web.struts.ContextLoaderPlugIn加入struts-config.Xml文件中。

此时struts-config.xml 文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

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

 <data-sources />

 <form-beans />

 <global-exceptions />

 <global-forwards />

 <action-mappings />

 <message-resources

  parameter="net.w3oa.his.web.struts.ApplicationResources" />

 <plug-in

  className="org.springframework.web.struts.ContextLoaderPlugIn">

  <set-property property="contextConfigLocation"

   value="/WEB-INF/classes/applicationContext.xml" />

 </plug-in>

</struts-config>

b) 添加测试用UserLoginAction、UserLoginActionForm及userLogin.jsp文件

添加完成后struts-config.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

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

 <data-sources />

 <form-beans>

  <form-bean name="userLoginForm"

   type="net.w3oa.his.web.struts.form.UserLoginForm" />

 </form-beans>

 <global-exceptions />

 <global-forwards />

 <action-mappings>

  <action attribute="userLoginForm" input="/form/userLogin.jsp"

   name="userLoginForm" path="/userLogin" scope="request"

   type="net.w3oa.his.web.struts.action.UserLoginAction">

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

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

  </action>

 </action-mappings>

 <message-resources

  parameter="net.w3oa.his.web.struts.ApplicationResources" />

 <plug-in

  className="org.springframework.web.struts.ContextLoaderPlugIn">

  <set-property property="contextConfigLocation"

   value="/WEB-INF/classes/applicationContext.xml" />

 </plug-in>

</struts-config>

注:此时将工程部署到web服务器运行测试一切正常。

c) 修改<action/>节点属性type="org.springframework.web.struts.DelegatingActionProxy"

修改后的struts-config.xml文件内容如下:

<?xml version=