博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql+ssh整合样例,附源代码下载
阅读量:7106 次
发布时间:2019-06-28

本文共 8171 字,大约阅读时间需要 27 分钟。

项目引用jar下载:http://download.csdn.net/detail/adam_zs/7262727

项目源代码下载地址:http://download.csdn.net/detail/adam_zs/7262749

今天花时间把ssh整合了一下,又一次再学习一下,希望对大家有所帮助!

我用的是mysql数据库,建表语句比較简单就不贴出来了,建表的时候记的设置id为自己主动添加�哦。

项目文件位置,项目引用jar包

项目配置文件

web.xml

index.jsp
org.springframework.web.context.ContextLoaderListener
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*
struts.xml

/error.jsp
/welcome.jsp
.
applicationContext.xml

com/wzs/bean/Person.hbm.xml
org.hibernate.dialect.MySQLInnoDBDialect
update
true
true
java代码

Person.java

package com.wzs.bean;public class Person {	private Integer id;	private String name;	private String password;	public Integer getId() {		return id;	}	public void setId(Integer id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getPassword() {		return password;	}	public void setPassword(String password) {		this.password = password;	}}
Person.hbm.xml

LoginAction.java

package com.wzs.action;import com.opensymphony.xwork2.ActionSupport;import com.wzs.service.MyService;@SuppressWarnings("serial")public class LoginAction extends ActionSupport {	// 以下是用于封装用户请求參数的两个属性	private String name;	private String password;	// 用于封装处理结果的属性	private String tip;	// 系统所用的业务逻辑组件	private MyService ms;	// 设置注入业务逻辑组件所必需的setter方法	public void setMs(MyService ms) {		this.ms = ms;	}	/**	 * 用户登录	 * 	 * @return	 * @throws Exception	 */	public String login() throws Exception {		// 调用业务逻辑组件的valid方法来		// 验证用户输入的username与password是否正确		if (ms.valid(getName(), getPassword())) {			setTip("哈哈,整合成功!");			return SUCCESS;		} else {			return ERROR;		}	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getPassword() {		return password;	}	public void setPassword(String password) {		this.password = password;	}	public String getTip() {		return tip;	}	public void setTip(String tip) {		this.tip = tip;	}	public MyService getMs() {		return ms;	}}
MyService.java

package com.wzs.service;public interface MyService {	/**	 * 校验username密码	 * 	 * @param name	 *            username	 * @param password	 *            密码	 * @return true:存在,false:不存在	 */	boolean valid(String name, String password);}
MyServiceImpl.java

package com.wzs.service.impl;import com.wzs.dao.PersonDao;import com.wzs.service.MyService;public class MyServiceImpl implements MyService {	private PersonDao personDao;	/**	 * 校验username密码	 * 	 * @param name	 *            username	 * @param password	 *            密码	 * @return true:存在,false:不存在	 */	public boolean valid(String name, String password) {		return personDao.valid(name, password);	}	public PersonDao getPersonDao() {		return personDao;	}	public void setPersonDao(PersonDao personDao) {		this.personDao = personDao;	}}
PersonDao.java

package com.wzs.dao;import java.util.List;import com.wzs.bean.Person;public interface PersonDao {	/**	 * 校验username密码	 * 	 * @param name	 *            username	 * @param password	 *            密码	 * @return true:存在,false:不存在	 */	public boolean valid(String name, String password);	public Person get(Integer id);	/**	 * 保存Person实例	 * 	 * @param person	 *            须要保存的Person实例	 * @return 刚刚保存的Person实例的标识属性值	 */	public Integer save(Person person);	/**	 * 改动Person实例	 * 	 * @param person	 *            须要改动的Person实例	 */	public void update(Person person);	/**	 * 删除Person实例	 * 	 * @param id	 *            须要删除的Person实例的标识属性值	 */	public void delete(Integer id);	/**	 * 删除Person实例	 * 	 * @param person	 *            须要删除的Person实例	 */	public void delete(Person person);	/**	 * 依据username查找Person	 * 	 * @param name	 *            查询的人名	 * @return 指定username相应的所有Person	 */	public List
findByName(String name); /** * 查询所有Person实例 * * @return 所有Person实例 */ @SuppressWarnings("unchecked") public List findAllPerson(); /** * 查询数据表中Person实例的总数 * * @return 数据表中Person实例的总数 */ public long getPersonNumber();}
PersonDaoImpl.java

package com.wzs.dao.impl;import java.util.List;import org.hibernate.SessionFactory;import org.springframework.orm.hibernate3.HibernateTemplate;import com.wzs.bean.Person;import com.wzs.dao.PersonDao;public class PersonDaoImpl implements PersonDao {	private HibernateTemplate ht = null;	private SessionFactory sessionFactory;	// 依赖注入SessionFactory的setter方法	public void setSessionFactory(SessionFactory sessionFactory) {		this.sessionFactory = sessionFactory;	}	// 初始化HibernateTemplate的方法	private HibernateTemplate getHibernateTemplate() {		if (ht == null) {			ht = new HibernateTemplate(sessionFactory);		}		return ht;	}	/**	 * 校验username密码	 * 	 * @param name	 *            username	 * @param password	 *            密码	 * @return true:存在,false:不存在	 */	@SuppressWarnings("unchecked")	public boolean valid(String name, String password) {		List
list = getHibernateTemplate().find("from Person p where p.name=? and p.password=?", new String[] { name, password }); if (list.size() > 0) { return true; } return false; } /** * 载入Person实例 * * @param id * 须要载入的Person实例的标识属性值 * @return 指定id相应的Person实例 */ public Person get(Integer id) { return (Person) getHibernateTemplate().get(Person.class, id); } /** * 保存Person实例 * * @param person * 须要保存的Person实例 * @return 刚刚保存的Person实例的标识属性值 */ public Integer save(Person person) { return (Integer) getHibernateTemplate().save(person); } /** * 改动Person实例 * * @param person * 须要改动的Person实例 */ public void update(Person person) { getHibernateTemplate().update(person); } /** * 删除Person实例 * * @param id * 须要删除的Person实例的标识属性值 */ public void delete(Integer id) { getHibernateTemplate().delete(get(id)); } /** * 删除Person实例 * * @param person * 须要删除的Person实例 */ public void delete(Person person) { getHibernateTemplate().delete(person); } /** * 依据username查找Person * * @param name * 查询的人名 * @return 指定username相应的所有Person */ @SuppressWarnings("unchecked") public List
findByName(String name) { return (List
) getHibernateTemplate().find("from Person p where p.name like ?", name); } /** * 查询所有Person实例 * * @return 所有Person实例 */ @SuppressWarnings("unchecked") public List findAllPerson() { return (List
) getHibernateTemplate().find("from Person"); } /** * 查询数据表中Person实例的总数 * * @return 数据表中Person实例的总数 */ public long getPersonNumber() { return (Long) getHibernateTemplate().find("select count(*) from Person as p").get(0); }}
jsp界面

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>			登录页面				

用户登录

username:
密  码:
welcome.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%><%@taglib prefix="s" uri="/struts-tags"%>			成功页面				您已经登录!		

error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>			错误页面				您不能登录!	

你可能感兴趣的文章
linux中vmstat命令详解
查看>>
软件测试基础知识整理三----白盒测试
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
查看>>
linux网卡操作命令 ,查看Linux下网卡连接状态(up还是down)?
查看>>
CCNP学习之路之RSTP快速生成树协议
查看>>
yum安装与源码安装比较
查看>>
【C语言】第一个C语言小程序 —— 日期算法和万年历
查看>>
《高性能MySQL》學習筆記--索引
查看>>
BZOJ4894:天赋(矩阵树定理)
查看>>
Linux自动执行sh脚本
查看>>
转:消息队列
查看>>
Ansible
查看>>
软件测试Lab2 Selenium及自动化测试
查看>>
ubuntu配置lamp运行环境笔记
查看>>
Redis 数据库结构设计
查看>>
2016过狗菜刀下载 2016过狗刀 过狗菜刀下载
查看>>
day8--socket文件传输
查看>>
P/Invoke Interop 实例
查看>>