利用Ajax登陆和查询用户信息

利用Ajax实现前台登陆

一.登陆模块思路:

前台:

 登陆按钮绑定事件
  1.获取文本框和密码框的值
  2.判断非空
  3.若为空,则提示页面
    若不为空,则发送Ajax请求:
     传递的参数:用户名,密码,用户行为actionName
     接收后台的参数:{code:0,msg:“提示信息”},通过判断回调函数返回的结果得知是否登陆成功 1=成功 ,0=失败
     若code=1则登陆成功,跳转页面window.location.href = “index.jsp”;code=0,则提示用户

后台:

UserServlet
用户行为:
  用户登录 actionName=login
  用户列表 actionName=list
  用户删除 actionName=delete
  用户修改 actionName=update
  用户添加 actionName=add
1.获取actionName的参数值
2.判断参数值来调用不同的方法

用户登陆功能:
​   1.接收参数
​   2.判断参数非空,非空则通过流输出响应结果给回调函数 {code:0,msg:“提示信息”},并return(用户名或密码不能为空)
​   3.通过用户名传入user对象去后台查询是否存在
​      若为null(空),则通过流输出响应结果给回调函数 {code:0,msg:“提示信息”},并return(用户名不存在)
​   4.若不为null,则判断密码是否一致
​      若不一致,则通过流输出响应结果给回调函数 {code:0,msg:“提示信息”},并return(密码错误)
​   5.若一致,则输出响应结果给回调函数

前台代码:
  1)准备一个Js文件实现登陆jsp页面的按钮鼠标点击事件:

$("#asubmit").click(function(){
   
	//1.获取文本框和密码框值
	var uname=$("#userName").val();
	var upwd=$("#userPwd").val();
	//2.判断非空
	if(isEmpty(uname)){
   
		$("#msg").html("用户名为空");
		return;
	}
	if(isEmpty(upwd)){
   
		$("#msg").html("密码为空");
	}
	// 若不为空,则发送Ajax请求:
	// 传递的参数:用户名,密码,用户行为actionName
	$.ajax({
   
		type:"post",
		url:"UserServlet",
		data:{
   
			uname:uname,
			upwd:upwd,
			actionName:"login"
		},
		//接收后台的参数
		success:function(result){
   
			//判断返回的code的结果来判断登陆是否成功
			if(result.code==1){
   
				//登陆成功则在ajax里跳转页面
				window.location.href = "index.jsp";
			}else{
   
				//失败则在前台提示后台传的错误信息
				$("#msg").html(result.msg);
			}
		}
	});	
});
后台代码:
  1)准备加载配置文件/链接/关闭数据库工具类DBUtil:
/**
 * 数据库的工具类
 * 		1、得到数据库连接
 * 		2、关闭资源
 * @author blackmilk3
 *
 */
public class DBUtil {
   

	// 配置对象
	private static Properties properties = null;
	
	static {
   
		try {
   
			// 1、将配置文件加载到输入流中
			InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
			// 2、得到Properties配置对象
			properties = new Properties();
			// 3、将输入流对象通过load方法,加载到Properties对象中
			properties.load(in);
		} catch (Exception e) {
   
			// 打印异常
			e.printStackTrace();
		}
	}
	
	/**
	 * 得到数据库连接
	 * @return
	 */
	public static Connection getConnection(){
   
		Connection connection = null;
		
		// 得到配置对象中的属性值
		String jdbcName = properties.getProperty("jdbcName");
		String dbUrl = properties.getProperty("dbUrl");
		String dbName = properties.getProperty("dbName");
		String dbPwd = properties.getProperty("dbPwd");
		
		try {
   
			// 加载驱动
			Class.forName(jdbcName);
			// 得到数据库连接
			connection = DriverManager.getConnection(dbUrl,dbName,dbPwd);
		} catch (Exception e) {
   
			e.printStackTrace();
		}
		return connection;
	}
	
	/**
	 * 关闭资源
	 * @param resultSet
	 * @param preparedStatement
	 * @param connection
	 */
	public static void close (ResultSet resultSet, PreparedStatement preparedStatement, Connection connection) {
   
		try {
   
			// 判断资源是否为空,不为空关闭资源
			if (resultSet != null) {
   
				resultSet.close
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用以下步骤来利用ajax写页面登录: 1. 创建一个HTML表单,包含用户名和密码字段。 2. 使用jQuery或其他JavaScript库来处理表单提交事件。 3. 在JavaScript代码中,使用ajax发送POST请求到服务器端,将用户名和密码作为数据发送。 4. 服务器端验证用户名和密码,如果验证通过,则返回一个成功的响应。 5. 在JavaScript代码中,根据服务器返回的响应,决定是否将用户重定向到登录后的页面或显示错误消息。 以下是一个简单的示例代码: HTML代码: ``` <form id="login-form"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <input type="submit" value="登录"> </form> ``` JavaScript代码: ``` $(document).ready(function() { $('#login-form').submit(function(event) { // 阻止表单提交默认行为 event.preventDefault(); // 获取用户名和密码 var username = $('#username').val(); var password = $('#password').val(); // 发送ajax请求 $.ajax({ url: '/login', type: 'POST', data: { username: username, password: password }, success: function(response) { // 登录成功,重定向到登录后的页面 window.location.href = '/dashboard'; }, error: function(xhr, status, error) { // 登录失败,显示错误消息 alert('登录失败: ' + xhr.responseText); } }); }); }); ``` 在这个示例中,我们使用jQuery来处理表单提交事件,并使用ajax发送POST请求到服务器端。服务器端验证用户名和密码,并返回一个成功或失败的响应。在JavaScript代码中,我们根据服务器返回的响应,决定是否将用户重定向到登录后的页面或显示错误消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值