Hibernate+Struts2+Ajax实现用户登陆验证

来源:互联网 发布:centos7查看mysql状态 编辑:程序博客网 时间:2024/05/02 12:49
@Overridepublic Map login(User user) throws Exception {Map<String, Object> map=new HashMap<String, Object>();session = HibernateUtil.getSession();Transaction tx = session.beginTransaction();Query query = session.createQuery("from User where userNum=?");query.setString(0, user.getUserNum());List<User> list = query.list();if (list.size() > 0 && list != null) {// 用户名存在User loginUser = list.get(0);if (user.getPassword() != null&& user.getPassword().trim().equals(loginUser.getPassword())){map.put("user", loginUser);}else{//添加提示信息,用户名或密码不正确map.put("msg", "用户名或密码不正确");}}else{//用户名不存在map.put("msg", "用户名不存在");}tx.commit();return map;}


Action

此处需:

User user;实现get/set

public String login()throws Exception{System.out.println("进入action中login");System.out.println("userNum="+user.getUserNum());System.out.println("password="+user.getPassword());}if(user!=null){Map<String, Object> map=osDao.login(user);user=(User) map.get("user");if(user!=null){Map session=ActionContext.getContext().getSession();session.put("user", user);msg="true";return "success";}else{msg=(String) map.get("msg");}}return "login";}


xml
<package name="house-json" extends="json-default">    <action name="login" class="OaAction.UserAction" method="login">    <result type="json"></result>    <result name="login" type="json"></result>    </action>    </package>

jsp-Ajax

<script type="text/javascript" src="<%=basePath%>js/jquery-1.8.2.js"></script><script type="text/javascript">function doLogin(type){$("#msg").html("");var name=$("#userNum").val();var pw=$("#password").val();var url = 'login.action?user.userNum='+name+'&user.password='+pw; if(name!=null && name!="" && pw!=null && pw!=""){$.ajax({url: url,type:"post",dataType: "json",async: false,success:function(data){if(data.user!=null){alert("登录成功!");location.href="<%=basePath%>/index.jsp";}else{$("#msg").text();$("#msg").append(data.msg);}}});}else{$("#msg").append("请输入用户名或密码");}}</script>

jsp-form

<form action="" method="post" name="login_form"><label> 工  号: </label> <input type="text" name="user.userNum" id="userNum"/><label> 密  码: </label> <input type="password" name="user.password" id="password"/> <input type="button" class="login-sub" value="" onclick="doLogin();"/><br /> <p id="msg"></p></form>