MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一)
2011-07-18 10:00
691 查看
1. 准备 工具:MyEclipse 5.1.0 GA、Tomcat 5.5
环境:Struts1.1、Spring1.2、Hibernate3.1、sqlserver2000
1.1. 新建工程
本范例使用最简单的登录模块来实践SSH的开发,旨在体会和入门SSH技术的整合
操作:[Menu] File/New/Web Project
工程名:login
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/0633704539893777500.jpg)
2.1. 添加 Struts 功能支持
操作:[Menu] MyEclipse/Project Capabilities/Add Struts Capabilities
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/1633704539894715000.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/2633704539895496250.jpg)
修改web.xml
分别创建index.jsp、login.jsp、success.jsp先不对jsp页面做任何修改
2.2. 创建 ActionForm 类
操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.1 Form
类名:LoginForm
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/3633704539896433750.jpg)
在 "Form Properties" 选项卡为 loginForm 新增两个属性:username、password;
2.3. 创建 Action 类
类名:LoginAction
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/4633704539897527500.jpg)
在 "Form" 选项卡的 "Name" 项选择 "loginForm","Input Source" 项输入 "/login.jsp"。
在Forwards中创建两个forward对象
success登录成功,跳转到success.jsp fail登录失败,跳转到login.jsp重新登录
此时struts-config.xml代码如下
2.4. 修改jsp 文件
index.jsp代码
login.jsp代码(其它代码相同)
success.jsp代码
2.5. 修改资源文件
ApplicationResources.properties文件如下
2.6. 修改 LoginAction.java 文件
修改 LoginAction 类的 execute 方法:
Action的流程是:如果用户名密码分别为aaron和123则跳转到登录成功页面success.jsp显示welcom!!!,否则,简单的标记为用户名和密码错误,并跳转到login.jsp页面,显示错误信息并重新登录
2.7. 测试
操作:[Menu] Run/Run(用 MyEclipse Server Application 方式运行)
在 index.jsp 页面输入 "aaron/123",登录成功;输入 "aaron/1111" ,跳转到 login.jsp 页面。
如果测试成功,证明 Structs 运行正常。
3.1. 添加 Spring 功能支持
操作:[Menu] MyEclipse/Project Capabilities/Add Spring Capabilities
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/5633704539898621250.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/6.jpg)
开发包(libraries)选择 "Spring 1.2 AOP Libraries、Spring 1.2 Core Libraries两项;
JAR Library Installation 选择 "copy checked..." ,"Library Folder" 项选择 "/WebRoot/WEB-INF/lib"(这样的话所需的类库都将拷贝到项目目录,方便以后的布署)。
点击 "下一步(Next)" 创建配置文件,修改文件路径(Folder)到 "src" 目录,文件名称为默认的"applicationContext.xml"。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/7.jpg)
选择完成,
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/8.jpg)
选择Keep Existing,成功导入Spring功能
导入spring.jar包(1.2.9)
3.2. 配置 struts-config.xml 文件
添加 Spring 插件(在 <message-resources> 标签后面添加):
粗体字部份为修改的内容,这里将使用 spring 的代理器 DelegatingActionProxy 来对 Action 进行控制。
3.3. 修改 Spring 配置文件 applicationContext.xml
粗体字是关于接受和处理 Action 控制权的配置内容,"com.login.struts.action.LoginAction" 即为原 struts 里的配置。
3.4. 增加log4j日志功能
增加日志功能方便调试程序,log4j.properties文件如下
注意: Add Struts Capabilities时并没有加入log4j.jar包,为了提供log4j功能,需要加上log4j.jar。
这里是因为导入Spring的时候附带导入了log4j.jar包,所以此处不用再另外导入log4j.jar包
3.5. 测试
同上一次测试。测试成功证明 Spring 运行正常。
4.1. 创建 sqlserver2000 数据库和表
添加表其中有id(标识),username,和password字段:
SQL代码如下:
再添加一条记录:
insert into user_table (username,password) values ('aaron','123')
4.2. 创建 MyEclipse 数据库驱动(DB Driver)
在 DB Brower 的菜单中选择 "New"
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/9.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/10.jpg)
"Profile Name" 项输入 "MyWeb" ,
“Driver”项选择Microsoft SQL Server
"Connection URL" 为"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyWeb"
然后输入正确的用户名(User Name)和密码(Password)按实际情况输入;
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/11.jpg)
点击 "完成(Finish)"。
接下去即可以添加Hibernate支持了。
环境:Struts1.1、Spring1.2、Hibernate3.1、sqlserver2000
1.1. 新建工程
本范例使用最简单的登录模块来实践SSH的开发,旨在体会和入门SSH技术的整合
操作:[Menu] File/New/Web Project
工程名:login
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/0633704539893777500.jpg)
2. Struts 部分
2.1. 添加 Struts 功能支持
操作:[Menu] MyEclipse/Project Capabilities/Add Struts Capabilities
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/1633704539894715000.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/2633704539895496250.jpg)
修改web.xml
<jsp-config> <taglib> <taglib-uri>/WEB-INF/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> </jsp-config> |
2.2. 创建 ActionForm 类
操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.1 Form
类名:LoginForm
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/3633704539896433750.jpg)
在 "Form Properties" 选项卡为 loginForm 新增两个属性:username、password;
2.3. 创建 Action 类
类名:LoginAction
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/4633704539897527500.jpg)
在 "Form" 选项卡的 "Name" 项选择 "loginForm","Input Source" 项输入 "/login.jsp"。
在Forwards中创建两个forward对象
success登录成功,跳转到success.jsp fail登录失败,跳转到login.jsp重新登录
此时struts-config.xml代码如下
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <data-sources /> <form-beans> <form-bean name="loginForm" type="struts.form.LoginForm"></form-bean> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings> <action path="/login" input="/login.jsp" name="loginForm" type="struts.action.LoginAction"> <forward name="success" path="/success.jsp"></forward> <forward name="fail" path="/login.jsp"></forward> </action> </action-mappings> <message-resources parameter="ApplicationResources" /></struts-config> |
index.jsp代码
<%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="/WEB-INF/struts-html" prefix="html" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html:html locale="true"> <head> <html:base /> </head> <body> <html:form action="login" method="post" focus="username"> <table border="0"> <tr> <td>Name:</td> <td><html:text property="username" /></td> </tr> <tr> <td>Password:</td> <td><html:password property="password" /></td> </tr> <tr> <td colspan="2" align="center"><html:submit /></td> </tr> </table> </html:form> </body></html:html> |
<body> <html:errors/> <html:form action="login" method="post" focus="username"> <table border="0"> <tr> <td>Name:</td> <td><html:text property="username" /></td> </tr> <tr> <td>Password:</td> <td><html:password property="password" /></td> </tr> <tr> <td colspan="2" align="center"><html:submit /></td> </tr> </table> </html:form> </body> |
<body> <h2>welcome!!!</h2> </body> |
ApplicationResources.properties文件如下
# Resources for parameter 'ApplicationResources'# Project loginerrors.header= <h3><font color="red">Validation Error</font></h3><ul>errors.footer= </ul><hr>error.name.required= <li>"<font color=red>{0}</font>" is not a correct name, please input name again</li>error.password.required= <li>"<font color=red>{0}</font>" is not a correct password, please input password again</li>error.nameOrPassword.required= <li> name or password not correct</li> |
修改 LoginAction 类的 execute 方法:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub String username= loginForm.getUsername(); String password= loginForm.getPassword(); ActionErrors errors= new ActionErrors(); if("aaron".equals(username)&&"123".equals(password)){ return mapping.findForward("success"); } else{ errors.add("name", new ActionError("error.name.required", username)); errors.add("password", new ActionError("error.password.required", password)); saveErrors(request, errors); return mapping.findForward("fail"); } } |
2.7. 测试
操作:[Menu] Run/Run(用 MyEclipse Server Application 方式运行)
在 index.jsp 页面输入 "aaron/123",登录成功;输入 "aaron/1111" ,跳转到 login.jsp 页面。
如果测试成功,证明 Structs 运行正常。
3. Spring 部分
3.1. 添加 Spring 功能支持
操作:[Menu] MyEclipse/Project Capabilities/Add Spring Capabilities
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/5633704539898621250.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/6.jpg)
开发包(libraries)选择 "Spring 1.2 AOP Libraries、Spring 1.2 Core Libraries两项;
JAR Library Installation 选择 "copy checked..." ,"Library Folder" 项选择 "/WebRoot/WEB-INF/lib"(这样的话所需的类库都将拷贝到项目目录,方便以后的布署)。
点击 "下一步(Next)" 创建配置文件,修改文件路径(Folder)到 "src" 目录,文件名称为默认的"applicationContext.xml"。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/7.jpg)
选择完成,
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/8.jpg)
选择Keep Existing,成功导入Spring功能
注意: 查看构建路径中有没有spring.jar包,很多情况下MyEclipse都没有导入这个包,如果没有则导入相同版本的spring.jar包 |
3.2. 配置 struts-config.xml 文件
添加 Spring 插件(在 <message-resources> 标签后面添加):
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <data-sources /> <form-beans> <form-bean name="loginForm" type="struts.form.LoginForm"></form-bean> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings> <action path="/login" input="/login.jsp" name="loginForm" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="success" path="/success.jsp"></forward> <forward name="fail" path="/login.jsp"></forward> </action> </action-mappings> <message-resources parameter="ApplicationResources" /> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/> </plug-in></struts-config> |
注: 如果applicationContext.xml部署在src目录下,则对应发布后的目录为/WEB-INF/classes下 <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/> 与系统属性文件ApplicationResources不同,虽然文件发布后的路径也为/WEB-INF/classes 但是却可以如下配置<message-resources parameter="ApplicationResources" /> |
<?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="struts.action.LoginAction"></bean></beans> |
3.4. 增加log4j日志功能
增加日志功能方便调试程序,log4j.properties文件如下
log4j.rootLogger=INFO, A1, R log4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.Threshold=FATALlog4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n#R 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。log4j.appender.R=org.apache.log4j.DailyRollingFileAppender#详细日志文件保存在C盘目录下的login.log文件中log4j.appender.R.File=c:/login.loglog4j.appender.R.Encoding=GBKlog4j.appender.R.Threshold=INFOlog4j.appender.R.DatePattern='.'yyyy-MM-ddlog4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm} %5p %c{1}: %L: %m%n |
这里是因为导入Spring的时候附带导入了log4j.jar包,所以此处不用再另外导入log4j.jar包
3.5. 测试
同上一次测试。测试成功证明 Spring 运行正常。
4. Hibernate 部分
下面开始 Hibernate 部分,将原例修改为使用数据库进行用户名/密码验证。4.1. 创建 sqlserver2000 数据库和表
添加表其中有id(标识),username,和password字段:
SQL代码如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[users]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[users]GO CREATE TABLE [dbo].[users] ( [id] [int] IDENTITY (1, 1) NOT NULL , [username] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [password] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GO |
insert into user_table (username,password) values ('aaron','123')
4.2. 创建 MyEclipse 数据库驱动(DB Driver)
在 DB Brower 的菜单中选择 "New"
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/9.jpg)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/10.jpg)
"Profile Name" 项输入 "MyWeb" ,
“Driver”项选择Microsoft SQL Server
"Connection URL" 为"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyWeb"
然后输入正确的用户名(User Name)和密码(Password)按实际情况输入;
![](http://p.blog.csdn.net/images/p_blog_csdn_net/tanglinfeng/EntryImages/20090217/11.jpg)
点击 "完成(Finish)"。
接下去即可以添加Hibernate支持了。
相关文章推荐
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(二)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(二)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(二)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一)
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- Eclipse + MyEclipse整合Struts+Spring+Hibernate简单例子开发
- 使用MyEclipse集成SSH和DWR(一)整合Spring和Struts
- MyEclipse开发SSH(Struts+Spring+Hibernate)入门
- MyEclipse开发SSH(Struts+Spring+Hibernate)入门
- 最简单的SSH(Struts+Spring+Hibernate)[二]配置文件
- Struts+Spring+Hibernate--SSH整合实例
- ssh整合!Struts.xml、hibernate与spring整合的applicationContext.xml、web.xml文件的配置!
- Spring+Hibernate如何配置数据源(Struts Spring Hibernate (SSH) 整合实例)
- MyEclipse开发SSH(Struts+Spring+Hibernate)入门
- 【Struts2+Hibernate3+Spring3】利用SSH整合,完成打印用户表,用户登录、注册、修改密码系统
- 最简单的SSH(Struts+Spring+Hibernate)[三]配置文件和测试页面
- SSH整合(struts2.3.24+hibernate3.6.10+spring4.3.2+mysql5.5+myeclipse8.5+tomcat6+jdk1.6)