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

  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="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="org.springframework.web.struts.DelegatingActionProxy">

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

d) 将UserLoginAction配置到applicationContext.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">

 <bean name="/userLogin"

  class="net.w3oa.his.web.struts.action.UserLoginAction"

  abstract="false" lazy-init="default" autowire="default"

  dependency-check="default">

 </bean>

</beans>

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

五、添加Hibernate 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">

 <bean name="/userLogin"

  class="net.w3oa.his.web.struts.action.UserLoginAction"

  abstract="false" lazy-init="default" autowire="default"

  dependency-check="default">

 </bean>

 <bean id="sessionFactory"

  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

  <property name="configLocation"

   value="classpath:hibernate.cfg.xml">

  </property>

 </bean>

</beans>

hibernate.cfg.xml文件的内容为:

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

<!DOCTYPE hibernate-configuration PUBLIC

          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->

<hibernate-configuration>

 <session-factory>

  <property name="connection.url">

   jdbc:jtds:sqlserver://localhost:1433/WebHIS

  </property>

  <property name="dialect">

   org.hibernate.dialect.SQLServerDialect

  </property>

  <property name="myeclipse.connection.profile">WebHIS</property>

  <property name="connection.username">sa</property>

  <property name="connection.password">sa</property>

  <property name="connection.driver_class">

   net.sourceforge.jtds.jdbc.Driver

  </property>

 </session-factory>

</hibernate-configuration>

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

六、访问数据库数据

a) 打开DB Browser,连接数据库并生成User,UserDAO类及User.hbm.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">

 <bean name="/userLogin"

  class="net.w3oa.his.web.struts.action.UserLoginAction"

  abstract="false" lazy-init="default" autowire="default"

  dependency-check="default">

 </bean>

 <bean id="sessionFactory"

  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

  <property name="configLocation"

   value="classpath:hibernate.cfg.xml">

  </property>

 </bean>

 <bean id="UserDAO" class="net.w3oa.his.hibernate.UserDAO">

  <property name="sessionFactory">

   <ref bean="sessionFactory" />

  </property>

 </bean>

</beans>

b) 修改UserLoginAction类的内容。

/*

 * Generated by MyEclipse Struts

 * Template path: templates/java/JavaClass.vtl

 */

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

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import net.w3oa.his.hibernate.User;

import net.w3oa.his.hibernate.UserDAO;

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

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

/**

 * 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

  */

 private User user;

 private UserDAO userDAO;

 public User getUser() {

  return user;

 }

 public void setUser(User user) {

  this.user = user;

 }

 public UserDAO getUserDAO() {

  return userDAO;

 }

 public void setUserDAO(UserDAO userDAO) {

  this.userDAO = userDAO;

 }

 /**

  * 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;

  String userName = userLoginForm.getUserName();

  String password = userLoginForm.getPassword();

  this.user = this.userDAO.findById(userName);

  if (userName.equals(user.getUserName()) && password.equals(user.getPassword())) {

   return mapping.findForward("success");

  }

  return mapping.findForward("failure");

 }

}

c) 修改applicationContext.Xml文件

i.  添加新的bean节点

<bean id="User" class="net.w3oa.his.hibernate.User"

  abstract="false" lazy-init="default" autowire="default"

  dependency-check="default">

</bean>

ii.  修改name="/userLogin"的bean节点。如下:

 <bean name="/userLogin"

  class="net.w3oa.his.web.struts.action.UserLoginAction"

  abstract="false" lazy-init="default" autowire="default"

  dependency-check="default">

  <property name="user">

   <ref local="User" />

  </property>

  <property name="userDAO">

   <ref local="UserDAO" />

  </property>

</bean>

将工程部署到web服务器运行测试成功。

Ok,到此为止一个S-S-H小例子完成。

注:

    最近应一个朋友的要求做一个S-S-H架构模式的小东西,很久没有使用SSH架构模式进行开发了,现在都不知道如何进行配置了,配置的过程中除了一些问题,后来去群里请教,被一个刚从培训中心出来的小子给骂了一通,还不帮俺解决问题。感觉现在程序员以往的那种乐于助人的精神竟一时间不覆存在。

    痛定思痛决定自己写一个小DEMO出来,以避免忘却S-S-H配置的老开发员们再受此辱。

    转载请注明出处.谢谢.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值