ssm的搭建見上一章
1.數據協議層
public User selectByLoginnameAndPassword(@Param("loginname")String loginname,@Param("password") String password);
2.服務協議層
User login(String loginname,String password);
3.服務層
@Autowired private UserDao userDao; public User login(String loginname, String password) { return userDao.selectByLoginnameAndPassword(loginname, password); }
4.數據實現層(mybatis)
<mapper namespace="com.yongxing.manager.dao.UserDao">
<select id="selectByLoginnameAndPassword" resultType="com.yongxing.manager.domain.User" > select * from user_inf where loginname=#{loginname} and password=#{password} </select>
5.控制層
@Controller public class UserController { @Autowired private UserService userServcie; @RequestMapping("/checklogin") @ResponseBody public User checklogin( String loginname,String paasword,HttpSession session){ System.out.println(loginname); User user =userServcie.login(loginname, paasword); if(user!=null) { session.setAttribute("user_session", user); return user; }else { return null; } }
后台搭建結束
6.前台搭建
<form> <input name="loginname" type="text" id="loginname"/ > <input name="password" type="password" id="password"/> <input value="登錄" style="width: 100%;" type="button" onclick="requestJson()" > </form>
ajax異步登陸
<script type="text/javascript"> function requestJson(){ var name =$("#loginname").val();//#是id選擇器 var pwd =$("#password").val(); if(name==""){ alert("用戶名不能為空!"); return false; } else if(pwd==" "){ alert("密碼不能為空!"); return false; } else { $.ajax({ type:'post', url:'checklogin', dataType:"json",//注意使用的是打他dataType,而不是Content-Type async: true, data:{loginname:name,paasword:pwd}, success:function(data){ if(data==null){ alert("沒有這個用戶!") } else{ alert("登錄成功") window.location.href ="main"; } } }); } } </script>