欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql+ssh调整例子,附源码下载

程序员文章站 2022-06-01 17:50:52
...

mysql+ssh整合例子,附源码下载 项目引用jar下载:http://download.csdn.net/detail/adam_zs/7262727 项目源码下载地址:http://download.csdn.net/detail/adam_zs/7262749 今天花时间把ssh整合了一下,重新再学习一下,希望对大家有所帮助! 我用的是mysql数

mysql+ssh整合例子,附源码下载

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

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

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

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

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

mysql+ssh调整例子,附源码下载mysql+ssh调整例子,附源码下载

项目配置文件

web.xml

index.jsporg.springframework.web.context.ContextLoaderListenerstruts2org.apache.struts2.dispatcher.FilterDispatcherstruts2/*

struts.xml

/error.jsp/welcome.jsp.

applicationContext.xml

com/wzs/bean/Person.hbm.xml
					org.hibernate.dialect.MySQLInnoDBDialectupdatetruetrue

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方法来
		// 验证用户输入的用户名和密码是否正确
		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 {
	/**
	 * 校验用户名密码
	 * 
	 * @param name
	 *            用户名
	 * @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;

	/**
	 * 校验用户名密码
	 * 
	 * @param name
	 *            用户名
	 * @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 {

	/**
	 * 校验用户名密码
	 * 
	 * @param name
	 *            用户名
	 * @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);

	/**
	 * 根据用户名查找Person
	 * 
	 * @param name
	 *            查询的人名
	 * @return 指定用户名对应的全部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;
	}

	/**
	 * 校验用户名密码
	 * 
	 * @param name
	 *            用户名
	 * @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);
	}

	/**
	 * 根据用户名查找Person
	 * 
	 * @param name
	 *            查询的人名
	 * @return 指定用户名对应的全部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


	登录页面

用户登录

用户名:
密 码:

welcome.jsp



	成功页面
		您已经登录!
		


error.jsp


	错误页面
		您不能登录!