ajax登录校验,AJAX登录校验

login

登录页

账号:

密码: ${msg}

//使用jQuery完成ajax校验,当前账号是否存在

$("#input1").blur(function () {

//发送ajax请求,获取到当前输入的账号是否存在,写入到span1标签中

let account=$("#input1").val();

$.ajax({

url:"check",//提交后端

// data:{"account":$("#input1").val()},

data:"account="+account,

type:"get",//请求方式

success:function (data) {//成功回调函数

let data1=JSON.parse(data)

//可以登录

if (data1){//表示存在都当前账号

$("#span1").html("可以登录");

$("#span1").attr("style","color:green");

}else {

$("#span1").html("未注册");

$("#span1").attr("style","color:red");

}

}

})

})

dao

package cn.hp.dao;

import cn.hp.util.JDBCUtils;

import java.sql.ResultSet;

import java.sql.SQLException;

public class UserDao {

public int selectByAccountPassword(String account, String password) {

//执行 select 查询 sql 语句

String sql="select count(*)from user where account=? and password=?";

Object[]objects={account,password};

ResultSet resultSet = JDBCUtils.DQL(sql, objects);

int select=0;

try {

while (resultSet.next())

select= resultSet.getInt(1);

}catch (SQLException e){

e.printStackTrace();

}

return select;

}

public int selectByAccount(String account) {

//执行 select 查询 sql 语句

String sql="select count(*)from user where account=?";

Object[]objects={account};

ResultSet resultSet = JDBCUtils.DQL(sql, objects);

int select=0;

try {

while (resultSet.next())

select= resultSet.getInt(1);

}catch (SQLException e){

e.printStackTrace();

}

return select;

}

}

service

package cn.hp.service;

import cn.hp.dao.UserDao;

public class UserService {

public boolean login(String account, String password) {

//service层 依赖dao层 指定莫一条sql执行

UserDao userDao=new UserDao();

int select=userDao.selectByAccountPassword(account,password);

if (select>0){

return true;

}else {

return false;

}

}

public boolean check(String account) {

//service层 依赖dao层 指定莫一条sql执行

UserDao userDao=new UserDao();

int select=userDao.selectByAccount(account);

if (select>0){

return true;

}else {

return false;

}

}

}

servlet

package cn.hp.servlet;

import cn.hp.service.UserService;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/check")

public class CheckServlet extends HttpServlet {

@Override

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//1.设置用户输入的编码格式

req.setCharacterEncoding("utf-8");

//2.获取用户的输入内容

String account = req.getParameter("account");

//3.依据service层来判断当前登录的账号密码是否正确 user表

//User表定义一个UserService用来处理所有和user有关的业务

UserService userService=new UserService();

//使用check方法 检查是否存在用户

boolean flag=userService.check(account);

resp.getWriter().println(flag);

}

}

package cn.hp.servlet;

import cn.hp.service.UserService;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/login")

public class LoginServlet extends HttpServlet {

@Override

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//1.设置用户输入的编码格式

req.setCharacterEncoding("utf-8");

//2.获取用户的输入内容

String account = req.getParameter("account");

String password = req.getParameter("password");

//3.依据service层来判断当前登录的账号密码是否正确 user表

//User表定义一个UserService用来处理所有和user有关的业务

UserService userService=new UserService();

//login方法 传入 账号密码 返回是否登录成功

boolean flag=userService.login(account,password);

//4.依据是否登录成功,进行控制页面的跳转

if (flag){

req.getRequestDispatcher("success.jsp").forward(req,resp);

}else {

req.setAttribute("msg","密码错误,请重新登录!");

req.getRequestDispatcher("login.jsp").forward(req,resp);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值