請教,當(dāng)LoginServlet跳轉(zhuǎn)到成功登陸頁面后,如何將當(dāng)前的登錄用戶名傳遞過去?
想使用session對象,但是貌似它是jsp的內(nèi)置對象,寫入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); } }
2015-09-22
在Servlet中無法使用jsp內(nèi)置對象,但是可以通過request.getSession()取得session啊。在jsp頁面中可以使用EL表達(dá)式或者session.getAttribute()取得用戶名。
2015-10-14
你好,我在servlet中保存session,在jsp中怎么取出呢?我是將Users的實(shí)例保存在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。請問題主是如何實(shí)現(xiàn)的?
2015-09-22
謝謝解答
2015-09-22
Jsp2.0之后提供了表達(dá)式語言(Expression Language,簡稱EL),可以訪問標(biāo)志位page(pageContext)、request、session、application中的屬性內(nèi)容,這樣就可以在jsp頁面中有很少的script代碼,可以避免null的問題語。如果使用JSP的4中屬性范圍對應(yīng)的內(nèi)容,就需要使用xxx.getAttribute(屬性名)來取得4種范圍內(nèi)的屬性值,但是我們?nèi)绻褂肊L表達(dá)式就可以使用"{屬性名}"的方式取得屬性值,并且不會(huì)報(bào)錯(cuò)。詳見http://blog.csdn.net/u010102951/article/details/45285977