《2022年SSH入门教程 .pdf》由会员分享,可在线阅读,更多相关《2022年SSH入门教程 .pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MyEclipse 开发 SSH (Struts+Spring+Hibernate)入门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.01.1. 新建工程操作: Menu File/New/Web Project 工程名: login 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
2、 第 1 页,共 21 页 - - - - - - - - - 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 21 页
3、- - - - - - - - - 在 “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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
4、 - - - - - - - 第 3 页,共 21 页 - - - - - - - - - 在 “Form ” 选项卡的“Name ” 项选择“loginForm ”,”Input Source ” 项输入 “/login.jsp”。2.4. 创建 index.jsp 文件如果没有,创建 index.jsp 文件,并添加一个指向 login.jsp 的链接: Login 。2.5. 创建 Forword 类操作: Ctrl+N MyEclipse/Web-Struts/Struts 1.2 Forword 类名: indexForword 名师资料总结 - - -精品资料欢迎下载 - - -
5、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 21 页 - - - - - - - - - “Name ” 项输入“indexForword ” ,”Path” 项输入“/index.jsp” 。2.6. 修改 LoginAction.java 文件修改 LoginAction 类的 execute 方法:public class LoginAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form, H
6、ttpServletRequest 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.getIn
7、putForward(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 21 页 - - - - - - - - - 2.7. 修改 login.jsp 文件修改 标签: 。2.8. 测试操作: Menu Run/Run ,选择 MyEclipse Server Application 方式运行(要正常执行 Run操作,需先安装 Tomcat5.5 。)点击 index.jsp 页面的 “Login ” 链接,跳转到 login.jsp 页面。在login.jsp 页
8、面输入“test/test”,应该会登录成功, 然后跳转到 index.jsp 页面;输入“test/123 ,应该保持在 login.jsp 页面。如果测试成功,证明 Structs 运行正常。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 21 页 - - - - - - - - - 3. Spring 部分3.1. 添加 Spring 功能支持操作: Menu MyEclipse/Project Capabilities/Add Spring Capabilitie
9、s 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”(这样的话所需的类库都将拷贝
10、到项目目录,方便以后的布署)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 21 页 - - - - - - - - - 点击 “下一步 (Next) ” 创建配置文件,修改文件路径(Folder )到“WebRoot/WEB - INF” 目录(以便和 Struts配置文件一起管理),文件名称为默认的” applicationContext.xml”。点击 “完成(Finish)” 。3.2. 配置 struts-config.xml 文件添加 Spring 插件(在
11、 标签后面添加):修改 LoginAction 的配置(只需修改 type 属性): 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 21 页 - - - - - - - - - 绿色字体部份为被修改过的内容,这里将使用 spring 的代理器DelegatingActionProxy 来对 Action 进行控制。3.3. 修改 Spring 配置文件 applicationContext.xml 绿色字体是关于接受和处理 Action 控制权的配置内容,”com.lo
12、gin.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 ”
13、,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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 21 页
14、 - - - - - - - - - 在 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” ,其它自选。
15、点击 “完成(Finish)”。4.3. 添加 Hibernate 功能支持操作: Menu MyEclipse/Project Capabilities/Add Hibernate Capabilities 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 21 页 - - - - - - - - - Hibernate 版本( Hibernate Specification)选择 “Hibernate 3.1 ,开发包(libraries)选择 Hibernate 3
16、.1 Core Libraries 一项;JAR Library Installation 选择 “copy checked, ” , ”Library Folder ” 选择 “/WebRoot/WEB -INF/l ib ” 。点击 “下一步 (Next) ” 设置配置文件,选择“Spring configuration file (applicationContext.xml)” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 21 页 - - - - - -
17、- - - “下一步 (Next) ” 设置 Spring-Hibernate,选择 “Existing Spring configuration file” ,”SessionFactory ID” 项输入“sessionFactory ” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 21 页 - - - - - - - - - “下一步 (Next) ” 创建数据源对象,在 Bean Id 中输入dataSource ,”DataSource” 项选择“Use
18、 JDBC Dirver ” , DB Driver 项选择 “login - conn” ,其余项会自动填充;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 21 页 - - - - - - - - - 记得选中“Copy DB driver jar(s) to project and add to buidpath” 项,以便将数据连接的库文件复制到项目,方便以后的布署。“下一步 (Next) ” 创建 SessionFactory 类,”Java package
19、” 项设置为“com.login.Hibernate” (没有则点击” New ”按钮添加 ),”Class name ” 项修改为” SessionFactory ” ,Java Compliance Level选择和创建项目时选择的 Java 版本。(本例中并没有用到SessionFactory类,留作今后扩展)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 21 页 - - - - - - - - - 点击 “完成(Finish)”。4.4. 创建对象关系映射 (
20、ORM) 的相关文件操作: Menu Window/Open Perspective/MyEclipse Database Explorer 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 21 页 - - - - - - - - - 选中 user_table 表,点击右键,在出现的菜单中选择“Hibernate Reverse Engnieering ” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
21、- 名师精心整理 - - - - - - - 第 16 页,共 21 页 - - - - - - - - - 在弹出的窗口中保持“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
22、,” 项和“Use custom templates” 项。点击 “下一步 (Next) ” ,再点击“下一步 (Next) ” ,在 “Configure reverse engineering details” 页选中“user_table ” 表,在右边出现的“Class Name” 项中输入“com.login.User”,其它不变。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 21 页 - - - - - - - - - 点击 “完成(Finish)”。完成
23、此操作,会在“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.j
24、ava 内容如下: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, St
25、ring 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;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 21
26、 页 - - - - - - - - - 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 c
27、om.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, Ht
28、tpServletRequest 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.getInputF
29、orward(); 绿色字体为修改部分。4.7. Spring 的最终配制文件 applicationContext.xml名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 21 页 - - - - - - - - - com/login/User.hbm.xml org.hibernate.dialect.MySQLDialecttrue 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 21 页 - - - - - - - - - PROPAGATION_REQUIREDPROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIRED,readOnly 4.8. 测试同第一次测试。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 21 页 - - - - - - - - -
限制150内