使用ajax来进行登录验证
servlet:
1 @WebServlet("/login.do")
2 public class AjaxLoginServlet extends HttpServlet {
3 private static final long serialVersionUID = 1L;
4
5 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
6
7 ResultMsg rm = new ResultMsg();
8 PrintWriter out = response.getWriter();
9 Gson gson = new Gson();
10
11 String name = request.getParameter("userName");
12 String pass = request.getParameter("userPass");
13
14 //非空校验
15 if(isempty(name)||isempty(pass)){
16 rm.setMsg("user pass is null");
17 rm.setResult("0002");
18
19 out.println(gson.toJson(rm));
20 return;
21 }
22
23 //去数据库确认一下用户是不是存在,并且登录成功
24 if("dabu".equals(name)&&"123".equals(pass)){
25 rm.setResult("0000");
26 }else {
27 rm.setMsg("user pass is wrong");
28 rm.setResult("0001");
29 }
30
31 out.println(gson.toJson(rm));
32
33 //form表单 a标签; 转发或者重定向
34 //ajax的请求; out.println(json对象);
35 }
36
37 //判断一个字符串是不是为空
38 private boolean isempty(String str){
39 return null==str||"".equals(str.trim());
40 }
41
42 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
43 // TODO Auto-generated method stub
44 doGet(request, response);
45 }
jsp里面的是重点:
1 <body>
2
3 <!-- 提交的方式; get post -->
4
5
6 <form action="login.do" method="post">
7
8 <!-- name : 对应我们servlet去获取前台文本框的值的 key -->
9 用户名:<input id="nm" name="userName" type="text" value="${userName}" />
10 密码:<input name="userPass" type="password" />
11 <button type="button">登录</button>
12 <label id="lab1"></label>
13
14 </form>
15 </body>
16 <script type="text/javascript">
17
18 $(function(){
19 $("button").click(function(){
20
21 //使用jQuery发送一个ajax请求
22 var name=$("#nm").val();
23 var pass=$("input[name='userPass']").val();
24
25
26
27 /*
28 使用get请求
29 $.get("login.love?userName="+name+"&userPass="+pass,function(obj){ //obj:后台返回给我的哪个json字符串
30
31 var json = JSON.parse(obj);
32
33 if(json.result == "0000"){
34 location.href="http://www.baidu.com";
35 }else if(json.result == "0001"){
36 alert(json.msg);
37 }else{
38 alert(json.msg);
39 }
40 }); */
41
42 /*
43 使用post请求
44 $.post("login.love",{"userName":name,"userPass":pass},function(obj){ //obj:后台返回给我的哪个json字符串
45
46 var json = JSON.parse(obj);
47
48 if(json.result == "0000"){
49 location.href="http://www.baidu.com";
50 }else if(json.result == "0001"){
51 alert(json.msg);
52 }else{
53 alert(json.msg);
54 }
55 }) */
56
57
58
59 $.ajax({
60
61
62 url:"login.do",//目标地址
63 type:"post",//请求方式
64 data:{"userName":name,"userPass":pass},//请求参数
65 success:function(obj){//obj:后台返回给我们的一个json的字符串
66
67 var json=JSON.parse(obj);
68
69 if(json.result=="0000"){
70 location.href="http//www.baidu.com";
71 }else if (json.result=="0001") {
72 alert(json.msg);
73 }else{
74 alert(json.msg);
75 }
76
77 }
78
79 });
80
81
82 });
83 });
84
85 </script>

使用ajax来进行登录验证的更多相关文章
- SSM框架完成Ajax简单用户登录验证
一.前端JSP <%@ page contentType="text/html;charset=UTF-8" language="java" %> ...
- PHP + ajax 实现异步登录验证
login.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- 基于Ajax与用户认证系统的登录验证
一.登录页面 from django.contrib import admin from django.urls import path from blog import views urlpatte ...
- 2-功能1:基于用户认证组件和Ajax实现登录验证(图片验证码)
1.登录页面的设计 (1)label标签的id属性 label标签的id属性,点击label标记,相当于点击了input框 bootstarp样式 class="form-group&quo ...
- Ajax(简介、基础操作、计算器,登录验证)
Ajax简介 Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. ...
- 使用ajax登录验证,第一次点击登录按钮无反应,第二次点击才能正常运行。
问题描述: 使用ajax进行登录验证时,第一次点击登录按钮无反应,第二次点击才能进去. 解决方法: 原来的代码 <form action="" method="po ...
- ASP.NET MVC 登录验证
好久没写随笔了,这段时间没 什么事情,领导 一直没安排任务,索性 一直在研究代码,说实在的,这个登录都 搞得我云里雾里的,所以这次我可能也讲得不是 特别清楚,但是 我尽力把我知道的讲出来,顺便也对自 ...
- Shiro安全框架入门篇(登录验证实例详解与源码)
转载自http://blog.csdn.net/u013142781 一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和J ...
- MVC过滤器进行统一登录验证
统一登录验证: 1.定义实体类Person:利用特性标签验证输入合法性设计登录页面 1 2 3 4 5 6 7 8 9 public class Person { [DisplayName(& ...
- 基于权限安全框架Shiro的登录验证功能实现
目前在企业级项目里做权限安全方面喜欢使用Apache开源的Shiro框架或者Spring框架的子框架Spring Security. Apache Shiro是一个强大且易用的Java安全框架,执行身 ...
随机推荐
- CORS 跨域请求一种解决方案
平常工作难遇到这类问题, 一般搭建新系统或搭建系统二时需要复用系统一一些前后端能力, 可能会遇到跨域拦截问题. 这里提供一种基于服务器解决方案. 更多其他方案, 详细细节可自行查阅更多资料, 写一些前 ...
- Go语言fmt.Sprintf、fmt.Printf(格式化输出)
fmt.Printf fmt.Printf在程序中使用%f来格式化所需的值 看起来我们的值被四舍五入到了一个合理的数.但小数点后仍显示了6位,这对我们当前的需要来说实在是太多了. 对于这种情况,格式化 ...
- composer init
$ composer init Do not run Composer as root/super user! See https://getcomposer.org/root for details ...
- 软件测试_Fiddler抓包工具
多数资料摘抄至 https://www.cnblogs.com/miantest/p/7289694.html 一.在 macOS 下如何安装 (https://www.telerik.com/fid ...
- Nginx配置跨域,覆盖后端服务跨域配置
本篇文章主要介绍了,如何通过Nginx配置跨域,并覆盖后端服务跨域配置. 先看下后端代码跨域配置: 主要的目标是:不修改后端跨域配置代码,来实现Nginx跨域指定域名. @Bean public Co ...
- Chrome 133 版本开发者工具(DevTools)更新内容
Chrome 133 版本开发者工具(DevTools)更新内容 一.持久化的 AI 聊天记录 AI 助手面板会在本地持久化聊天记录,即使重新加载 DevTools 或 Chrome,也可以查看之前与 ...
- ARM开发板——实时获取用户点击触摸屏的LCD坐标信息(阻塞式读取)
ARM开发板--实时获取用户点击触摸屏的LCD坐标信息(阻塞式读取) 目录 ARM开发板--实时获取用户点击触摸屏的LCD坐标信息(阻塞式读取) 1.硬件信息 2.代码需求 3.代码实现 1.硬件信息 ...
- sqlite的firedac显示设置
- dify升级,PostgreSQL数据库字段更新处理
一.概述 dify运行在容器中,PostgreSQL用的是阿里云,已经运行了很长一段时间.某些表的数据量很大,比如workflowruns表,就有100GB.这个主要是,详细记录了工作流的执行情况,包 ...
- CSP - J理论(2)
CSP - J理论(2) CSP-J理论合集跳转 目录 本目录中所有标题单击均可以快速跳转哦