为了账号安全,请及时绑定邮箱和手机立即绑定

请教,当LoginServlet跳转到成功登陆页面后,如何将当前的登录用户名传递过去?

想使用session对象,但是貌似它是jsp的内置对象,写入doPost后不能被resolved。有什么好的办法呢?谢谢

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		Users user=new Users();
		user.setUsername(request.getParameter("username"));
		user.setPassword(request.getParameter("password"));
		if ("admin".equals(user.getUsername()) && "password".equals(user.getPassword())){
			response.sendRedirect(request.getContextPath()+"/login_success.jsp");
			//session不能被resolved
			//session.setAttribute("username",request.getParameter("username"));
		}else{
			request.getRequestDispatcher("/login_failure.jsp").forward(request, response);
		}
	}


正在回答

4 回答

在Servlet中无法使用jsp内置对象,但是可以通过request.getSession()取得session啊。在jsp页面中可以使用EL表达式或者session.getAttribute()取得用户名。

0 回复 有任何疑惑可以回复我~
#1

小羊爱主 提问者

非常感谢!
2015-09-22 回复 有任何疑惑可以回复我~
#2

小羊爱主 提问者

谢谢回答,request.getSession()解决了我的问题。 弱弱问下,啥是EL表达式?
2015-09-22 回复 有任何疑惑可以回复我~

你好,我在servlet中保存session,在jsp中怎么取出呢?我是将Users的实例保存在session中:

String username=request.getParameter("username");String password=request.getParameter("password");

Users u=new Users();u.setUsername(username);u.setPassword(password); request.getSession().setAttribute("loginUser", u);在jsp页面中:session.getAttribute("loginUser")只能得到com.po.Users@1f1d2ce。请问题主是如何实现的?


1 回复 有任何疑惑可以回复我~
#1

小羊爱主 提问者

你用这个试试 session.getAttribute("loginUser").getUsername() 你在session中存入的是一个用户对象 u,所以还要用getter方法来获得它的用户名
2015-10-19 回复 有任何疑惑可以回复我~
#2

鲜衣 回复 小羊爱主 提问者

好的,谢谢!
2015-10-20 回复 有任何疑惑可以回复我~
#3

连宏伟HW 回复 小羊爱主 提问者

为何我使用这个,找不到这个定义的方法呢,我知道Users类中有这个方法
2016-07-16 回复 有任何疑惑可以回复我~
#4

连宏伟HW 回复 小羊爱主 提问者

为何我使用这个,找不到这个定义的方法呢,我知道Users类中有这个方法
2016-07-16 回复 有任何疑惑可以回复我~
查看1条回复

谢谢解答

0 回复 有任何疑惑可以回复我~

Jsp2.0之后提供了表达式语言(Expression Language,简称EL),可以访问标志位page(pageContext)、request、session、application中的属性内容,这样就可以在jsp页面中有很少的script代码,可以避免null的问题语。如果使用JSP的4中属性范围对应的内容,就需要使用xxx.getAttribute(属性名)来取得4种范围内的属性值,但是我们如果使用EL表达式就可以使用"{属性名}"的方式取得属性值,并且不会报错。详见http://blog.csdn.net/u010102951/article/details/45285977


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请教,当LoginServlet跳转到成功登陆页面后,如何将当前的登录用户名传递过去?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信