}
if(newPassword.equals(\
ctx.put(\新密码必须输入!\ return \ }
if(!newPassword2.equals(newPassword)) {
ctx.put(\两次密码输入不一致!\
return \ }
String username = (String)ctx.getSession().get(\ Admin admin = AdminDAO.GetAdmin(username);
if(!admin.getPassword().equals(oldPassword)) {
ctx.put(\旧密码不正确!\ return \ }
try {
AdminDAO.ChangePassword(username,newPassword);
ctx.put(\密码修改成功!\ return \ } catch (Exception e) { e.printStackTrace();
ctx.put(\密码更新失败!\ return \ } } }
Useraction.java
package com.shuangyulin.action;
public class UserAction {
public String UserQuery(){ return \; } }
AdminDAO.java
package com.shuangyulin.dao;
import org.hibernate.HibernateException; import org.hibernate.Session;
import org.hibernate.Transaction;
19
import com.shuangyulin.domain.Admin;
import com.shuangyulin.utils.HibernateUtil;
public class AdminDAO {
/*保存业务逻辑错误信息字段*/ private String errMessage;
public String getErrMessage() { return this.errMessage; }
/*验证用户登录*/
public boolean CheckLogin(Admin admin) { Session s = null; try {
s = HibernateUtil.getSession();
Admin db_admin = (Admin)s.get(Admin.class, admin.getUsername()); if(db_admin == null) {
this.errMessage = \账号不存在 \ System.out.print(this.errMessage); return false;
} else if( !db_admin.getPassword().equals(admin.getPassword())) { this.errMessage = \密码不正确! \ System.out.print(this.errMessage); return false; }
} finally {
HibernateUtil.closeSession(); }
return true; }
/*修改用户登录密码*/
public static void ChangePassword(String username, String newPassword) { Session s = null;
Transaction tx = null; try {
s = HibernateUtil.getSession(); tx = s.beginTransaction();
Admin db_admin = (Admin)s.get(Admin.class, username); db_admin.setPassword(newPassword); s.save(db_admin); tx.commit();
} catch (HibernateException e) { if (tx != null) tx.rollback(); throw e;
20
} finally {
HibernateUtil.closeSession(); } }
/*根据用户名获取管理员对象*/
public static Admin GetAdmin(String username) { Session s = null;
Admin db_admin = null; try {
s = HibernateUtil.getSession();
db_admin = (Admin)s.get(Admin.class, username); } finally {
HibernateUtil.closeSession(); }
return db_admin; } }
BookDAO.java
package com.shuangyulin.domain;
/*图书信息类*/
public class Book { /*条形码*/
private String barcode; /*图书名称*/
private String bookName; /*图书类型*/
private BookType bookType; /*作者*/
private String author; /*出版社*/
private String publishAddress; /*价格*/
private float price; /*库存*/
private int stockCount;
public int getStockCount() { return stockCount; }
public void setStockCount(int stockCount) { this.stockCount = stockCount; }
21
public String getBarcode() { return barcode; }
public void setBarcode(String barcode) { this.barcode = barcode; }
public String getBookName() { return bookName; }
public void setBookName(String bookName) { this.bookName = bookName; }
public BookType getBookType() { return bookType; }
public void setBookType(BookType bookType) { this.bookType = bookType; }
public String getAuthor() { return author; }
public void setAuthor(String author) { this.author = author; }
public String getPublishAddress() { return publishAddress; }
public void setPublishAddress(String publishAddress) { this.publishAddress = publishAddress; }
public float getPrice() { return price; }
public void setPrice(float price) { this.price = price; } }
BookType.java
package com.shuangyulin.domain;
/*图书类别*/
public class BookType {
22
/*类别编号*/
private int bookTypeId; /*类别名称*/
private String bookTypeName; /*可借天数*/
private int days;
public int getBookTypeId() { return bookTypeId; }
public void setBookTypeId(int bookTypeId) { this.bookTypeId = bookTypeId; }
public String getBookTypeName() { return bookTypeName; }
public void setBookTypeName(String bookTypeName) { this.bookTypeName = bookTypeName; }
public int getDays() { return days; }
public void setDays(int days) { this.days = days; } }
Hibernateutil.java
package com.shuangyulin.utils;
import org.hibernate.HibernateException; import org.hibernate.Session;
import org.hibernate.cfg.Configuration; /**
* Configures and provides access to Hibernate sessions, tied to the * current thread of execution. Follows the Thread Local Session * pattern, see {@link http://hibernate.org/42.html }. */
public class HibernateUtil {
23