先添加点击事件

<input type="button" id="submitt"   value="立即登录" />

展示信息

<div id="showMsg" style="text-align: center"></div>

发送JSON格式数据给servlet,并接收回传信息

<script>
submitt.onclick=function () {
//alert(12212);
$.post("/shop/login",
{
"username":$("#username").val(),
"password":password.value
},
function (data) {
if (data.code==111){
$("#showMsg").html("对不起,你输入的账号或者密码错误").css("color","red");
}else{
window.location.href="/shop/home";
}
});
}

验证登陆,并将结果回传给jsp

@WebServlet("/login")
public class LoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
/*获取请求参数telephone,password*/
String telephone = req.getParameter("username");
String password = req.getParameter("password");
//System.out.println(telephone+"-----"+password);
/*调用dao,验证是否匹配*/
ILoginDAO dao=new LoginDAOImpl();
Map<String ,Object> user = dao.isLogin(telephone,password); resp.setContentType("text/json;charset=UTF-8");
PrintWriter out = resp.getWriter();
Map<Object, Object> map = new HashMap<>(); if (user==null){
/**如果不正确提示电话或者密码不正确*/
map.put("code","111");
map.put("error","对不起,你输入的账号或者密码错误");
//req.setAttribute("error","对不起,你输入的账号或者密码错误");
//req.getRequestDispatcher("/views/login.jsp").forward(req,resp);
}else{
/**如果正确,跳转到主页*/
/*为什么用session,从共享数据开始到关闭浏览器,共享数据都可以获取,不受请求转发和重定向的影响*/
HttpSession session = req.getSession();//获取session对象
session.setAttribute("user",user);
resp.sendRedirect("/shop/home");
}
String s = JSON.toJSONString(map);
out.write(s);
out.close();
}
}

AJAX实现登陆的更多相关文章

  1. js进阶 14-2 如何用ajax验证登陆状态(这里用load方法)

    js进阶 14-2 如何用ajax验证登陆状态(这里用load方法) 一.总结 一句话总结:$('#test').load('test.php?password=1234560'),这样就get方式提 ...

  2. ssm+ajax实现登陆

    ssm的搭建见上一章 1.数据协议层 public User selectByLoginnameAndPassword(@Param("loginname")String logi ...

  3. 调用AJAX做登陆和注册

    先建立一个页面来检测一下我们建立的用户名能不能用,看一下有没有已经存在的用户名吗 可以通过ajax提示一下 $("#uid").blur(function(){ //取用户名 va ...

  4. Ajax客户登陆验证

        服务器端操作方便之处我就不吹了,地球人都知道,它最烦莫过于页面刷新,头都被刷晕了,而且他在刷新的时候,还触发服务器端的事件,现在Ajax的出现,他们的结合是发展的必然!    一.介绍一下Aj ...

  5. Ajax+JSP登陆后带参数跳转

    点击提交按钮后使用Ajax将用户名和密码传至后台校验,然后判断返回结果进行跳转或提示错误. <%@ taglib prefix="form" uri="http:/ ...

  6. BBS-基于用户认证组建和Ajax实现登陆验证

    功能1: 基于用户认证组件和Ajax实现登录验证(图片验证码) 总结: 1 一次请求伴随多次请求 2 PIL 3 session存储 4 验证码刷新 步骤: 1.配置静态文件夹 settings.py ...

  7. ajax——用ajax写登陆页面

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

  8. laravel ajax提交登陆存储session,并输出

    前端输出session {{ Session::get('username') }} ajax提交 <div>{{ Session::get('username') }}</div& ...

  9. Asp.Net中Ajax实现登陆判断

    Default.aspx: <head runat="server"> <title>无标题页</title> <script type= ...

随机推荐

  1. python学习笔记:2.python基础

    4.27 01,pycharm 安装使用. 011,昨日内容回顾.     编译型:         将代码一次性全部编译成二进制,然后运行.         优点:执行效率高.         缺点 ...

  2. classPath与PATH

    PATH是window的变量,而不是Java的变量: 通常配置PATH路径是为了找到需要的XX.exe命令,而且配置在用户的变量下面: 例如:JDK中的javac与java命令在cmd中使用,需要把命 ...

  3. pycharm环境下用Python+Django开发web搭建

    1.安装pycharm: 2.安装Python: 3.安装mysql: 4.安装Django; pip3 install django 5.创建Django工程命令方式: # 创建Django程序 d ...

  4. C#ATM

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  5. ATL编程初级教程(图文事例)(VC6)

    http://blog.csdn.net/titilima/archive/2004/07/18/44273.aspx 介绍 本教程的目的是告诉你如何使用ATL创建一个COM服务器,并使用Visual ...

  6. ios12更新开发者需要做的

    1.StatusBar内部结构改变 现象:crash crash log: -[_UIStatusBarIdentifier isEqualToString:]: unrecognized selec ...

  7. QWaitCondition 的思考2

    本文章为原创,如引用请指明出处 问:QWaitCondition的 wake() ,wakeall() 函数唤醒的是哪些线程呢? 是不是在全局范围内该类的各个对象造成的悬挂线程都可以被唤醒呢? 回答: ...

  8. 2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用 exploit选取 主动攻击:ms17_010_eternalblue(唯一) 浏览器攻击:ms05_054_onlo ...

  9. kettle并行运行时出现「Unknown error in KarafBlueprintWatcher」

    背景:在使用kettle 6进行大量数据并行抽取时,偶尔会出现「Unknown error in KarafBlueprintWatcher」的错误,详细的报错信息可以查看下面的代码块. ERROR: ...

  10. C# autocomplete

    前台代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runa ...