如何在其他servlet中获取用户登录id

本文介绍了一种基于用户名和密码的用户登录验证方法。通过数据库查询匹配用户信息,并使用session保存登录状态,确保用户后续操作的有效性和安全性。

说明:用户登录使用用户名和密码,id为主键

首先,在检查登录的方法中设置返回值为id:

public int checkLogin(String username, String password) {
		// TODO Auto-generated method stub
		
		int id = 0;
		Connection con = null;
		Statement st = null;
		ResultSet rs = null;
		
		try {
			con = DBOperator.getConnection();
			st = con.createStatement();
			String sql = "select * from competitor where username ='" + username + "'";
			rs = st.executeQuery(sql);
			
			while (rs.next()) {
				if(rs.getString("password").equals(password))
					id = rs.getInt("id");
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		finally {
			DBOperator.close(rs, st, con);
			
		}
		
		return id;
	}
然后,在登录的servlet中主要代码如下:
                String username = request.getParameter("username");
		String password = request.getParameter("password");
		request.getSession().setAttribute("username", username);
		
		CompetitorManager c = new CompetitorManagerImpl();	
		
		int flag = c.checkLogin(username, password);
		
		if(flag != 0 ) {
			request.getSession().setAttribute("id", flag);
			response.sendRedirect("UManager.jsp");
		}

在jsp页面调用session中的值:
${sessionScope.id}

在其他servlet中获得session中的值:
int competitorId = (Integer) request.getSession().getAttribute("id");



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值