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来进行登录验证的更多相关文章

  1. SSM框架完成Ajax简单用户登录验证

    一.前端JSP <%@ page contentType="text/html;charset=UTF-8" language="java" %> ...

  2. PHP + ajax 实现异步登录验证

    login.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  3. 基于Ajax与用户认证系统的登录验证

    一.登录页面 from django.contrib import admin from django.urls import path from blog import views urlpatte ...

  4. 2-功能1:基于用户认证组件和Ajax实现登录验证(图片验证码)

    1.登录页面的设计 (1)label标签的id属性 label标签的id属性,点击label标记,相当于点击了input框 bootstarp样式 class="form-group&quo ...

  5. Ajax(简介、基础操作、计算器,登录验证)

    Ajax简介 Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. ...

  6. 使用ajax登录验证,第一次点击登录按钮无反应,第二次点击才能正常运行。

    问题描述: 使用ajax进行登录验证时,第一次点击登录按钮无反应,第二次点击才能进去. 解决方法: 原来的代码 <form action="" method="po ...

  7. ASP.NET MVC 登录验证

     好久没写随笔了,这段时间没 什么事情,领导 一直没安排任务,索性 一直在研究代码,说实在的,这个登录都 搞得我云里雾里的,所以这次我可能也讲得不是 特别清楚,但是 我尽力把我知道的讲出来,顺便也对自 ...

  8. Shiro安全框架入门篇(登录验证实例详解与源码)

    转载自http://blog.csdn.net/u013142781 一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和J ...

  9. MVC过滤器进行统一登录验证

    统一登录验证: 1.定义实体类Person:利用特性标签验证输入合法性设计登录页面 1 2 3 4 5 6 7 8 9 public class Person {     [DisplayName(& ...

  10. 基于权限安全框架Shiro的登录验证功能实现

    目前在企业级项目里做权限安全方面喜欢使用Apache开源的Shiro框架或者Spring框架的子框架Spring Security. Apache Shiro是一个强大且易用的Java安全框架,执行身 ...

随机推荐

  1. 使用自制离线数据跑通ElasticFusion

    使用自制离线数据跑通ElasticFusion 实验环境及设备 实验环境: Ubuntu22.04 RTX3060 实验设备: 小米13(Android) Realsense D455 一句话总结就是 ...

  2. 调用 restful的api的方法

    var // myurl : string; tmpstr : String;// string; RespData :TStringStream; sendData : TStringList; j ...

  3. 比df更好用的命令!

    大家好,我是良许. 对于分析磁盘使用情况,有两个非常好用的命令:du 和 df .简单来说,这两个命令的作用是这样的: du 命令:它是英文单词 disk usage 的简写,主要用于查看文件与目录占 ...

  4. Greenplum数据库时间操作汇总

    Greenplum数据库时间操作与mysql有一些区别,汇总以往笔记记录下来. greenplum时间格式:'yyyy-mm-dd hh24:mi:ss.us'.'yyyy-mm-dd hh:mi:s ...

  5. java 限流

    题记 在高并发的分布式系统中,我们都需要考虑接口并发量突增时造成的严重后果,后端服务的高压力严重甚至会导致系统宕机.为避免这种问题,我们都会为接口添加限流.降级.熔断等能力,从而使接口更为健壮. 限流 ...

  6. Cursor+playwright+mcp,好玩

    Cursor+playwright+mcp能干嘛,我就不多说,本文只讲怎么用上 第一步,安装下载Cursor.node.js,至于什么python环境,playwright网上一堆教程,自己查 第二步 ...

  7. 重生之我是操作系统(十)----I/O管理

    简介 操作系统的I/O管理(input/output mannagment)是协调,控制计算机与外部设备(如磁盘,键盘,网络接口)等之间数据交换的核心功能.实现可靠高效且统一(隐藏设备差异,如磁盘.串 ...

  8. 再见,SSE!你好,Streamable HTTP!轻松开发 Streamable HTTP MCP Server

    大家好!我是韩老师. 之前和大家分享了三篇 MCP 相关的文章: Code Runner MCP Server,来了! 从零开始开发一个 MCP Server! 一键安装 MCP Server! 还是 ...

  9. vscode配置xdebug断点调试thinkphp

    vscode配置xdebug断点调试thinkphp其实和配置其他php框架的断点调试一样,步骤如下: 下载xdebug,重命名为php_xdebug.dll并移动到php.ini目录: (不知道下载 ...

  10. html中的em和rem到底该如何使用,自适应效果中如何确定文字大小/字号?

    如今手机屏幕繁多,自适应效果中如何确定文字大小/字号? em rem vm vw vh你都了解吗? 先说说em和rem em:继承父级的,假设html的font-size默认为16px,body字体大 ...