先添加点击事件

<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. 小程序中input设置宽度后宽度还有空间,但是placeholder被遮挡问题

    最近在做小程序,已经设置了宽高,placeholder没有超出input宽度,却被挡住了一部分,上代码看一下: wxml: <view class='container'> <inp ...

  2. ajax 提交form格式 和 json格式

    json 格式 内容在body中 ajax设置   Content-Type: application/json 浏览器查看为 Request Payload The Request Payload ...

  3. Java与C/C++有什么区别?

    (1)Java为解释型语言,其运行过程为:程序源代码经过Java编译器编译成字节码,然后由JVM解释执行.而C/C++为编译型语言,源代码经过编译和链接生成可执行的二进制代码,因此,Java的执行速度 ...

  4. 三张图搞懂JavaScript的原型对象与原型链

    对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与__proto__混淆,二来它们之间的各种指向实在有些复杂,其实市面上已经有非常多的文章在尝试说清楚,有一张 ...

  5. 通过重写request.getParameter方法来解决中文乱码问题。

    在原生servlet的商城项目中,BeanUtils.populate方法封装不上注册的参数. 已知BeanUtils.populate方法是封装不上date对象的,于是自定义了一个转换器用来封装Da ...

  6. Oracle 的几种循环方式介绍

    1 Oracle 中的Goto 用法: declare x number; begin x:=10; --定义的初始值 <<repeat_loop>> --循环点 x:= x- ...

  7. 利用div+css实现九宫格,然后用js实现点击每个格子可以随机更改格子(div)的背景颜色

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. SQLServer存储过程批量删除

    create proc [dbo].[proc_Delete]@TableName varchar(50),@Id varchar(5000)asbegin declare @strSql varch ...

  9. <html> ---- position

    position 固定的属性,是全局的.和DIV层次无关. <!DOCTYPE html> <html lang="en"> <head> &l ...

  10. 运维rpm语法

    Linux软件包分类 rpm 常用命令1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.卸载一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文 ...