`
gstarwd
  • 浏览: 1525532 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MyEclipse开发SSH(Struts+Spring+Hibernate)入门 【有图】

    博客分类:
  • SSH
阅读更多
MyEclipse开发SSH(Struts+Spring+Hibernate)入门
2008年03月06日 星期四 11:24

(本文参考自 oksonic 的“Struts+Spring+Hibernate练习(完整) ”)

源码下载:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2857703

1. 准备

工具:MyEclipse 6.0.1 GA mysql-connector-java-5.0.4-bin.jar MySql GUI Tools 5.0 (便于管理MySql数据库,不是必须)

环境:Tomcat 5.5 MySql 5.0

1.1. 新建工程

操作:[Menu] File/New/Web Project

工程名:login

 

2. Struts 部分


2.1. 添加 Struts 功能支持

操作:[Menu] MyEclipse/Project Capabilities/Add Struts Capabilities

 

 

2.2. 创建 ActionForm 类

操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Form

类名:LoginForm

 

在 “Form Properties” 选项卡为 loginForm 新增两个属性:username、password;

在 “JSP” 选项卡钩选 “Create JSP form” 选项,将新建路径改为 “/login.jsp”(login.jsp文件将被自动创建)。

2.3. 创建 Action 类

操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Action

类名:LoginAction

 

在 “Form” 选项卡的 “Name” 项选择 “loginForm”,”Input Source” 项输入 “/login.jsp”。

2.4. 创建 index.jsp 文件

如果没有,创建 index.jsp 文件,并添加一个指向 login.jsp 的链接:<a href=”login.jsp”>Login</a>

2.5. 创建Forword类

操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Forword

类名:indexForword

 

“Name” 项输入 “indexForword” ,”Path” 项输入 “/index.jsp” 。

2.6. 修改 LoginAction.java 文件

修改 LoginAction 类的 execute 方法:

public class LoginAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
String username=loginForm.getUsername();
String password=loginForm.getPassword();
if(username.equals(”test”)||password.equals(”test”)){
return mapping.findForward(”indexForword”);
}else{
return mapping.getInputForward();
}
}
}

2.7. 修改 login.jsp 文件

修改 <html:form> 标签:<html:form action=”/login”>

2.8. 测试

操作:[Menu] Run/Run,选择 MyEclipse Server Application 方式运行

要正常执行Run操作,需先安装 Tomcat5.5 。

 

点击 index.jsp 页面的 “Login” 链接,跳转到 login.jsp 页面。在 login.jsp 页面输入 “test/test”,应该会登录成功,然后跳转到 index.jsp 页面;输入 “test/123″ ,应该保持在 login.jsp 页面。

如果测试成功,证明 Structs 运行正常。

3. Spring 部分


3.1. 添加 Spring 功能支持

操作:[Menu] MyEclipse/Project Capabilities/Add Spring Capabilities

 

Spring 版本( Spring version )选择 “Spring 1″;

开发包(libraries)选择 “Spring 1.2 AOP Libraries、Spring 1.2 Core Libraries、Spring 1.2 Persistence Core Libraries、Spring 1.2 Persistence JDBC Libraries” 四项;

JAR Library Installation 选择 “copy checked…” ,”Library Folder” 项选择 “/WebRoot/WEB-INF/lib”(这样的话所需的类库都将拷贝到项目目录,方便以后的布署)。

点击 “下一步(Next)” 创建配置文件,修改文件路径(Folder)到 “WebRoot/WEB-INF” 目录(以便和Struts配置文件一起管理),文件名称为默认的”applicationContext.xml”。

 

点击 “完成(Finish)” 。

3.2. 配置 struts-config.xml 文件

添加 Spring 插件(在 <message-resources> 标签后面添加):

<plug-in className=”org.springframework.web.struts.ContextLoaderPlugIn”>
<set-property property=”contextConfigLocation” value=”/WEB-INF/applicationContext.xml” />
</plug-in>

修改 LoginAction 的配置(只需修改 type 属性):

<action-mappings >
<action
attribute=”loginForm”
input=”/login.jsp”
name=”loginForm”
path=”/login”
scope=”request”
type=”org.springframework.web.struts.DelegatingActionProxy ” />

</action-mappings>

绿色字体部份为被修改过的内容,这里将使用 spring 的代理器 DelegatingActionProxy 来对 Action 进行控制。

3.3. 修改 Spring 配置文件 applicationContext.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”>

<beans>
<bean name=”/login” class=”com.login.struts.action.LoginAction” singleton=”false”></bean>
</beans>

绿色字体是关于接受和处理 Action 控制权的配置内容,”com.login.struts.action.LoginAction” 即为原 struts 里的配置。

3.4. 测试

同上一次测试。测试成功证明 Spring 运行正常。

4. Hibernate 部分

下面开始 Hibernate 部分,将原例修改为使用数据库进行用户名/密码验证。

4.1. 创建 mysql 数据库和表

添加表的代码如下:

CREATE TABLE user_table(
ID int NOT NULL auto_increment,
USERNAME varchar(45) NOT NULL default ”,
PASSWORD varchar(45) NOT NULL default ”,
PRIMARY KEY (ID)
)

再添加一条记录:

insert into user_table (USERNAME,PASSWORD) values (’test’,'test’)

4.2. 创建 MyEclipse 数据库驱动(DB Driver)

操作:[Menu] MyEclipse/Prefrences/MyEclipse/Database Explorer/Database Driver/DB Brower

 

在 DB Brower 的菜单中选择 “New” ,”Driver Name” 项输入 “login-conn” ,”Connection URL” 项输入 “jdbc:mysql://localhost:3306/test” ,然后输入正确的用户名(User Name)和密码(Password)按实际情况输入;

在 “Driver JARs” 项添加 “mysql-connector-java-5.0.4-bin.jar” (可从网上下载),在 “Driver classname” 里选择 “com.mysql.jdbc.Driver” ,其它自选。

点击 “完成(Finish)”。

4.3. 添加 Hibernate 功能支持

操作:[Menu] MyEclipse/Project Capabilities/Add Hibernate Capabilities

 

Hibernate 版本(Hibernate Specification)选择 “Hibernate 3.1″ ,开发包(libraries)选择 Hibernate 3.1 Core Libraries 一项;

JAR Library Installation 选择 “copy checked…” ,”Library Folder” 选择 “/WebRoot/WEB-INF/lib” 。

点击 “下一步(Next)” 设置配置文件,选择 “Spring configuration file (applicationContext.xml)” 。

 

“下一步(Next)” 设置 Spring-Hibernate,选择 “Existing Spring configuration file” ,”SessionFactory ID” 项输入 “sessionFactory” 。

 

 

“下一步(Next)” 创建数据源对象,在 Bean Id 中输入 dataSource,”DataSource” 项选择 “Use JDBC Dirver” ,DB Driver 项选择 “login-conn” ,其余项会自动填充;

 

记得选中 “Copy DB driver jar(s) to project and add to buidpath” 项,以便将数据连接的库文件复制到项目,方便以后的布署。

“下一步(Next)” 创建 SessionFactory 类,”Java package” 项设置为 “com.login.Hibernate” (没有则点击”New”按钮添加),”Class name” 项修改为”SessionFactory” ,Java Compliance Level选择和创建项目时选择的Java版本。(本例中并没有用到SessionFactory类,留作今后扩展)

 

点击 “完成(Finish)”。

4.4. 创建对象关系映射(ORM)的相关文件

操作:[Menu] Window/Open Perspective/MyEclipse Database Explorer

 

选中 user_table 表,点击右键,在出现的菜单中选择 “Hibernate Reverse Engnieering” 。

 

在弹出的窗口中保持 “Java package” 项为 “com.login” ;

选中 “Hibernate mapping file (*.hbm.xml) for each databases table” ,并保持 “Update hibernate…” 项选中;

选中 “Java Data Object” 项,并保持 “Create abstract class” 选中;

“Base persistent class” 项留空;

取消 “Java Data Access Object…” 项和 “Use custom templates” 项。

点击 “下一步(Next)” ,再点击 “下一步(Next)” ,在 “Configure reverse engineering details” 页选中 “user_table” 表,在右边出现的 “Class Name” 项中输入 “com.login.User”,其它不变。

点击 “完成(Finish)”。

完成此操作,会在 “com.login” 包下创建三个文件:AbstractUser.java、User.java、User.hbm.xml。

4.5. 创建 UserDAO.java 接口和 UserDAOImpl.java 类

UserDAO 和 UserDAOImpl 通过 Hibernate 访问数据库。

UseDAO.java 内容如下:

package com.login;

public interface UserDAO {
public abstract boolean isValidUser(String username, String password);
}

UserDAOImpl.java 内容如下:

package com.login;

import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {
private static String hql = “from User u where u.username=? “;

public boolean isValidUser(String username, String password) {
// 验证用户
List userList = this.getHibernateTemplate().find(hql, username);
if (userList.size() > 0) {
return true;
}
return false;
}
}

4.6. 修改 LoginAction.java 文件

使用 UseDAO 对象来验证:

package com.login.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.login.struts.form.LoginForm;
import com.login.UserDAO;

public class LoginAction extends Action {
private UserDAO userDAO;

public UserDAO getUserDAO() {
return userDAO;
}

public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {

LoginForm loginForm = (LoginForm) form;
String username=loginForm.getUsername();
String password=loginForm.getPassword();

if( userDAO.isValidUser( username, password ) ){
return mapping.findForward( “indexForword” );
}else{
return mapping.getInputForward();
}
}
}

绿色字体为修改部分。

4.7. Spring 的 最终 配制文件 applicationContext.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”>

<beans>

<bean id=”dataSource”
class=”org.apache.commons.dbcp.BasicDataSource”>
<property name=”driverClassName” value=”com.mysql.jdbc.Driver”></property>
<property name=”url” value=”jdbc:mysql://localhost:3306/test”></property>
<property name=”username” value=”root”></property>
<property name=”password” value=”root”></property>
</bean>

<!– 配置sessionFactory, 注意这里引入的包的不同 –>
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
<property name=”dataSource”>
<ref local=”dataSource” />
</property>
<property name=”mappingResources”>
<list>
<value>com/login/User.hbm.xml</value>
</list>
</property>
<property name=”hibernateProperties”>
<props>
<prop key=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect</prop>
<prop key=”hibernate.show_sql”>true</prop>
</props>
</property>
</bean>

<bean id=”transactionManager” class=”org.springframework.orm.hibernate3.HibernateTransactionManager”>
<property name=”sessionFactory”>
<ref local=”sessionFactory” />
</property>
</bean>

<bean id=”userDAO” class=”com.login.UserDAOImpl”>
<property name=”sessionFactory”>
<ref local=”sessionFactory” />
</property>
</bean>

<bean id=”userDAOProxy” class=”org.springframework.transaction.interceptor.TransactionProxyFactoryBean”>
<property name=”transactionManager”>
<ref bean=”transactionManager” />
</property>
<property name=”target”>
<ref local=”userDAO” />
</property>
<property name=”transactionAttributes”>
<props>
<prop key=”insert*”>PROPAGATION_REQUIRED</prop>
<prop key=”get*”>PROPAGATION_REQUIRED,readOnly</prop>
<prop key=”is*”>PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

<bean name=”/login” class=”com.login.struts.action.LoginAction” singleton=”false”>
<property name=”userDAO”>
<ref bean=”userDAOProxy” />
</property>
</bean>

</beans>

4.8. 测试

同第一次测试。

分享到:
评论

相关推荐

    MyEclipse开发SSH(Struts+Spring+Hibernate)入门

    MyEclipse开发SSH(Struts+Spring+Hibernate)入门,html文件,简述MyEclipse开发SSH

    Myeclipse8.5下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3

    本文将详细介绍如何在MyEclipse 8.5环境下搭建基于Struts2.1、Spring3.0以及Hibernate3.3的SSH框架,并通过图解的方式引导读者完成整个搭建过程。 #### 二、创建 Web 项目 首先,需要在MyEclipse 8.5中创建一个新...

    MyEclipse开发SSH2(Struts2+Spring+Hibernate)教程

    ### MyEclipse开发SSH2(Struts2+Spring+Hibernate)教程精析 #### 一、开发环境准备 在深入探讨如何使用MyEclipse构建SSH2框架(Struts2 + Spring + Hibernate)之前,首要任务是确保开发环境的正确搭建。本教程...

    MyEclipse开发SSH(Struts+Spring+Hibernate).doc

    SSH(Struts+Spring+Hibernate)是一种经典的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。Struts提供了MVC(Model-View-Controller)架构,Spring则作为依赖注入(DI)和面向切面编程(AOP)容器,而...

    MyEclipse开发Struts+Spring+Hibernate入门(手把手教你)

    通过这个"MyEclipse开发Struts+Spring+Hibernate入门"教程,你将逐步掌握如何在MyEclipse环境下搭建SSH环境,创建并运行一个简单的SSH项目,从而对SSH开发有更深入的理解。实践过程中,不断动手操作、调试代码,是...

    MyEclipse开发SSH2(Struts2+Spring+Hibernate)应用教程

    MyEclipse开发SSH2(Struts2+Spring+Hibernate)应用教程——根据软件工程原则简化实现的JSP+J2EE入门教程 摘要:SSH2(Struts2+Spring+Hibernate)是当前开发Java动态网站的流行框架。虽然其涉及的技术较为繁杂,...

    开发SSH(Struts+Spring+Hibernate)入门

    SSH(Struts+Spring+Hibernate)是Java Web开发中一种常见的技术栈,它结合了Struts的MVC框架、Spring的依赖注入与事务管理以及Hibernate的对象关系映射工具,为开发者提供了一种高效、灵活的开发环境。在这个入门...

    用MyEclipse搭建Struts+Spring+Hibernate框架(图文).doc

    标题与描述均指向了“用MyEclipse搭建Struts+Spring+Hibernate框架”的主题,这一文档旨在指导读者如何在MyEclipse环境下构建一个基于Struts、Spring和Hibernate的开发框架,通常被称为SSH(Struts-Spring-Hibernate...

    Eclipse + MyEclipse整合Struts+Spring+Hibernate简单例子开发

    标题 "Eclipse + MyEclipse整合Struts+Spring+Hibernate简单例子开发" 指向的是一个关于如何在集成开发环境Eclipse与MyEclipse中搭建Struts、Spring和Hibernate(SSH)框架的教程。SSH是Java Web开发中常用的一个...

    Struts+Spring+Hibernate快速入门

    Struts+Spring+Hibernate 整合是开发Java Web应用程序的一种常见模式,也称为SSH框架。这个框架组合提供了从前端到后端的完整解决方案,适用于构建三层架构的应用程序。以下是关于这个话题的详细说明: 1. **Struts...

    struts+spring+hibernate经典整合入门myeclipse实例

    Struts、Spring和Hibernate是Java开发中非常经典的三大框架,它们的整合应用,通常被称为SSH框架集成。这个实例是专为初学者设计的,旨在帮助理解如何在MyEclipse环境中进行SSH的集成与应用。 首先,Struts是MVC...

    ssh框架实例过程(MyEclipse+struts+spring+hibernate整合)

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个实例是为初学者设计的,通过MyEclipse集成开发环境,详细介绍了如何将这三大框架整合到一个登录工程中。下面将详细...

    MyEclipse(Struts+Spring+Hibernate)入门实例

    ### MyEclipse(Struts+Spring+Hibernate)入门实例解析 #### 一、概述与环境配置 本教程旨在通过一个实际的项目案例,介绍如何利用MyEclipse集成开发环境搭建Struts+Spring+Hibernate(SSH)框架,实现一个基础的...

    MyEclipse 搭建Struts2+Spring2+Hibernate3整合SSH2

    在Java开发领域,Struts2、Spring和Hibernate这三大框架的整合,简称SSH2,是常见的企业级应用开发模式。MyEclipse作为一款强大的Java集成开发环境,提供了便捷的SSH2整合支持。以下是详细的搭建步骤及知识点解析: ...

    struts+spring+hibernate

    Struts、Spring 和 Hibernate 是Java开发中非常著名的三个开源框架,它们组合在一起形成的SSH(Struts、Spring、Hibernate)框架,是企业级Web应用开发的常用解决方案。SSH框架的整合可以实现模型-视图-控制器(MVC...

    Myeclipse10下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3

    Myeclipse10下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3 该文件的内容来自网络,我搜集并整理供大家参考学习。

    MyEclipse8.0 Struts2+Spring+Hibernate

    通过这种方式,MyEclipse8.0提供了强大的集成开发环境,使得开发者可以方便地整合Struts2、Spring和Hibernate,构建出高效、灵活的企业级应用。这个过程不仅涉及到技术的集成,也包括项目的结构设计和最佳实践的应用...

Global site tag (gtag.js) - Google Analytics