基于SSH框架实现登录功能

#适合对象:学生

#适用范围:课程设计,实验报告

#软件框架以及版本:

mysql5+myeclipse+tomcat+Stucts 1.2 + Spring 3.0 + Hibernate3.3+J2EE 5.0+jdk1.6

#准备工作

1.安装JDK,MyEclipse,MySQL,JDBC(高版本可能报错),SQLyog

2.创建数据库sshtest,创建表Student表,并插入一些数据

CREATE DATABASE sshtest;
USE sshtest;

CREATE TABLE Student(
 id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
 Sname VARCHAR(50) NOT NULL,
 Spassword VARCHAR(50) NOT NULL
 )
 
 INSERT INTO Student(Sname,Spassword) VALUES('cyh',123456);
 INSERT INTO Student(Sname,Spassword) VALUES('dudou',234);
 INSERT INTO Student(Sname,Spassword) VALUES('xiaoxiong',1234);
 INSERT INTO Student(Sname,Spassword) VALUES('ljt',456);

上述语句输入sqlyog或者navicat等可视化软件运行使用

#SSH框架搭建步骤

1.在MyEclipse中新建一个Web项目,起名为cyhsshtest(根据自己需求起)

Web Project

2.接下来为项目添加框架

3.添加Struts框架,右键刚刚新建的项目,选择MyEclipse->Add Struts Capabilities,

4.在弹出的界面中把包的路径改一下,改为自己的,即Base package for new classes中的com.yourcompany.struts改为com.cyhsshtest,点击完成

5.添加Spring框架,步骤如上,右键这个项目,选择MyEclipse->Add Spring Capabilities

6.在弹出的菜单中选择Spring3.0(本项目使用的是Spring3.0),并选择下面6个包,点击下一步(next),更改Folder路径,选择到SSH项目的WebRoot文件夹下的WEB-INF,完成。

7.连接mysql数据库,选择右上角的Window->Open Perspective->MyEclipse Database Explorer

8.在窗口中右键->new,创建一个新的数据库连接

9.在弹出的菜单中进行填写:

Driver template:选择MySQL Connector/J

Driver name:这里起名为SSH数据库连接(为数据库连接命名)

Connection URL:jdbc:mysql://localhost:3308/sshtest(jdbc:mysql://+自己的主机地址+数据库端口号,大家应该普遍是3306,我这里是改过端口,所以是3308+数据库名称)

User name:自己MYSQL的管理员名称

Password:MYSQL登录密码

(一般为root+123456)

Driver JARs:添加数据库连接的jar包,点击Add JARs浏览到事先准备好的

mysql-connector-java-5.1.7-bin.jar 获取方式见文章末尾

Driver classname:选择com.mysql.jdbc.Driver

Save password 选上(JDBC版本过高可能会导致连接失败)

10.点击Test Driver,测试结果:数据库配置正确,点击OK

11.双击SSH数据库连接,展开目录,可以看到我们事先建立的数据表

12.添加Hibernate框架,右键SSH项目->MyEclipse->Add Hibernate Capabilities

选择Hibernate为3.3,点击下一步

配置中选择第二项 Spring configuration file,把Spring与Hibernate整合到一起,点击下一步


在菜单中选第二项 Existing Spring configuration file,点击下一步

DB Driver选择在添加Spring框架时配置的SSH数据库连接,点击下一步

点击取消 Create SessionFactory class?

13.现在的目录框架如下,SSH框架大体搭建完成

14.测试

先部署项目,访问首页看看效果,右键项目->Run As->MyEclipse Server Application

等待一段时间之后,可以在MyEclipse Web Browser或者在浏览器输入:http://localhost:8082/cyhsshtest

14.接下来是重头戏,登陆功能的实现

tips:这里使用Spring框架的逆向工程功能

MyEclipse切换到MyEclipse Database Explorer视图,使用Spring框架的逆向工程功能把student表逆向成Java实体类,右键student表->选择Hibernate Reverse Engineering

15.Java src folder:选择刚刚新建的SSH项目下的src

     Java package:填写com.cyhsshtest.user

并勾选前3个选项:Create POJO、Java Data Object和Java Data Access Object

tips:POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作,这里会封装一些常用的操作,基本上可以满足我们的各种需要了,选择下一步。

Id Generator:选择native

16.此时的目录结构如下

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

16.现在来写测试页

打开WebRoot文件夹下的WEB-INF->struts-config.xml文件,以MyEclipse

Struts Config Editor方式打开

右键->New->Form,Action and JSP

填写Form表单属性:

Use case:login

Name:loginForm

同时在下面的Form Properties 中添加两个属性:

Name:username

JSP input type:text

Name:password

JSP input type:password

切换到JSP选项,选择Create JSP form?

点击Finish

17.此时的目录结构如下:

可以看到在WebRoot的form文件夹下生成一个login.jsp

18.现在需要建立两个JSP页面,一个用于登录成功页面,一个用于登录失败页面

在WebRoot的Form下新建两个JSP页面,一个为loginSuccess.jsp,一个为loginFail.jsp

把登录页、登录成功页、登录失败页3个页面相关联
切换到struts-config.xml的设计视图,右键login.jsp->New->Forward

loginSuccess:
选择Local Action Forward
浏览Action Path:/login
填写name:loginSuccess
浏览Path:/form/loginSuccess.jsp
完成
loginFail:
选择Local Action Forward
浏览Action Path:/login
填写name:loginFail
浏览Path:/form/loginFail.jsp

17.现在来写具体的执行代码:

打开LoginAction.java,可以看到自动生成的代码如图

17.将上述代码改成下面的代码:

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.cyhsshtest.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.registry.infomodel.User;

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 org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.*;

import com.cyhsshtest.struts.form.LoginForm;
import com.cyhsshtest.user.Student;
import com.cyhsshtest.user.StudentDAO;

/** 
 * MyEclipse Struts
 * Creation date: 05-20-2024
 * 
 * XDoclet definition:
 * @struts.action path="/login" name="loginForm" input="/form/login.jsp" scope="request" validate="true"
 */
public class LoginAction extends Action {
	/*
	 * Generated Methods
	 */

	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	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();
		
		Student student = new Student();
		student.setSname(username);
		student.setSpassword(password);
		
		ClassPathXmlApplicationContext beans = new ClassPathXmlApplicationContext("../applicationContext.xml");
		StudentDAO studentDAO = (StudentDAO)beans.getBean("StudentDAO");
		List<?> list = studentDAO.findByExample(student);
		
		if(list.size()>0){
			return mapping.findForward("loginSuccess");
		}
		return mapping.findForward("loginFail");
	}
}

18.重启服务器,测试登陆功能,输入上面插入的测试数据

数据库表中存入的测试数据,我们测试第三个数据,小伙伴们有兴趣的也可以测试其他数据

登录界面:

登录失败界面:

登录成功界面:

就此SSH框架实现登录界面就完成了,感谢您的浏览,祝您生活愉快!

获取相关jar包或者有问题可以加qq群:967225446

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WAMMA07

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值