这篇文章看的我醍醐灌顶的感觉,比之前本科时候学习的SSH架构 要清晰数倍
非常感觉这篇博主的文章
文章链接为:http://blog.sina.com.cn/s/blog_a6a6b3cd01017c57.html
因为觉得写的太好了 想收藏一下
什么是SSH?
SSH就是Struts + Spring + Hibernate 3个Java框架的集合,现在Java开发中常用的框架组合。用来开发后台,与前台和数据库进行数据交互。最初学这个是为了写JSP。
SSH框架搭建步骤很多,但是不难,因为MyEclipse已经帮我们做了大部分的工作,如果纯手动添加这个框架的话,那真是够复杂的了。不过涉及的知识挺多的,适合有一定基础的人。下面详细介绍一下SSH框架的搭建步骤并且解决了几个我在搭建过程中遇到的问题。
事先准备工作:
![AS3学习笔记3-Flash程序员常用开发工具 AS3学习笔记3-Flash程序员常用开发工具](https://i-blog.csdnimg.cn/blog_migrate/305cca6987c95a9dd3cd44cbad9b62b4.jpeg)
这个是一切的前提,相信大家都有。没有的话下面的步骤也不用看了,先安装JDK,配置环境变量吧。
JDK 7.0 下载:http://www.onlinedown.net/soft/61003.htm
配置Java环境变量教程:http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html
![AS3学习笔记3-Flash程序员常用开发工具 AS3学习笔记3-Flash程序员常用开发工具](https://i-blog.csdnimg.cn/blog_migrate/50a5120e5401affd11f2ed69b94cb878.jpeg)
我们主要用MyEclipse来搭建SSH, 所以这个必须有,我用MyEclipse 8.5搭建过SSH,没问题。没有的话建议下载高版本的,与时俱进嘛。汉化或者不汉化看个人习惯,我觉得中文用起来比较舒服。
Myeclipse 10 下载:http://www.pc6.com/softview/SoftView_57131.html
Myeclipse 汉化包及汉化教程:http://blog.csdn.net/cntanghai/article/details/6310200
![AS3学习笔记3-Flash程序员常用开发工具 AS3学习笔记3-Flash程序员常用开发工具](https://i-blog.csdnimg.cn/blog_migrate/5dd7d4db28c5db8e7a5099a3aac9e18a.jpeg)
数据库,注意安装时设置的密码千万别忘了。
MySQL详细图文安装教程:http://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html
MySQL 5.5.28 下载:http://down.chinaz.com/soft/29015.htm
![AS3学习笔记3-Flash程序员常用开发工具 AS3学习笔记3-Flash程序员常用开发工具](https://i-blog.csdnimg.cn/blog_migrate/a1847a1671b2a7f06240dbbb9229633d.jpeg)
MySQL视图化管理及开发工具,主要用他来操作MySQL。推荐安装,非必须。
Navicat for MySQL v10.1.7简体中文特别版下载:http://www.xiazaiba.com/html/2122.html
5.mysql-connector-java-5.0.8-bin.jar
Java连接MySQL数据库时需要用到的jar包。
jar下载:http://pan.baidu.com/share/link?shareid=444190&uk=4262258889
6.在MySQL中新建一个表,用来测试数据
我在这里准备做一个注册登录功能,所以在test里建了一个user表,表里的字段有id、username、password、nickname四个字段。nickname用来测试中文是否乱码。
SQL语句:
CREATE TABLE `user` (
`id` bigint(20) unsigned NOT NULL auto_increment COMMENT 'ID',
`username` varchar(40) character set utf8 NOT NULL COMMENT '用户名',
`password` varchar(40) collate utf8_unicode_ci NOT NULL COMMENT '密码',
`nickname` varchar(40) character set utf8 NOT NULL COMMENT '昵称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户信息表';
SSH框架搭建步骤:
1.新建一个项目。打开MyEclipse,新建一个Web项目,起名就叫SSH吧,点击完成,若弹出提示点Yes即可。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/54fbe684d1aa6a2a19a7674eeefc152e.jpeg)
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/04cbe5e57df4bfc24d1192e10f7e1dc6.jpeg)
2.添加Struts框架。右键这个项目,选择MyEclipse->Add Struts Capabilities。 在弹出的菜单中把包的路径改一下, Base package for new classes选项中的路径com.yourcompany.struts改成com.ssh.struts, 点击完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/190cc6cf2ece219be58ea4dcccb97b4e.jpeg)
展开WebRoot中的WEB-INF文件夹,看到目录结构如下图,证明Struts框架添加完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/e03a8ff5aaa586292dfc03930ef30e54.jpeg)
3.添加Spring框架。右键这个项目,选择MyEclipse->Add Spring Capabilities。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/e7a3bddb27ce11dd0e4b07b2fdfe39ca.jpeg)
在菜单中选择如下6个库,点击下一步。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/7bc015ab052063fe242eb68ce86724fb.jpeg)
更改Folder路径,选择SSH项目WebRoot文件夹下的WEB-INF,完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/db8ac293e56813fce04b3209c4dfaffc.jpeg)
现在项目的目录结构如下,Spring框架添加完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/ea72170c039ce667170413c64a05681d.jpeg)
4.连接数据库。点击右上角的图标"打开透视图",选择MyEclipse Database Explorer。在窗口中右键->New 新建一个数据库连接。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/3a01b94a6e9ad17ff636575219b8a6b4.jpeg)
Driver template 选择 MySQL Connector/J
Driver name 起名叫test
Connection URL 更改为jdbc:mysql://自己的IP地址:端口号/数据库名称
User name 填写MySQL的用户名
Password 填写MySQL的密码
Driver JARs 点击Add JARs按钮,浏览到事先准备的 mysql-connector-java-5.0.8-bin.jar
Save password 选上
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/830620160fd959b2320414f1fa2f12f5.jpeg)
点击Test Driver ,测试结果:数据库配置正确,点击完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/de335c4bb0728a7ff3b32bf84f392916.jpeg)
双击添加的test连接,展开目录,可以发现我们事先创建的user表。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/db5e0c4d806e677b359aa9af207b7416.jpeg)
5.添加Hibernate框架。右键SSH项目,选择MyEclipse->Add Spring Capabilities。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/ea631c1d8fc2a41c0fe0ad2c96baf3ef.jpeg)
点击下一步。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/3a21ffa6d449615511f12e11bb87c2fd.jpeg)
配置中选择第二项"Spring configuration file"。把Spring与Hibernate整合到一起,点击下一步。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/f55ec7d113b0ae1a4d348f3f91913920.jpeg)
在菜单中选第二项"Existing Spring configuration file",点击下一步。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/1b2331f6d73dbcf0a7402668142fd0ad.jpeg)
DB Driver选择在添加Spring框架时配置的test,点击下一步。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/6fea44ac6c849e7d7485b85926aacb31.jpeg)
取消Create SessionFactory class?这个选项,点击完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/d0b95d2907d3df5743a2d35bf4800fb8.jpeg)
现在的目录结构如下,SSH框架大体搭建完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/67ff70391a5fc188d345abac27e54c37.jpeg)
6.测试功能。
先部署一下项目,访问首页看看效果。选择窗口上方图标"Deploy MyEclipse J2EE Project to Server"->点击add添加SSH项目->Server选择MyEclipse Tomcat。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/1476c47464323608f8ba0f57387da513.jpeg)
项目部署成功。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/fc2495939e77fc4e60b5c9ccf2b169c3.jpeg)
点击窗口上方图标"Run MyEclipse Servers"启动Tomcat。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/a979df6642f12c75605e5edd398995bc.jpeg)
在浏览器中访问SSH项目地址,别忘了加上Tomcat的默认端口,8080端口。
输入地址: http://localhost:8080/SSH ,Tomcat会访问SSH项目WebRoot下的index.jsp。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/6018f9cd5a4a8184d5ae083e841e3b33.jpeg)
现在修改一下index.jsp中给的内容,在Body中添加"这是我的首页"。Ctrl+S保存。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/63c067bde3f64a8dc7a761b6f8dc46a2.jpeg)
这里出现了一个问题,页面默认的编码为ISO-8859-1,不支持中文字符,无法保存。我们先把这个提示关掉。
选择窗口->首选项->MyEclipse->JSP->Files and Editors->JSP,把编码改为ISO 10646/Unicode(UTF-8)->应用->确定。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/a69c630472c54b598a754db80e8a9bb0.jpeg)
编码问题是一个很常见的问题,为避免出现这类我提我们尽量将工作空间的所有编码格式统一,无论前台后台还是数据库,否则会引发许多问题,例如中文乱码。
选择窗口->首选项->常规->工作空间->文本文件编码选择其他->其他选项里选择UTF-8->应用->确定。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/ec2d58823b6606ef3d32cc42503cf2e2.jpeg)
这样设置后,我们的工作空间编码就比较统一了,再生成的JSP页面就是UTF-8编码格式了,能够很好的支持中文字符,不过之前生成的JSP页面编码格式要我们手动更改。
把index.jsp中<%@ page language="java" import="java.util.*" pageEncoding="XXX"%> 的pageEncoding改为UTF-8,再保存页面。这时再访问 http://localhost:8080/SSH , 正确显示中文,这回没问题了。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/11fe558dbf2ce82b5d0f41f9826225fa.jpeg)
现在写个注册登录的功能来测试一下框架整合的结果。
切换到MyEclipse DataBase Explorer视图,通过Spring框架的逆向工程功能把user表逆向成Java实体类。右键user表选择"Hibernate Reverse Engineering"。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/2957aa31fb96eb4a617c37cd7e617b24.jpeg)
Java src folder 选择SSH项目下的src文件夹。
Java package 填写com.ssh.user
勾选前三个选项:Create POJO、Java Data Obect和Java Data Access Object。POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作,这里会封装一些常用的操作,基本上可以满足我们的各种需要了,选择下一步。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/569fa16adf5241a9651513e238f39683.jpeg)
Id Generator 选择 native,点击完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/c634e67d667b825f4369238ec94de448.jpeg)
此时的目录结构如下,我们可以看到系统生成了3个类,一个配置文件。
User 继承自AbstractUser,是User表的实体类。
UserDAO 封装了一些对数据库的常用操作。
User.hbm.xml 是hibernate-mapping映射配置文件,配置了哪个实体类映射哪个表,配置了实体类的哪个属性映射表里的哪列。
如果这些东西不用hibernate生成,那么我们就要自己写,要浪费很多时间,hibernate的作用就体现出来了。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/4f4dba11f1931c44e013d72f92265658.jpeg)
现在来写测试页。打开WEB-INF文件夹下的struts-config.xml文件,切换到设计视图(design)。右键->New->Form Action and JSP。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/48586612320afe6dc80935c1552fe18d.jpeg)
填写Form表单属性:
Use case: login
Name:loginForm
在下方Form Properties中添加两个属性
username: JSP input type text
password: JSP input type password
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/526b9237bfce4af987a189898bbe0292.jpeg)
切换到JSP选项,填写JSP属性:
勾选Create JSP form
路径修改为/jsp/login.jsp
点击完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/4735b68727772af616982247c02a4d84.jpeg)
此时的目录结构如下,可以看到在WebRoot/jsp/下 生成了一个login.jsp页。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/2959ac3eb44305a3008a1258c5e9b9bb.jpeg)
我们查看一下现在的目录结构,并把struts-config.xml切换到Source视图,看看struts框架帮我们干了什么。
可以看到目录里多了3个文件:LoginFrom.java、LoginAction.java、login.jsp。这正是我们在设计视图里选择Form,Action and JSP所配置的文件。而 struts-config.xml里也相应的添加了这3个文件的映射配置信息。如果这些不用struts生成的话,就需要我们自己写,会浪费很多时间,struts的作用体现出来了。
这里说一下页面请求的执行顺序:
1、login.jsp用户填写了登录信息并点击了登录按钮,发送了一个请求(loginFrom.do)。
2、struts会通过struts-config.xml找到相应的映射配置(Action name==loginFrom)。
3、把登录表单的属性映射到loginForm.java里(bean)。
4、把loginForm和mapping、request、response一起交给LoginAction处理。
5、 LoginAction执行完后的通过mapping找到跳转页面forward(这个下面会提到)。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/5f67a51d0f20ce763da084c4cd2af178.jpeg)
现在添加两个页面:登录成功页和登录失败页, 实现登录后的跳转。
在WebRoot/jsp/下新建两个JSP页。起名为loginSuccess.jsp和loginFail.jsp。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/fcfbea92c7040eabd16c363a28d28b12.jpeg)
向导信息如下:
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/36da549c65e5b208e9cc8b77b01be829.jpeg)
在loginSuccess.jsp页面body中添加"登录成功!<br>"。
在loginFail.jsp页面body中添加"登录失败 <br>"。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/4b8ceccb771374d0d6fc248b62ddd3b4.jpeg)
把登录页、登录成功页、登录失败页3个页面相关联。
切换到struts-config.xml的设计视图。右键login.jsp->New->Forward。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/9c609bf9e7250cd22bdcd2c5cb423c88.jpeg)
loginSuccess:
选择Local Action Forward
浏览Action Path:/login
填写name:loginSuccess
浏览Path:/jsp/loginSuccess.jsp
完成
loginFail:
选择Local Action Forward
浏览Action Path:/login
填写name:loginFail
浏览Path:/jsp/loginFail.jsp
完成
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/3776d2449c30c0f3a5d5d43546cd6e47.jpeg)
切换到Source视图,可以看到代码如下图:
Action里多了
<forward name="loginSuccess" path="/jsp/loginSuccess.jsp" />
<forward name="loginFail" path="/jsp/loginFail.jsp" />
两行代码,页面跳转添加完成。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/42c43f356786716d70a58394963451a8.jpeg)
现在来写具体的执行代码。打开LoginAction.java。可以看到自动生成的代码如下图:
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/8f60b208af75c8ea312feed783ec870c.jpeg)
我们先不连数据库,先写一个测试的登录代码。
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();
//帐号密码匹配,跳转到登录成功页
if("asd".equals(username) && "asd123".equals(password)){
return mapping.findForward("loginSuccess");
}
//不匹配,跳转到登录失败页
return mapping.findForward("loginFail");
}
准备就绪,启动Tomcat,在浏览器中访问登录页:
http://localhost:8080/SSH/jsp/login.jsp
看到这个界面,都是英文,很不爽,不仅仅因为丑。把它改成中文的,打开login.jsp,代码如下:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for LoginForm form</title>
</head>
<body>
<html:form action="/login">
username : <html:text property="username"/><html:errors property="username"/><br/>
password : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit/><html:cancel/>
</html:form>
</body>
</html>
改成:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<html:form action="/login">
帐号 : <html:text property="username"/><html:errors property="username"/><br/>
密码 : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit value="登录"/><html:cancel value="取消"/>
</html:form>
</body>
</html>
刷新一下登录页面,看看效果:
登录界面汉化成功!看起来舒服多了。点击登录。
这时候因为我们什么都没填,应该跳转到登录失败页面。
后退,回到登录界面,填写
帐号:asd
密码:asd123
点击登录,帐号密码和后台设置的匹配,这时候应该跳转到登录成功界面。
测试完成,下面我们连接一下数据库,从数据库里取出user数据进行匹配。
想操作数据库我们要先获取DAO(data access object),我们的UserDAO是hibernate生成的,关于UserDAO的配置信息写在了applicationContext.xml里。所以在用UserDAO之前要先获取 applicationContext.xml。
百度上查找了一下相关代码,找到了一个获取applicationContext.xml的方法。Spring框架里的
ClassPathXmlApplicationContext 通过这个类可以获取到我们需要的DAO。名字和applicationContext非常像,看起来就是这个类了。
测试一下这个类是否好用:
把LoginAction打开,把代码改为:
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();
//获取用户信息
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
//获取帐号密码
String username = loginForm.getUsername();
String password = loginForm.getPassword();
//帐号密码匹配,跳转到登录成功页
if("asd".equals(username) && "asd123".equals(password)){
return mapping.findForward("loginSuccess");
}
//不匹配,跳转到登录失败页
return mapping.findForward("loginFail");
}
准备就绪,启动Tomcat,在浏览器中访问登录页:
http://localhost:8080/SSH/jsp/login.jsp
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/7a5b7bec39d8271a7ea9dadac6fbb6de.jpeg)
看到这个界面,都是英文,很不爽,不仅仅因为丑。把它改成中文的,打开login.jsp,代码如下:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for LoginForm form</title>
</head>
<body>
<html:form action="/login">
username : <html:text property="username"/><html:errors property="username"/><br/>
password : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit/><html:cancel/>
</html:form>
</body>
</html>
改成:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<html:form action="/login">
帐号 : <html:text property="username"/><html:errors property="username"/><br/>
密码 : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit value="登录"/><html:cancel value="取消"/>
</html:form>
</body>
</html>
刷新一下登录页面,看看效果:
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/095a67789b0108b5bf4a670c443eafb0.jpeg)
登录界面汉化成功!看起来舒服多了。点击登录。
这时候因为我们什么都没填,应该跳转到登录失败页面。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/108b186c1c1bca0705d033b8a7e4ef0d.jpeg)
后退,回到登录界面,填写
帐号:asd
密码:asd123
点击登录,帐号密码和后台设置的匹配,这时候应该跳转到登录成功界面。
![SSH框架搭建详细图文教程 SSH框架搭建详细图文教程](https://i-blog.csdnimg.cn/blog_migrate/24ff0a7e03bdb97a79883e2407dbdd75.jpeg)
测试完成,下面我们连接一下数据库,从数据库里取出user数据进行匹配。
想操作数据库我们要先获取DAO(data access object),我们的UserDAO是hibernate生成的,关于UserDAO的配置信息写在了applicationContext.xml里。所以在用UserDAO之前要先获取 applicationContext.xml。
百度上查找了一下相关代码,找到了一个获取applicationContext.xml的方法。Spring框架里的
ClassPathXmlApplicationContext 通过这个类可以获取到我们需要的DAO。名字和applicationContext非常像,看起来就是这个类了。
测试一下这个类是否好用:
把LoginAction打开,把代码改为:
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();
//获取用户信息