package com.bunfly.web.action;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.Cookie;
import org.apache.struts2.ServletActionContext;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import com.bunfly.domain.User;
import com.bunfly.service.UserService;
import com.bunfly.utils.CookieUtils;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.util.ValueStack;
/**
* 用户的控制器
*
* @author Sherry
*
*/
public class UserAction extends ActionSupport implements ModelDriven<User> {
// 模型驱动
private User user = new User();
public User getModel() {
return user;
}
// 注入UserService
private UserService userService;
public void setUserService(UserService userService) {
this.userService = userService;
}
/**
* 用户登录
*
* @return
*/
public String login() {
User existUser = userService.login(user);
// 判断,登录名或者密码错误
if (existUser == null) {
ServletActionContext.getRequest().setAttribute("msg", "用户名或密码错误。");
return LOGIN;
} else {
// 自动登录
if ("true".equals(ServletActionContext.getRequest().getParameter("autologin"))) {
Cookie c = new Cookie("autoLogin", user.getUser_name() + "-" + user.getUser_password());
c.setPath(ServletActionContext.getRequest().getContextPath() + "/");
c.setMaxAge(3600 * 3);
ServletActionContext.getResponse().addCookie(c);
}
// 请记住我
if ("true".equals(ServletActionContext.getRequest().getParameter("savename"))) {
Cookie c = new Cookie("saveName", user.getUser_name());
c.setPath(ServletActionContext.getRequest().getContextPath() + "/");
c.setMaxAge(3600 * 3);
ServletActionContext.getResponse().addCookie(c);
}
}
ServletActionContext.getRequest().getSession().setAttribute("existUser", existUser);
// 登录成功
return "loginOK";
}
/**
* ajax检查用户名是否存在
*
* @return
* @throws IOException
*/
public String checkUsername() throws IOException {
User existUser = userService.checkUsername(user);
if (existUser == null) {
ServletActionContext.getResponse().getWriter().println("1");
} else {
ServletActionContext.getResponse().getWriter().println("0");
}
return NONE;
}
/**
* ajax检查手机号是否存在
*
* @return
* @throws IOException
*/
public String checkPhone() throws IOException {
User existUser = userService.checkPhone(user);
if (existUser == null) {
ServletActionContext.getResponse().getWriter().println("1");
} else {
ServletActionContext.getResponse().getWriter().println("0");
}
return NONE;
}
/**
* 用户注册
*
* @return
*/
public String register() {
// 接受两个验证码
String rCode = ServletActionContext.getRequest().getParameter("checkcode");
String sCode = (String) ServletActionContext.getRequest().getSession().getAttribute("sessionCode");
// 移除session中的验证码
ServletActionContext.getRequest().getSession().removeAttribute("sessionCode");
// 判断验证码是否相同
if (!rCode.equalsIgnoreCase(sCode)) {
ServletActionContext.getRequest().setAttribute("msg", "验证码错误,请重新输入。");
return "register";
}
userService.register(user);
ServletActionContext.getRequest().getSession().setAttribute("existUser", user);
return "registerOK";
}
/**
* 找回密码
*
* @return
*/
public String findPassword() {
// 接受两个验证码
String rCode = ServletActionContext.getRequest().getParameter("checkcode");
String sCode = (String) ServletActionContext.getRequest().getSession().getAttribute("sessionCode");
// 移除session中的验证码
ServletActionContext.getRequest().getSession().removeAttribute("sessionCode");
// 判断验证码是否相同
if (!rCode.equalsIgnoreCase(sCode)) {
ServletActionContext.getRequest().setAttribute("msg", "验证码错误,请重新输入。");
return "findpassword";
}
User existUser = userService.findPassword(user);
if (existUser == null) {
ServletActionContext.getRequest().setAttribute("msg", "用户名或手机号错误。");
return "findpassword";
} else {
ServletActionContext.getRequest().setAttribute("msg", "你的密码为:" + existUser.getUser_password());
return "findpassword";
}
}
/**
* 重置密码
*
* @return
*/
public String updatePassword() {
// 接受两个验证码
String rCode = ServletActionContext.getRequest().getParameter("checkcode");
String sCode = (String) ServletActionContext.getRequest().getSession().getAttribute("sessionCode");
// 移除session中的验证码
ServletActionContext.getRequest().getSession().removeAttribute("sessionCode");
// 判断验证码是否相同
if (!rCode.equalsIgnoreCase(sCode)) {
ServletActionContext.getRequest().setAttribute("msg", "验证码错误,请重新输入。");
return "updatepassword";
}
User existUser = userService.login(user);
if (existUser == null) {
ServletActionContext.getRequest().setAttribute("msg", "旧密码输入错误。");
return "updatepassword";
} else {
String newpassword = ServletActionContext.getRequest().getParameter("newpassword");
existUser.setUser_password(newpassword);
userService.register(existUser);
ServletActionContext.getRequest().getSession().removeAttribute("existUser");
return "updatepasswordOK";
}
}
/**
* 用户退出
*
* @return
*/
public String exit() {
// 销毁session
ServletActionContext.getRequest().getSession().removeAttribute("existUser");
// 销毁自动登录cookie
Cookie c = CookieUtils.getCookieByName("autoLogin", ServletActionContext.getRequest().getCookies());
if (c != null) {
c.setPath(ServletActionContext.getRequest().getContextPath() + "/");
c.setMaxAge(0);
ServletActionContext.getResponse().addCookie(c);
}
return LOGIN;
}
/**
* 用户列表
*
* @return
*/
public String findAll() {
List<User> list = userService.findAll();
for (User user : list) {
user.setUser_password(user.getUser_password().substring(0,user.getUser_password().length()-4)+"****");
}
ValueStack vs = ActionContext.getContext().getValueStack();
vs.set("list", list);
return "userList";
}
/**
* 通过用户名模糊查询
*
* @return
*/
public String findByUsername() {
String input = ServletActionContext.getRequest().getParameter("input");
// 离线查询
DetachedCriteria criteria = DetachedCriteria.forClass(User.class);
// 添加查询的条件
if (input != null && !input.trim().isEmpty()) {
// 模糊查询
criteria.add(Restrictions.like("user_name", "%" + input + "%"));
}
List<User> list = userService.findByUsername(criteria);
ValueStack vs = ActionContext.getContext().getValueStack();
vs.set("list", list);
return "userList";
}
/**
*
* 删除选中的用户
*
* @return
*/
public String deleteUser() {
String[] ids = ServletActionContext.getRequest().getParameterValues("uid");
for (String user_id : ids) {
user = userService.findById(Integer.valueOf(user_id), user);
userService.deleteUser(user);
}
List<User> list = userService.findAll();
ValueStack vs = ActionContext.getContext().getValueStack();
vs.set("list", list);
vs.set("msg", "删除成功!");
return "userList";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
SSH框架网站 (220个子文件)
UserAction.class 7KB
TouristAction.class 7KB
NewsAction.class 6KB
TeamAction.class 5KB
UserDaoImpl.class 3KB
CodeAction.class 3KB
TeamDaoImpl.class 3KB
AutoLoginFilter.class 3KB
TouristDaoImpl.class 3KB
NewsDaoImpl.class 2KB
Tourist.class 2KB
TeamServiceImpl.class 2KB
TouristServiceImpl.class 2KB
UserServiceImpl.class 2KB
IsLogin.class 2KB
NewsServiceImpl.class 2KB
Team.class 2KB
User.class 2KB
Role.class 1KB
UserInterceptor.class 1KB
News.class 1KB
RoleDaoImpl.class 1KB
TeamService.class 862B
TeamDao.class 850B
CookieUtils.class 832B
RoleServiceImpl.class 827B
TouristService.class 791B
TouristDao.class 779B
UserService.class 711B
UserDao.class 699B
NewsService.class 684B
NewsDao.class 672B
RoleService.class 189B
RoleDao.class 177B
.classpath 618B
org.eclipse.wst.common.component 475B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.css 143KB
bootstrap.min.css 118KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
userlist.css 6KB
newslist.css 5KB
newscontent.css 3KB
index.css 3KB
login.css 731B
addnews.css 604B
addtourist.css 585B
addteam.css 585B
updatepassword.css 585B
register.css 585B
findpassword.css 585B
registerjump.css 496B
glyphicons-halflings-regular.eot 20KB
hibernate-core-5.0.7.Final.jar 5.32MB
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar 1.57MB
freemarker-2.3.22.jar 1.24MB
spring-context-4.2.4.RELEASE.jar 1.05MB
spring-core-4.2.4.RELEASE.jar 1.03MB
struts2-core-2.3.24.jar 812KB
log4j-core-2.2.jar 807KB
spring-web-4.2.4.RELEASE.jar 749KB
spring-beans-4.2.4.RELEASE.jar 714KB
javassist-3.18.1-GA.jar 697KB
mysql-connector-java-5.1.7-bin.jar 693KB
xwork-core-2.3.24.jar 661KB
mchange-commons-java-0.2.3.4.jar 568KB
spring-test-4.2.4.RELEASE.jar 549KB
log4j-1.2.16.jar 470KB
spring-orm-4.2.4.RELEASE.jar 455KB
antlr-2.7.7.jar 435KB
c3p0-0.9.2.1.jar 414KB
spring-jdbc-4.2.4.RELEASE.jar 413KB
jstl-1.2.jar 405KB
com.springsource.org.apache.log4j-1.2.15.jar 387KB
standard-1.1.2.jar 384KB
standard.jar 384KB
commons-lang3-3.2.jar 376KB
spring-aop-4.2.4.RELEASE.jar 361KB
dom4j-1.6.1.jar 307KB
spring-tx-4.2.4.RELEASE.jar 259KB
spring-expression-4.2.4.RELEASE.jar 257KB
commons-beanutils-1.8.3.jar 227KB
ognl-3.0.6.jar 223KB
jandex-2.0.0.Final.jar 183KB
commons-io-2.2.jar 170KB
log4j-api-2.2.jar 130KB
hibernate-jpa-2.1-api-1.0.0.Final.jar 111KB
jsp-api.jar 75KB
hibernate-commons-annotations-5.0.1.Final.jar 74KB
commons-fileupload-1.3.1.jar 67KB
jboss-logging-3.3.0.Final.jar 65KB
com.springsource.org.apache.commons.logging-1.1.1.jar 60KB
commons-logging-1.1.1.jar 59KB
spring-aspects-4.2.4.RELEASE.jar 57KB
asm-3.3.jar 43KB
asm-commons-3.3.jar 37KB
slf4j-api-1.6.1.jar 25KB
struts2-spring-plugin-2.3.24.jar 21KB
asm-tree-3.3.jar 21KB
共 220 条
- 1
- 2
- 3
qq_33999939
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0