SpringMVC前端获取登陆用户姓名

本文介绍了一个Java Web项目的登录实现过程,包括如何将用户信息存入session以及如何在前端页面展示这些信息。通过修改DAO层、Biz层和Controller层的代码,实现了从简单的用户名展示到完整的用户信息展示的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候用户登陆的时候,前端页面需要显示欢迎xx登陆,或者链接跳转的时候需要传过去用户的id等一系列的信息。


这时候我们需要在控制层(Controller)将用户信息放入session。


代码如下:

@RequestMapping("/login")
    public String login(String username , String password,HttpSession httpSession){
        System.out.println(username);
        if(adminBiz.login(username, password)){
        	Admin admin = new Admin();
        	admin.setUsername(username);
        	httpSession.setAttribute("admin", admin);
            return "/success";
        }else{
            return "/error";
        }
    }

以上代码放入session的只是登陆用户的姓名,登陆成功后会跳转到success.jsp页面,我们需要在页面上获取后台放入session中的username


success.jsp代码如下:


<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>提示页面</title>
</head>
<body>
欢迎用户 ${admin.username}!</br>
登陆成功!
</body>
</html>
此页面代码需要注意的是,必须要在页面中加入

<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
这里我们用到了EL表达式(${})来获取session中的username


运行后台程序,输入用户名(test)和密码(123),登陆成功后显示的效果如下:


-----------------------------------------------------------------------------------------------------------------------------

以上代码只是将登陆用户的username放入了session中,那么如果我们要获取登陆用户的全部信息怎么办呢?


首先修改Dao层代码,接口AdminDao代码如下:

//管理员登陆
	public Admin login(String username, String password);//将类型定义为Admin

AdminDaoImpl代码如下:

	// 管理员登陆
	public Admin login(String username, String password) {
      //查询结果用admin接收,并返回admin
	   Admin admin = (Admin) sessionFactory.getCurrentSession()
				.createQuery("from Admin a where a.username=:i and a.password=:p").setParameter("i", username)
				.setParameter("p", password).uniqueResult();

		return admin;

	}

AdminBiz接口代码如下:

//管理员登陆
	public  Admin login(String username,String password);

AdminBizImpl代码如下:

// 管理员登陆
	@Override

	public Admin login(String username, String password) {
		Admin admin = adminDao.login(username, password);//接收数据层返回的admin
		return admin;//返回admin到控制层

	}
AdminController代码如下:

	//管理员登陆
    @RequestMapping("/login")
    public String login(String username , String password,HttpSession httpSession){
        Admin admin = adminBiz.login(username, password);//接收业务层返回的admin
        httpSession.setAttribute("admin", admin);//将admin放入session
        return "/success";//返回success.jsp
       
    }

success.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>提示页面</title>
</head>
<body>
用户名:${admin.username}</br>
用户ID:${admin.id}</br>
用户密码:${admin.password }
登陆成功!
</body>
</html>

输入用户名和密码之后登陆成功跳转到success.jsp页面,效果如下:


详细代码链接






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值