本人现阶段是个学生,写代码没有什么经验,都是通过感觉写的,请各位大神指出错误所在,谢谢
后台代码:
思路:将前端文本框的用户名和密码,以参数传到后台Action中,之后进行查询,如果查询到的结果为0,则用户不存在,否则存在,之后在把返回值0 和 1通过Ajax接收,进行判断
Action
1 package net.xx.controller; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.io.UnsupportedEncodingException; 6 import java.net.URLDecoder; 7 8 import org.apache.struts2.ServletActionContext; 9 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.context.annotation.Scope; 11 import org.springframework.stereotype.Controller; 12 13 import com.opensymphony.xwork2.Action; 14 15 import net.xx.domain.Usert; 16 import net.xx.service.IUserService; 17 18 @Controller 19 @Scope("prototype") 20 public class LoginAction { 21 @Autowired 22 private IUserService userService; 23 private Object data4; 24 private Usert usert; 25 private String username; 26 private String password; 27 28 29 public String getUsername() { 30 return username; 31 } 32 public void setUsername(String username) { 33 this.username = username; 34 } 35 36 public Object getData4() { 37 return data4; 38 } 39 public void setData4(Object data4) { 40 this.data4 = data4; 41 } 42 public Usert getUsert() { 43 return usert; 44 } 45 public void setUsert(Usert usert) { 46 this.usert = usert; 47 } 48 49 public String getPassword() { 50 return password; 51 } 52 public void setPassword(String password) { 53 this.password = password; 54 } 55 public String execute(){ 56 boolean flag = userService.findUser(usert); 57 if(flag){ 58 return Action.SUCCESS; 59 }else{ 60 return Action.INPUT; 61 } 62 } 63 public String check() throws IOException{ 64 username = URLDecoder.decode(username, "UTF-8"); 65 password = URLDecoder.decode(password, "UTF-8"); 66 data4 = userService.checkUser(username,password).size(); 67 int i = (int) data4; 68 String result = ""; 69 if(i == 0){ 70 //用户不存在 71 result = "0"; 72 }else{ 73 result = "1"; 74 } 75 PrintWriter out = ServletActionContext.getResponse().getWriter(); 76 out.write(result.toString()); 77 return Action.SUCCESS; 78 } 79 80 81 }
Dao接口
1 package net.xx.dao; 2 3 import java.util.List; 4 5 import net.xx.domain.Usert; 6 7 public interface IUserDao { 8 //声明增加和查找方法 9 public void saveUser(Usert user); 10 public Usert findUser(Usert user); 11 public List<Usert> getUser(); 12 public List<Usert> getUserByUsername(String username); 13 public List<Usert> check(String username,String password); 14 public List<Usert> checkPassword(String username); 15 }
Dao实现类
1 package net.xx.dao; 2 3 import java.util.List; 4 5 import org.hibernate.SessionFactory; 6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.stereotype.Repository; 8 9 import net.xx.domain.Usert; 10 @Repository 11 public class UserDaoImpl implements IUserDao{ 12 @Autowired 13 private SessionFactory sessionfactory; 14 @Override 15 public void saveUser(Usert user) { 16 // TODO Auto-generated method stub 17 sessionfactory.getCurrentSession().save(user); 18 } 19 20 @Override 21 public Usert findUser(Usert user) { 22 // TODO Auto-generated method stub 23 Usert firstuser = new Usert(); 24 String hql = "from User user where user.username='"+user.getUsername()+"'and user.password'"+user.getPassword()+"'"; 25 //将查询结果放到List 26 List<Usert> userlist = (List<Usert>) sessionfactory.getCurrentSession().createQuery(hql); 27 if(userlist.size()>0){ 28 firstuser = userlist.get(0); 29 } 30 31 return firstuser; 32 } 33 //遍历数据库中的数据 34 @Override 35 public List<Usert> getUser() { 36 // TODO Auto-generated method stub 37 String hql="from Usert"; 38 List<Usert> users = sessionfactory.getCurrentSession().createQuery(hql).list(); 39 return users; 40 } 41 42 @Override 43 public List<Usert> getUserByUsername(String username) { 44 // TODO Auto-generated method stub 45 String hql= "select * from Usert where username='"+username+"'"; 46 //通过输入的参数,得到用户的信息 47 List<Usert> users = (List<Usert>) sessionfactory.getCurrentSession().createSQLQuery(hql).list(); 48 return users; 49 } 50 51 @Override 52 public List<Usert> check(String username,String password) { 53 // TODO Auto-generated method stub 54 String hql = "select * from Usert where username='"+username+"' and password='"+password+"'"; 55 List<Usert> users = sessionfactory.getCurrentSession().createSQLQuery(hql).list(); 56 return users; 57 } 58 59 @Override 60 public List<Usert> checkPassword(String username) { 61 // TODO Auto-generated method stub 62 String hql = "select password from Usert where username ='"+username+"'"; 63 List<Usert> password = sessionfactory.getCurrentSession().createSQLQuery(hql).list(); 64 65 return password; 66 } 67 }
Service接口
1 package net.xx.service; 2 3 import java.util.List; 4 5 import net.xx.domain.Usert; 6 7 public interface IUserService { 8 public void saveUser(Usert user); 9 public boolean findUser(Usert user); 10 List list(); 11 public List getUserByUsername(String username); 12 List checkUser(String username,String password); 13 }
Service实现类
1 package net.xx.service; 2 3 import java.util.List; 4 5 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.stereotype.Service; 7 8 import net.xx.dao.IUserDao; 9 import net.xx.domain.Usert; 10 @Service 11 public class UserServiceImpl implements IUserService{ 12 @Autowired 13 private IUserDao userDao; 14 @Override 15 public void saveUser(Usert user) { 16 // TODO Auto-generated method stub 17 userDao.saveUser(user); 18 } 19 @Override 20 public boolean findUser(Usert user) { 21 // TODO Auto-generated method stub 22 Usert firstuser = userDao.findUser(user); 23 if(firstuser.getUsername()!=null){ 24 return true; 25 }else{ 26 return false; 27 } 28 } 29 30 @Override 31 public List list() { 32 // TODO Auto-generated method stub 33 List<Usert> users = userDao.getUser(); 34 return users; 35 } 36 37 @Override 38 public List getUserByUsername(String username) { 39 // TODO Auto-generated method stub 40 List<Usert> users =userDao.getUserByUsername(username); 41 return users; 42 } 43 44 @Override 45 public List checkUser(String username,String password) { 46 // TODO Auto-generated method stub 47 List<Usert> users = userDao.check(username,password); 48 return users; 49 } 50 }