先添加点击事件

<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 PIL

    Python PIL PIL (Python Image Library) 库是Python 语言的一个第三方库,PIL库支持图像存储.显示和处理,能够处理几乎所有格式的图片. 一.PIL库简介 1. ...

  2. 共有和私有、name mangling

    1.在python中可以在变量和函数名前加上双下划线—‘’__‘’来实现其伪私有(实际上python中没有Private属性的),加上双下划线后,外部对象不能通过调用其名称直接获得对象的属性或操作. ...

  3. Open Daylight integration with OpenStack: a tutorial

    Open Daylight integration with OpenStack: a tutorial How to deploy OpenDaylight and integrate it wit ...

  4. 解构赋值 Destructuring Assignment

    解构赋值 Destructuring Assignment ES6中可以通过一定的模式将数组或对象中的值直接赋值给外部变量,称为解构 对象的解构赋值 // 在ES5中,当需要获取一个对象中的变量值的时 ...

  5. B-食物链-经典并查集

    动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种. 有人用两种 ...

  6. Windows下网页连接VNC操作手册

    所需软件:tigervnc noVnc(https://github.com/novnc/noVNC) websockify(https://github.com/novnc/websockify) ...

  7. 网络请求————ProxyHandler实现代理ip

    from urllib import request #这个是没有使用代理的 # resp = request.urlopen('http://httpbin.org/ip') # print(res ...

  8. python 列表、元组

    列表 List(列表) 是 Python 中使用最频繁的数据类型. 列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(即嵌套). 列表用 [ ] 标识,是 python ...

  9. Linux 环境下安装Mysql的步骤

    一,以linux cent 6.9 安装mysql 5.6.39为例#下载安装包wget --no-check-certificate https://dev.mysql.com/get/Downlo ...

  10. HyperLogLog算法

    项目在统计UV/PV时用到了Druid的Hyper hyperunique算法,书上介绍这种算法求出的UV/PV存在一定误差,因此需要了解下误差来自哪里. 实现去重功能,最简单的就是使用set记录集合 ...