SSM框架完成Ajax简单用户登录验证
一、前端JSP
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Login</title>
</head>
<script type="text/javascript" src="statics/js/jquery-3.3.1.js"></script> <script type="text/javascript"> function userLogin(){
$.ajax({
type : "post",
url : "checkLogin",
dataType:"json",
data:{
username:$("#username").val(),
password:$("#password").val()
},
success : function(data) {
if(data.code == "0"){
window.location.href = "JSP/welcome.jsp";
}else {
alert(data.errorInfo+"");
$("#showMessage").val(data.errorInfo+"");
}
}
});
}
</script>
<body> 用户名:<input type="text" name="username" id="username"/><br/>
密 码:<input type="password" name="password" id="password"/><br/>
<input type="button" name="login" value="登录" onclick="userLogin()"/><br/>
<textarea id="showMessage" style="border: none;"></textarea>
</body>
</html>
这里使用 window.location.href = "JSP/welcome.jsp" 完成Ajax里的重定向,而没有选择在Controller里返回视图
二、后台Controller
package myProject.Controller;
import myProject.Model.User;
import myProject.Service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map; @Controller
public class LoginController { @Resource
private UserService userService; @RequestMapping(value = "/checkLogin",method = RequestMethod.POST)
@ResponseBody
public Map userLoginCheck(HttpServletRequest request){ System.out.println("进入该方法");
String username = request.getParameter("username");
String password = request.getParameter("password"); System.out.println("request.getParameter "+username);
System.out.println("request.getParameter "+password); Boolean result = checkLogin(username,password);
Map<String, Object> map = new HashMap<>(); if (result) {
map.put("code", 0);
}
else{
map.put("code", 1);
map.put("errorInfo","登录失败,请重新登录");
}
return map;
} public boolean checkLogin(String username,String password){
User user = userService.getUserByName(username);
if (user == null || "".equals(user)){
return false;
}
if (user.getUserPwd().equals(password)){
return true;
}else {
return false;
} } }
三、测试结果
3.1 用户名和密码都正确


3.2 用户名或密码不正确

相关参考:http://www.cnblogs.com/boycelee/p/6243646.html
SSM框架完成Ajax简单用户登录验证的更多相关文章
- Servlet课程0425(四) Servlet实现简单用户登录验证
Login.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class ...
- DBCP(MySql)+Servlet+BootStrap+Ajax实现用户登录与简单用户管理系统
目 录 简介 本次项目通过Maven编写 本文最后会附上代码 界面截图 登录界面 注册界面 登录成功进入主页 增加用户操作 删除用户操作 修改用户操作 主要代码 Dao层代码 DBCP代码 Se ...
- 用javascript实现简单的用户登录验证
用javascript实现简单的用户登录验证 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- Python程序练习1-模拟用户登录验证
1.功能简介 此程序模拟用户登录验证的过程,实现用户名输入.黑名单检测.用户有效性判别.密码输入及验证等.用户在3次以内输入正确密码登陆成功,连续输错3次密码登陆失败,且该用户名被记录在黑名单,黑名单 ...
- djangorestframework-jwt自带的认证视图进行用户登录验证源代码学习
Django REST framework JWT djangorestframework-jwt自带的认证视图进行用户登录验证源代码学习 SECRET_KEY = '1)q(f8jrz^edwtr2 ...
- Spring学习之SpringMVC框架快速搭建实现用户登录功能
引用自:http://blog.csdn.net/qqhjqs/article/details/41683099?utm_source=tuicool&utm_medium=referral ...
- SSM项目使用拦截器实现登录验证功能
SSM项目使用拦截器实现登录验证功能 登录接口实现 public User queryUser(String UserName, String Password,HttpServletRequest ...
- android loginDemo +WebService用户登录验证
android loginDemo +WebService用户登录验证 本文是基于android4.0下的loginActivity Demo和android下的Webservice实现的.l ...
- cookie实现用户登录验证
cookie实现用户登录验证 1, INSTALLED_APPS中注册app03 2,在主程序中新建映射关系到app3的url中 from django.conf.urls import url,in ...
随机推荐
- Qt如何在QTabWidget上绘图
Qt绘图事件必须在paintEvent事件下绘图,这样导致我们在向Qt设计师界面上拖拽的控件绘图时,造成了很大的麻烦. 我们不能在拖拽的控件上写paintEvent函数,但是可以自定义一个类,继承某一 ...
- Beyond Compare相同文件为何显示差异
原文地址: http://www.beyondcompare.cc/wenti/wenjian-chayi.html Beyond Compare是一款经典老牌且优秀的专业级文本比较工具,它可以很方便 ...
- SQL死锁操作
这两天数据库经常被锁,所以记录一下操作: 查看被锁表:select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) ...
- Gradle's dependency cache may be corrupt
原因分析: 当前Android studio 安装或者升级后配置的Gradle版本不对.可以打开安装目录下\Android\Android Studio\gradle\查看当前已有最新的版本.例如下图 ...
- 2018-2019-2 网络对抗技术 20165305 Exp4 恶意代码分析
Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysi ...
- Linux替换文件内容sed命令
sed -e 4a\newline testfile //在第四行后添加一行,并将结果输出到标准输出.-e,以指定脚本处理文本文件:a,新增. nl /etc/passwd | sed '2,5d' ...
- Windows7 安装TensorFlow,python3.6
TensorFlow 1.2.0新版本完美支持Python3.6,windows在cmd中输入pip install tensorflow就能下载应用最新tensorflow 只需在cmd中输入pip ...
- webviewplugin
https://blog.csdn.net/qq_39197547/article/details/85007418 https://www.cnblogs.com/pjl43/p/9866753.h ...
- 进行分支切换时,出现error的修复方法
进行分支切换时,出现如此错误,导致无法正常切换:error: The following untracked working tree files would be overwritten by ch ...
- C#线程同步(4)- 通知&EventWaitHandle一家
文章原始出处 http://xxinside.blogbus.com/logs/47523285.html 预备知识:C#线程同步(1)- 临界区&Lock,C#线程同步(2)- 临界区&am ...