ssm框架中jsp页面使用jquery的$.ajax验证登录注册,注册验证已实现,同理去
注册验证是可以正常进入服务器并于controller中的checkRegister交互的,并且控制台能输出sql语句。但是登录却不行,检查很多遍没发现写错什么,但是并没有进入到checkLogin方法,连方法内部的systemout一个都没输出来。最让我不解的是,用谷歌和ie浏览器时,不进对应的方法不说,内存占用逐渐上升飙红了,网页关掉就恢复正常。而这些问题,注册页面统统没有。。我查来查去真不知道是什么原因了,请各位大神帮忙指点分析一下。下面贴上源码
登录的JS:
登录的JSP中HTML表单:
房产信息查询系统
| 请输入身份证号 | <span/> | | 请输入密码 | <span/> |
[tr][td][/td][td] 注册[/td][/tr]
登录与注册的后端处理:
@Controller@RequestMapping(value="/users")public class UserController{ @Resource private IUsersService usersService; private Map usersList; //用户登录 @RequestMapping(value="/login",method=RequestMethod.GET) public String login(Model model){ Users users=new Users(); model.addAttribute(users); return "_login"; } @RequestMapping(value="/login",method=RequestMethod.POST) public String login(Users users,Model model){ model.addAttribute("users",users); return "viewIndex"; } @RequestMapping(value="/checkLogin",method=RequestMethod.POST) public void checkLogin(HttpServletRequest request, HttpServletResponse response,Users user,Model model){ try { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String cardId = request.getParameter("cardId"); System.out.println(cardId); String pw=request.getParameter("password"); System.out.println(pw); Users u=usersService.getUserByCardId(cardId); String message=null; if(u==null||!cardId.equals(u.getCardId())){ message="[1]";//该账号不存在,请先注册! System.out.println("该账号不存在,请先注册"); }else if(!cardId.equals(u.getCardId())||!pw.equals(u.getPassword())){ message="[2]";//登录失败,身份证号或密码错误! System.out.println("登录失败,身份证号或密码错误!"); }else if(u.getStatus()==0){ message="[3]";//登录失败,该账号已被冻结! System.out.println("登录失败,该账号已被冻结!"); }else{ message="[0]"; System.out.println("登录成功。。。"); } PrintWriter out= response.getWriter(); out.write(JSONArray.fromObject(message).toString()); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //用户注册 @RequestMapping(value="/register",method=RequestMethod.GET) public String register(Model model){ Users users=new Users(); model.addAttribute(users); return "_register"; } @RequestMapping(value="/register",method=RequestMethod.POST) public String register(Users users,Model model){ Integer gender=new Integer(users.getCardId().substring(17)); if(gender%2==0)gender=0;else gender=1; users.setGender(gender); Date createTime=new Date(System.currentTimeMillis()); users.setCreateTime(createTime); users.setStatus(1); usersService.insertUsers(users); return "_login"; } //注册验证 @RequestMapping(value="/checkRegister",method=RequestMethod.POST) public void checkRegister(HttpServletRequest request, HttpServletResponse response,Users user,Model model){ try { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String message=null; String id = request.getParameter("cardId"); Users u=usersService.getUserByCardId(id); if(u==null){ message="[0]";//代表可以注册 }else{ message="[1]";//代表已存在 } PrintWriter out= response.getWriter(); out.write(JSONArray.fromObject(message).toString()); out.close(); } catch (IOException e) { e.printStackTrace(); } }}
注册的JS:
注册的JSP中HTML表单:
账号注册
| 身份证号 | <span/> | | 用户名 | <span/> | | 密码 | <span/> | | 确认密码 | <span/> |
[tr][td][/td][td][/td][/tr] |
免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。
版权声明:作者保留权利,不代表本站立场。
|
|
|
|
|
|
|
|
问题已解决,又是犯很低级的错误,检查的时候很容易忽视的,为此忙活一整天。。。 |
|
|
|
|
|
|
|