import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.io.IOException;
import javax.servlet.ServletException;
import java.util.ArrayList;
import org.hibernate.*;
import org.hibernate.cfg.*;
/**
* @author Chao Wu
*
* Description: This class is a Struts Action class used to do the validation
* work and login to the system.
* <p>
*
* Copyright:
* <p>
*/
public class ManageUserAction extends Action {
/**
* This method deals with the actions need to login
*
* @param mapping
* @param form
* @param req
* @param res
* @return
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
UserForm userForm = (UserForm) form;
String mode = request.getParameter("mode");
if ("new".equalsIgnoreCase(mode)) {
return executeNewAction(mapping, userForm, request, response);
} else if ("newsave".equalsIgnoreCase(mode)) {
return executeNewSaveAction(mapping, userForm, request, response);
} else if ("update".equalsIgnoreCase(mode)) {
return executeUpdateAction(mapping, userForm, request, response);
} else if ("updatesave".equalsIgnoreCase(mode)) {
return executeUpdateSaveAction(mapping, userForm, request, response);
} else if ("delete".equalsIgnoreCase(mode)) {
return executeDeleteAction(mapping, userForm, request, response);
} else if ("view".equalsIgnoreCase(mode)) {
return executeViewAction(mapping, userForm, request, response);
} else {
return executeManageAction(mapping, userForm, request, response);
}
}
/**
* This method deals with two requests. One is to display the "add new user"
* page, it clears all the fields and forward to "add new user" page The
* other is to actually add a new user, to do this it validates the inputs
* and inserts into database if valid
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
private ActionForward executeNewAction(ActionMapping mapping,
UserForm form, HttpServletRequest request,
HttpServletResponse response) {
return mapping.findForward("new_user");
}
private ActionForward executeNewSaveAction(ActionMapping mapping,
UserForm form, HttpServletRequest request,
HttpServletResponse response) {
UserForm userForm = (UserForm) form;
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
User user = new User();
user.setUsername(userForm.getNewUsername());
user.setPassword(userForm.getNewPassword());
user.setDescription(userForm.getNewDescription());
user.setEmail(userForm.getNewEmail());
user.setName(userForm.getNewEmail());
user.setRole(userForm.getNewRole());
user.setTel(userForm.getNewTel());
session.save(user);
tx.commit();
session.close();
return executeManageAction(mapping, userForm, request, response);
}
/**
* Update a user. If the user has been deleted by someone else, alert the
* user.
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
private ActionForward executeUpdateAction(ActionMapping mapping,
UserForm form, HttpServletRequest request,
HttpServletResponse response) {
UserForm userForm = (UserForm) form;
String hid = request.getParameter("hid");
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
String sqlQuery = "select u from User u where u.username='" + hid + "'";
Query lQuery = session.createQuery(sqlQuery);
ArrayList userList = (ArrayList) lQuery.list();
User user = (User) userList.get(0);
tx.commit();
session.close();
userForm.setUpdateUser(user);
return mapping.findForward("update_user");
}
private ActionForward executeUpdateSaveAction(ActionMapping mapping,
UserForm form, HttpServletRequest request,
HttpServletResponse response) {
UserForm userForm = (UserForm) form;
User updateUser = userForm.getUpdateUser();
String username = updateUser.getUsername();
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
String sqlQuery = "select u from User u where u.username='" + username + "'";
Query lQuery = session.createQuery(sqlQuery);
ArrayList userList = (ArrayList) lQuery.list();
User user = (User) userList.get(0);
user = updateUser;
session.save(user);
tx.commit();
session.close();
return executeManageAction(mapping, userForm, request, response);
}
/**
* Delete a user. If the user has been deleted by someone else, just forward
* to and refresh the manage page.
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
private ActionForward executeDeleteAction(ActionMapping mapping,
UserForm form, HttpServletRequest request,
HttpServletResponse response) {
UserForm userForm = (UserForm) form;
String hid = request.getParameter("hid");
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
String sqlQuery = "select u from User u where u.username='" + hid + "'";
Query lQuery = session.createQuery(sqlQuery);
ArrayList userList = (ArrayList) lQuery.list();
User user = (User) userList.get(0);
if (user != null) {
session.delete(user);
}
tx.commit();
session.close();
return executeManageAction(mapping, userForm, request, response);
}
/**
* View a user. If the user has been deleted by someone else, alert the
* user.
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
private ActionForward executeViewAction(ActionMapping mapping,
UserForm form, HttpServletRequest request,
HttpServletResponse response) {
UserForm userForm = (UserForm) form;
String hid = request.getParameter("hid");
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
String sqlQuery = "select u from User u where u.username='" + hid + "'";
Query lQuery = session.createQuery(sqlQuery);
ArrayList userList = (ArrayList) lQuery.list();
User user = (User) userList.get(0);
tx.commit();
session.close();
userForm.setViewUser(user);
return mapping.findForward("view_user");
}
/**
* Get all the users and forward to the manage users page.
*
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
private ActionForward executeManageAction(ActionMapping mapping,
UserForm form, HttpServletRequest request,
HttpServletResponse response) {
UserForm userForm = (UserForm) form;
ArrayList userList = new ArrayList();
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
String sqlQuery = "from User";
Query lQuery = session.createQuery(sqlQuery);
userList = (ArrayList) lQuery.list();
tx.commit();
session.close();
userForm.setUserList(userList);
return mapping.findForward("main_user");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
struts+hibernate开发的项目源代码集合 (398个子文件)
PostAction.class 6KB
PostAction.class 6KB
ManageUserAction.class 6KB
ManageUserAction.class 6KB
CarAction.class 5KB
CarAction.class 5KB
CourseAction.class 4KB
CourseAction.class 4KB
ChangePasswordAction.class 3KB
ChangePasswordAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
LoginAction.class 3KB
PostForm.class 3KB
PostForm.class 3KB
UserForm.class 3KB
UserForm.class 3KB
Message.class 2KB
Message.class 2KB
User.class 2KB
User.class 2KB
LoginForm.class 1KB
LoginForm.class 1KB
CarForm.class 1KB
CarForm.class 1KB
Comment.class 1KB
Comment.class 1KB
CourseForm.class 1KB
CourseForm.class 1KB
Student.class 1KB
Student.class 1KB
Car.class 1KB
Car.class 1KB
LoginForm.class 1KB
LoginForm.class 1KB
LoginForm.class 1KB
LoginForm.class 1KB
User.class 886B
User.class 886B
User.class 886B
User.class 886B
User.class 886B
User.class 886B
User.class 886B
User.class 886B
LoginForm.class 791B
LoginForm.class 791B
StudentCourses.class 728B
StudentCourses.class 728B
.classpath 483B
.classpath 483B
.classpath 394B
.classpath 394B
.classpath 394B
.classpath 394B
.classpath 394B
.classpath 394B
.classpath 394B
.classpath 394B
.classpath 394B
.classpath 394B
.component 388B
.component 388B
.component 388B
.component 388B
.component 382B
.component 382B
.component 382B
.component 382B
.component 382B
.component 382B
.component 378B
.component 378B
ManageUserAction.java 8KB
ManageUserAction.java 8KB
PostAction.java 7KB
PostAction.java 7KB
CarAction.java 4KB
CarAction.java 4KB
CourseAction.java 4KB
CourseAction.java 4KB
ChangePasswordAction.java 3KB
ChangePasswordAction.java 3KB
LoginAction.java 2KB
LoginAction.java 2KB
UserForm.java 2KB
UserForm.java 2KB
LoginAction.java 2KB
LoginAction.java 2KB
PostForm.java 2KB
PostForm.java 2KB
LoginAction.java 2KB
LoginAction.java 2KB
共 398 条
- 1
- 2
- 3
- 4
资源评论
HKLZXQ
- 粉丝: 0
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功