—————————–实体类
package cn.itcast.shop.user.vo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
private Integer uid;
private String username;
private String password;
private String email;
private String name;
private String addr;
private String phone;
private Integer state;
private String code;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
———————————————————service层
package cn.itcast.shop.user.service;
import java.util.List;
import org.springframework.transaction.annotation.Transactional;
import cn.itcast.shop.user.dao.UserDao;
import cn.itcast.shop.user.vo.User;
import cn.itcast.shop.util.UUIDUtil;
/**
* 业务层
* @author fox.gcz
* 2016-6-1
*
*/
@Transactional
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao){
this.userDao = userDao;
}
public User findByUsername(String username){
return userDao.findByUserName(username);
}
public void save(User user){
user.setState(0);
String code = UUIDUtil.getUUID().substring(5)+UUIDUtil.getUUID();
user.setCode(code);
userDao.save(user);
}
//查询所有的用户
public List<User> finAll() {
return userDao.getAllUser();
}
public User findUser(User user) {
User u = userDao.login(user);
return u;
}
}
———————————————dao层
package cn.itcast.shop.user.dao;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import cn.itcast.shop.user.vo.User;
/**
* 持久层
* @author fox.gcz
* 2016-6-1
*
*/
public class UserDao extends HibernateDaoSupport{
//按照名字查询用户
@SuppressWarnings("unchecked")
public User findByUserName(String username){
String hql = "from User where username = ?";
List<User> list = this.getHibernateTemplate().find(hql,username);
if(list.size()!=0){
return list.get(0);
}
return null;
}
public void save(User user){
this.getHibernateTemplate().save(user);
}
@SuppressWarnings("unchecked")
public List<User> getAllUser() {
String hql ="from User";
List<User> list = this.getHibernateTemplate().find(hql);
return list;
}
@SuppressWarnings("unchecked")
public User login(User user) {
String hql = "from User where username =? and password = ?";
List<User> list = this.getHibernateTemplate().find(hql, user.getUsername(),user.getPassword());
if(list.size() != 0)
return list.get(0);
return null;
}
}
———————————————-action
package cn.itcast.shop.user.action;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import cn.itcast.shop.user.service.UserService;
import cn.itcast.shop.user.vo.User;
import cn.itcast.shop.util.LoggerUtil;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class UserAction extends ActionSupport implements ModelDriven {
/*
* 接受验证码
*/
private String checkcode ;
public void setCheckcode(String checkcode) {
this.checkcode = checkcode;
}
private static final long serialVersionUID = 668909611948854000L;
private User user = new User();
private UserService userService;
public void setUserService(UserService userService){
LoggerUtil.printInfoLoger(UserAction.class, "执行了setUserService方法"+userService);
this.userService = userService;
}
@Override
public User getModel() {
LoggerUtil.printInfoLoger(UserAction.class, "getModel()"+user.getUsername());
return user;
}
/**
* 跳转到注册页面的方法
*/
public String registPage(){
return "registPage";
}
/**
* regist.jsp页面里ajax页面异常调用执行的方法
* @return
* @throws IOException
*/
public String findByName() throws IOException{
LoggerUtil.printInfoLoger(UserAction.class, "findByName()"+user.getUsername());
User existUser = userService.findByUsername(user.getUsername());
//获得response对象,向页面输出
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
if(existUser != null){
//查询该用户,用户名已经存在
response.getWriter().println("<font color='red'>用户名已经存在</font>");
}else{
response.getWriter().println("<font color='green'>用户名可以使用</font>");
}
//因为是ajax请求因此不需要跳转页面只需要输出就行
return NONE;
}
public String regist(){
//session获取的验证码值
String code = (String) ServletActionContext.getRequest().getSession().getAttribute("checkcode");//这个值来自CheckImgAction类里面存入session的值
if(checkcode==null || !checkcode.equalsIgnoreCase(code)){
this.addActionError("验证码不正确");
return "input";
}
userService.save(user);
return login(user);
}
private String login(User user2) {
User exitUser = userService.findUser(user2);
if(exitUser == null){
this.addActionError("登陆失败啊,其他校验");
return LOGIN;
}else{
//将用户信息存入到session
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("exitUser", exitUser);
//页面跳转
return "loginSuccess";
}
}
public String getUser(){
List<User> list = userService.finAll();
ActionContext.getContext().getValueStack().set("list", list);//引号内的list就是Jsp页面s标签里卖弄的value
return "getuser";
}
public String loginPage(){
return "loginPage";
}
/**
* 登陆
*/
public String login(){
String code = (String) ServletActionContext.getRequest().getSession().getAttribute("checkcode");//这个值来自CheckImgAction类里面存入session的值
if(checkcode==null || !checkcode.equalsIgnoreCase(code)){
this.addActionError("验证码不正确");
return LOGIN;
}
User exitUser = userService.findUser(this.user);
if(exitUser == null){
this.addActionError("登陆失败啊,其他校验");
return LOGIN;
}else{
//将用户信息存入到session
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("exitUser", exitUser);
//页面跳转
return "loginSuccess";
}
}
/**
* 退出
* @throws ServletException
*/
public String loginOut() throws ServletException{
ServletActionContext.getRequest().getSession().invalidate();
return "quit";
}
}
—————————-jsp校验xml