SSH框架搭建,巨详细,亲测可用。

SSH框架的搭建详细图文教程--转载



事先准备工作:

1.JDK


这个是一切的前提,相信大家都有。没有的话下面的步骤也不用看了,先安装JDK,配置环境变量吧。
JDK 7.0 下载:http://www.onlinedown.net/soft/61003.htm
配置Java环境变量教程:http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html

2.MyEclipse

我们主要用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

3.MySQL

数据库,注意安装时设置的密码千万别忘了。
MySQL详细图文安装教程:http://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html
MySQL 5.5.28 下载:http://down.chinaz.com/soft/29015.htm

4. MySQL视图化管理及开发工具

MySQL视图化管理及开发工具,主要用他来操作MySQL。推荐安装,非必须。
Navicat for MySQL v10.1.7简体中文特别版下载:http://www.xiazaiba.com/html/2122.html
Heidisql(我使用的)下载: http://download.csdn.net/detail/hayley_liu/9782988


5.mysql-connector-java-5.0.8-bin.jar

Java连接MySQL数据库时需要用到的jar包。
jar下载: http://download.csdn.net/download/hayley_liu/9782805#


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_ciCOMMENT='用户信息表';

SSH框架搭建步骤:

1. 新建一个项目。打开MyEclipse,新建一个Web项目,起名就叫SSH,点击完成,若弹出提示点Yes即可。

SSH框架搭建,巨详细,亲测可用。

SSH框架搭建,巨详细,亲测可用。


2.添加Struts框架。右键这个项目,选择MyEclipse->Add StrutsCapabilities。 在弹出的菜单中把包的路径改一下, Base package for new classes选项中的路径com.yourcompany.struts改成com.ssh.struts, 点击完成。

SSH框架搭建,巨详细,亲测可用。

展开WebRoot中的WEB-INF文件夹,看到目录结构如下图,证明Struts框架添加完成。

SSH框架搭建,巨详细,亲测可用。

3.添加Spring框架。右键这个项目,选择MyEclipse->Add SpringCapabilities。

SSH框架搭建,巨详细,亲测可用。
在菜单中选择如下6个库,点击下一步。
SSH框架搭建,巨详细,亲测可用。
更改Folder路径,选择SSH项目WebRoot文件夹下的WEB-INF,完成。
SSH框架搭建,巨详细,亲测可用。
现在项目的目录结构如下,Spring框架添加完成。
SSH框架搭建,巨详细,亲测可用。
4.连接数据库。点击右上角的图标"打开透视图",选择MyEclipse Database Explorer。在窗口中右键->New 新建一个数据库连接。

SSH框架搭建,巨详细,亲测可用。

SSH框架搭建,巨详细,亲测可用。

Driver template 选择 MySQL Connector/J
Driver name 起名叫test
Connection URL 更改为jdbc:mysql://自己的IP地址:端口号/数据库名称? ?useUnicode=true&characterEncoding=UTF-8
User name 填写MySQL的用户名
Password 填写MySQL的密码
Driver JARs 点击Add JARs按钮,浏览到事先准备的mysql-connector-java-5.0.8-bin.jar
Save password 选上
点击Test Driver,测试结果:数据库配置正确,点击完成。
SSH框架搭建,巨详细,亲测可用。


双击添加的test连接,展开目录,可以发现我们事先创建的user表。
SSH框架搭建,巨详细,亲测可用。


5.添加Hibernate框架。右键SSH项目,选择MyEclipse->Add Hibernate Capabilities。
点击下一步。
SSH框架搭建,巨详细,亲测可用。
配置中选择第二项"Springconfiguration file"。把Spring与Hibernate整合到一起,点击下一步。
SSH框架搭建,巨详细,亲测可用。
在菜单中选第二项"ExistingSpring configuration file",点击下一步。

SSH框架搭建,巨详细,亲测可用。

选择Exitingspring configuration file ,点击下一步。

SSH框架搭建,巨详细,亲测可用。

 


DB Driver选择在添加Spring框架时配置的test,点击下一步。

SSH框架搭建,巨详细,亲测可用。

SSH框架搭建,巨详细,亲测可用。
取消CreateSessionFactory class?这个选项,点击完成。

SSH框架搭建,巨详细,亲测可用。

现在的目录结构如下,SSH框架大体搭建完成。
SSH框架搭建,巨详细,亲测可用。

6.测试功能。

先部署一下项目,访问首页看看效果。选择窗口上方图标"Deploy MyEclipse J2EE Project to Server"->点击add添加SSH项目->Server选择MyEclipse Tomcat。

SSH框架搭建,巨详细,亲测可用。
项目部署成功。

SSH框架搭建,巨详细,亲测可用。
点击窗口上方图标"RunMyEclipse Servers"启动Tomcat。
SSH框架搭建,巨详细,亲测可用。


在浏览器中访问SSH项目地址,别忘了加上Tomcat的默认端口,8080端口。
输入地址:http://localhost:8080/SSH,Tomcat会访问SSH项目WebRoot下的index.jsp。

SSH框架搭建,巨详细,亲测可用。
现在修改一下index.jsp中给的内容,在Body中添加"这是我的首页"。Ctrl+S保存。
SSH框架搭建,巨详细,亲测可用。
这里出现了一个问题,页面默认的编码为ISO-8859-1,不支持中文字符,无法保存。我们先把这个提示关掉。选择窗口->首选项->MyEclipse->JSP->Filesand Editors->JSP,把编码改为ISO 10646/Unicode(UTF-8)->应用->确定。

SSH框架搭建,巨详细,亲测可用。
编码问题是很常见的问题,为避免出现这类我提我们尽量将工作空间的所有编码格式统一。
选择窗口->首选项->常规->工作空间->文本文件编码选择其他->其他选项里选择UTF-8->应用->确定。

SSH框架搭建,巨详细,亲测可用。
这样设置后,我们的工作空间编码就比较统一了,再生成的JSP页面就是UTF-8编码格式了,能够很好的支持中文字符,不过之前生成的JSP页面编码格式要我们手动更改。
把index.jsp中<%@ page language="java"import="java.util.*" pageEncoding="XXX"%> 的pageEncoding改为UTF-8,再保存页面。这时再访问http://localhost:8080/SSH , 正确显示中文,这回没问题了。
SSH框架搭建,巨详细,亲测可用。

现在写个注册登录的功能来测试一下框架整合的结果。


切换到MyEclipseDataBase Explorer视图,通过Spring框架的****功能把user表逆向成Java实体类。右键user表选择"Hibernate ReverseEngineering"。
SSH框架搭建,巨详细,亲测可用。

Java src folder 选择SSH项目下的src文件夹。
Java package 填写com.ssh.user
勾选前三个选项:CreatePOJO、Java DataObect和Java DataAccess Object。POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作,这里会封装一些常用的操作,基本上可以满足我们的各种需要了,选择下一步。
SSH框架搭建,巨详细,亲测可用。
Id Generator 选择 native,点击完成。

SSH框架搭建,巨详细,亲测可用。
此时的目录结构如下,我们可以看到系统生成了3个类,一个配置文件。
User 继承自AbstractUser,是User表的实体类。
UserDAO 封装了一些对数据库的常用操作。
User.hbm.xml 是hibernate-mapping映射配置文件,配置了哪个实体类映射哪个表,配置了实体类的哪个属性映射表里的哪列。如果这些东西不用hibernate生成,那么我们就要自己写,要浪费很多时间,hibernate的作用就体现出来了。

SSH框架搭建,巨详细,亲测可用。

现在来写测试页。打开WEB-INF文件夹下的struts-config.xml文件,切换到设计视图(design)。右键->New->Form Action and JSP。

SSH框架搭建,巨详细,亲测可用。

填写Form表单属性:  Use case: login    Name:loginForm
在下方FormProperties中添加两个属性
username: JSP input type text  password:JSP input type password
SSH框架搭建,巨详细,亲测可用。
切换到JSP选项,填写JSP属性:

勾选Create JSPform    路径修改为/jsp/login.jsp    点击完成。

SSH框架搭建,巨详细,亲测可用。

此时的目录结构如下,可以看到在WebRoot/jsp/下 生成了一个login.jsp页。
SSH框架搭建,巨详细,亲测可用。
我们查看一下现在的目录结构,并把struts-config.xml切换到Source视图,看看struts框架帮我们干了什么。
可以看到目录里多了3个文件:LoginFrom.java、LoginAction.java、login.jsp。这正是我们在设计视图里选择Form,Action and JSP所配置的文件。而struts-config.xml里也相应的添加了这3个文件的映射配置信息。如果这些不用struts生成的话,就需要我们自己写。

SSH框架搭建,巨详细,亲测可用。
这里说一下页面请求的执行顺序:
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(这个下面会提到)。

现在添加两个页面:登录成功页和登录失败页,实现登录后的跳转。
在WebRoot/jsp/下新建两个JSP页。起名为loginSuccess.jsp和loginFail.jsp。

SSH框架搭建,巨详细,亲测可用。

向导信息如下:

SSH框架搭建,巨详细,亲测可用。

在loginSuccess.jsp页面body中添加"登录成功!<br>"。
在loginFail.jsp页面body中添加"登录失败<br>"。

SSH框架搭建,巨详细,亲测可用。
把登录页、登录成功页、登录失败页3个页面相关联。
切换到struts-config.xml的设计视图。右键login.jsp->New->Forward。

SSH框架搭建,巨详细,亲测可用。
loginSuccess:选择Local Action Forward 浏览Action Path:/login 填写name:loginSuccess

浏览Path:/jsp/loginSuccess.jsp完成
loginFail:选择Local ActionForward 浏览ActionPath:/login 填写name:loginFail

浏览Path:/jsp/loginFail.jsp完成

SSH框架搭建,巨详细,亲测可用。

切换到Source视图,可以看到代码如下图:

SSH框架搭建,巨详细,亲测可用。

Action里多了
<forward name="loginSuccess"path="/jsp/loginSuccess.jsp" />
<forward name="loginFail" path="/jsp/loginFail.jsp"/>
两行代码,页面跳转添加完成。现在来写具体的执行代码。打开LoginAction.java。可以看到自动生成的代码如下图:

SSH框架搭建,巨详细,亲测可用。
我们先不连数据库,先写一个测试的登录代码。
    public ActionForward execute(ActionMapping mapping,ActionForm form,
            HttpServletRequestrequest, 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)){
            returnmapping.findForward("loginSuccess");
        }
        //不匹配,跳转到登录失败页
        returnmapping.findForward("loginFail");
    }

准备就绪,启动Tomcat,在浏览器中访问登录页:
http://localhost:8080/SSH/jsp/login.jsp
SSH框架搭建,巨详细,亲测可用。
看到这个界面,都是英文,很不爽,不仅仅因为丑。把它改成中文的,打开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 LoginFormform</title>
    </head>
    <body>
        <html:formaction="/login">
            username :<html:text property="username"/><html:errorsproperty="username"/><br/>
            password :<html:password property="password"/><html:errorsproperty="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:formaction="/login">
            帐号 : <html:textproperty="username"/><html:errorsproperty="username"/><br/>
            密码 : <html:passwordproperty="password"/><html:errorsproperty="password"/><br/>
            <html:submitvalue="登录"/><html:cancelvalue="取消"/>
        </html:form>
    </body>
</html>

刷新一下登录页面,看看效果:

SSH框架搭建,巨详细,亲测可用。


登录界面汉化成功!看起来舒服多了。点击登录。这时候因为我们什么都没填,应该跳转到登录失败页面。

SSH框架搭建,巨详细,亲测可用。
后退,回到登录界面填写 帐号:asd  密码:asd123
点击登录,帐号密码和后台设置的匹配,这时候应该跳转到登录成功界面。

SSH框架搭建,巨详细,亲测可用。

 

测试完成,下面我们连接一下数据库,从数据库里取出user数据进行匹配。
想操作数据库我们要先获取DAO(dataaccess object),我们的UserDAO是hibernate生成的,关于UserDAO的配置信息写在了applicationContext.xml里。所以在用UserDAO之前要先获取applicationContext.xml。

百度上查找了一下相关代码,找到了一个获取applicationContext.xml的方法。

Spring框架里的ClassPathXmlApplicationContext 通过这个类可以获取到我们需要的DAO。名字和applicationContext非常像,看起来就是这个类了。

测试一下这个类是否好用:
把LoginAction打开,把代码改为:

    public ActionForward execute(ActionMapping mapping,ActionForm form,
            HttpServletRequestrequest, HttpServletResponse response) {
        LoginForm loginForm = (LoginForm) form;//TODO Auto-generated method stub
        //获取帐号密码
        String username =loginForm.getUsername();
        String password =loginForm.getPassword();
       
        //获取用户信息
        ClassPathXmlApplicationContext beans =new ClassPathXmlApplicationContext("applicationContext.xml");
        System.out.println(beans);
       
        //帐号密码匹配,跳转到登录成功页
        if("asd".equals(username)&& "asd123".equals(password)){
            returnmapping.findForward("loginSuccess");
        }
        //不匹配,跳转到登录失败页
        returnmapping.findForward("loginFail");
    }

重新启动Tomcat服务器,访问登录页http://localhost:8080/SSH/jsp/login.jsp,点击登录:

 

javax.servlet.ServletException: org.springframework.beans.factory.BeanDefinitionStoreException:
 IOException parsing XML document from class path resource 
[applicationContext.xml]; nested exception is 
java.io.FileNotFoundException: class path resource 
[applicationContext.xml] cannot be opened because it does not exist

出现了一个错误,意思为找不到applicationContext.xml。

 

看来我们填写的路径有问题,这个配置文件应该是从我们项目classes的根目录开始查找的,先看一下我们的项目发布后classes的路径,右键SSH项目->属性->Java构建路径->源代码。
SSH框架搭建,巨详细,亲测可用。
可以看到我们项目发布后classes的根目录是SSH/WebRoot/WEB-INF/classes。 applicationContext.xml是这个位置的上一级,那么相对于这个路径的位置就是"../applicationContext.xml"。现在把LoginAction里的路径修改一下:

    public ActionForward execute(ActionMapping mapping,ActionForm form,
            HttpServletRequestrequest, HttpServletResponse response) {
        LoginForm loginForm = (LoginForm) form;//TODO Auto-generated method stub
        //获取帐号密码
        String username =loginForm.getUsername();
        String password =loginForm.getPassword();
       
        //获取用户信息
        ClassPathXmlApplicationContext beans =new ClassPathXmlApplicationContext("../applicationContext.xml");
        System.out.println(beans);
       
        //帐号密码匹配,跳转到登录成功页
        if("asd".equals(username)&& "asd123".equals(password)){
            returnmapping.findForward("loginSuccess");
        }
        //不匹配,跳转到登录失败页
        returnmapping.findForward("loginFail");
    }

重新启动Tomcat服务器,访问登录页http://localhost:8080/SSH/jsp/login.jsp,点击登录:
页面不再报错,正常跳转,控制台也输出了:
org[email protected]14bb075:startup date [Mon Apr 22 14:26:58 CST 2013]; root of context hierarchy]

路径的问题解决了,正确的获取到了配置信息,这个配置信息我们以后要经常用,并且没必要每次用的时候都把它创建出来,浪费时间,写一个全局变量保存它吧。在src下新建一个包com.ssh.common,在包里新建一个类Global.java。输入代码如下:

package com.ssh.common;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Global {
   
    public static ClassPathXmlApplicationContext beans = newClassPathXmlApplicationContext("../applicationContext.xml");
   
   
    public static Object getDAO(String daoName){
        return beans.getBean(daoName);
    }
}

现在来获取数据库里的数据,在user表里新增一个用户信息
username=asd
password=asd123
nickname=中文不是乱码

SSH框架搭建,巨详细,亲测可用。

把LoginAction里的代码改为:
    public ActionForward execute(ActionMapping mapping,ActionForm form,
            HttpServletRequestrequest, HttpServletResponse response) {
        LoginForm loginForm = (LoginForm) form;//TODO Auto-generated method stub
        //获取帐号密码
        String username =loginForm.getUsername();
        String password = loginForm.getPassword();      
        //检查该用户是否存在
        User instance = new User();
        instance.setUsername(username);
        instance.setPassword(password);
        UserDAO userDAO =(UserDAO)Global.getDAO("UserDAO");
        List<?> list = userDAO.findByExample(instance);      
        //如果用户存在,则登录成功。
        if(list.size() > 0){
            User user =(User)list.get(0);
            String nickname =user.getNickname();
            //写入提示信息
           request.setAttribute("message", "您的昵称为:" + nickname);
            returnmapping.findForward("loginSuccess");
        }       
        //不匹配,跳转到登录失败页
        returnmapping.findForward("loginFail");
    }
在loginSuccess.jsp的Body中添加一行代码:
<%=request.getAttribute("message")%><br>

重新启动Tomcat服务器,访问登录页http://localhost:8080/SSH/jsp/login.jsp
填写帐号:asd 密码:asd123 点击登录:
SSH框架搭建,巨详细,亲测可用。
登录功能完成,这是个SSH框架的搭建教程,这些测试功能就尽量简单了,大家别介意,下面来做注册功能。
切换到struts-config.xml的设计视图,右键New->Form,Action and JSP
SSH框架搭建,巨详细,亲测可用。
Use case填写register
Form Properties填写3个属性:username:text  password:password  nickname:text
SSH框架搭建,巨详细,亲测可用。
点选JSP选项,勾选Create JSP form, 路径更改为/jsp/register.jsp

SSH框架搭建,巨详细,亲测可用。
现在把register.jsp与login.jsp关联,做注册成功和注册失败的跳转。
右键struts-config.xml设计视图中的regiser.jsp->New->Forward,选择Local Action Forward
Action Path:/register   Name:registerSuccess    Path:/jsp/login.jsp
完成
SSH框架搭建,巨详细,亲测可用。
右键struts-config.xml设计视图中的regiser.jsp->New->Forward,选择Local Action Forward
Action Path:/register  Name:registerFail  Path:/jsp/register.jsp
完成。struts-config.xml代码如下
SSH框架搭建,巨详细,亲测可用。
汉化注册页面

<%@ 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:formaction="/register">
            用户名 : <html:textproperty="username"/><html:errorsproperty="username"/><br/>
            密码 : <html:passwordproperty="password"/><html:errorsproperty="password"/><br/>
            昵称 : <html:textproperty="nickname"/><html:errors property="nickname"/><br/>
            <html:submitvalue="确定"/><html:cancelvalue="取消"/>
        </html:form>
    </body>
</html>

打开RegisterAction.java文件,实现数据的插入,修改代码如下:

    public ActionForward execute(ActionMapping mapping,ActionForm form,
            HttpServletRequestrequest, HttpServletResponse response) {
       
        //填写的注册信息
        RegisterForm registerForm =(RegisterForm) form;
        String username =registerForm.getUsername();
        String password =registerForm.getPassword();
        String nickname =registerForm.getNickname();
       
        //检查用户名是否已被注册
        UserDAO userDAO =(UserDAO)Global.getDAO("UserDAO");
        List<?> list =userDAO.findByUsername(username);
       
        //用户名已被注册,返回注册页面
        if(list.size() > 0){
           request.setAttribute("message", "该用户名已被注册");
            returnmapping.findForward("registerFail");
        }
       
        //插入新用户
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        user.setNickname(nickname);
        userDAO.save(user);
        request.setAttribute("message","注册成功,请登录:" + nickname);
        returnmapping.findForward("registerSuccess");
    }

打开login.jsp在body中添加一行代码<%=request.getAttribute("message")%><br>

重新启动Tomcat服务器,访问注册页http://localhost:8080/SSH/jsp/register.jsp
输入帐号:asd2  输入密码:asd123  输入昵称:中文不应该是乱码  点击确认
SSH框架搭建,巨详细,亲测可用。
页面提示:注册成功,请登录:中文ä¸åº”该是乱ç
我们期望的是"中文不应该是乱码",但它变成乱码了,很常见的一种问题。百度查了一下相关问题,原因是使用Tomcat服务器时,struts的Form提交不支持中文,于是我们需要添加一个过滤器。
在com.ssh.common包下新建一个TomcatFormFilter类,代码如下:
package com.ssh.common;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class TomcatFormFilter implements Filter{
    //接收字符编码
    protected String encoding;   
    public TomcatFormFilter(){}   
    public void init(FilterConfig filterConfig) throwsServletException {
        //从web.xml中读取encoding值
        encoding =filterConfig.getInitParameter("encoding");
    }   
    public void doFilter(ServletRequest request, ServletResponseresponse,
            FilterChain chain) throwsIOException, ServletException {
        if(request.getCharacterEncoding() == null&& encoding != null){
            //设置字符集
           request.setCharacterEncoding(encoding);
        }
        //继续执行
        chain.doFilter(request, response);
    }   
    public void destroy() {}
}

拷贝这个类中注释代码部分的xml,粘贴到web.xml中

<!--中文乱码过滤--!>

<!—使用Tomcat服务器时,struts的Form提交不支持中文,于是添加一个过滤器--!>

<filter>

<filter-name>TomcatFormFilter</filter-name>

<filter-class>com.ssh.common.TomcatFormFilter</filter-class>

<init-param>

     <param-name>encoding</param-name>

     <param-value>UTF-8</param-value>

 </init-param>
</filter>

<filter-mapping>

<filter-name>TomcatFormFilter</filter-name>

<url-pattern>*.do</url-pattern>

</filter-mapping>

SSH框架搭建,巨详细,亲测可用。
重新启动Tomcat服务器,访问注册页http://localhost:8080/SSH/jsp/register.jsp

输入帐号:asd3  输入密码:asd123  输入昵称:这回中文不应该是乱码了  点击确定
SSH框架搭建,巨详细,亲测可用。

注:可能出现 “页面提示:注册成功,请登录: 这回中文不应该是乱码了,但它在数据库中还是变成乱码了,这也很常见。百度查了一下相关问题,原因在于hibernate,具体的问题不是很清楚,解决方式:

我们在连接连接数据库需要加上“?useUnicode=true& characterEncoding=UTF-8 “或者”?useUnicode=true&amp;characterEncoding=UTF-8”,问号不能丢即:mydata.url=jdbc:mysql://localhost:3306/databasename?useUnicode=true&amp;characterEncoding=UTF-8

 

至此SSH框架的搭建全部完成