JSP和servlet之间的参数传输
我正在开发一个servlet和jsp应用程序,前端主要用JSP和servlet之间的参数传输,jsp,servlets,web,Jsp,Servlets,Web,我正在开发一个servlet和jsp应用程序,前端主要用html/css/javascript编码 现在我从login jsp调用了一个servlet,以验证用户名和密码,并重定向到dashboard.jsp。这是成功的。我意识到,为了在post期间轻松地传递用户名参数,我们需要使用,getRequestDispatcher,而不是sendRedirect 我有以下问题 现在在dashboard.jsp中,我通过选项卡导航到各种其他jsp。 我需要在所有JSP中从servlet传递的用户名。可以
html/css/javascript
编码
现在我从login jsp
调用了一个servlet,以验证用户名和密码,并重定向到dashboard.jsp
。这是成功的。我意识到,为了在post期间轻松地传递用户名参数,我们需要使用,getRequestDispatcher
,而不是sendRedirect
我有以下问题
请倾诉您的观点和专业知识,并表示感谢 数据在服务器上。您只需要知道发出当前请求的用户的标识符。这就是HTTP会话的用途。用户成功进行身份验证后,将其唯一ID添加到会话:
request.getSession().setAttribute("authenticatedUserId", user.getId());
然后,在所有后续请求中,您可以从会话中获取经过身份验证的用户的ID,并从数据库中获取有关该用户的信息:
Long authenticatedUserId = request.getSession().getAttribute(("authenticatedUserId");
User user = userService.findById(authenticatedUserId);
// store the user in the request to make it available to the view
request.setAttribute("user, user);
请注意,登录后,您一定要重定向到仪表板servlet,不转发:您确实不希望用户刷新仪表板并重新发布身份验证表单。您可以在将请求转发到jsp之前将所有值设置到响应对象中,或者您可以将值放入会话bean并在jsp中访问它 您可以使用
sessions
和servlet上下文
信息在servlet
和jsp
之间来回传递信息
有关更多详细信息,请参阅使用
会话
属性全局传递值。请参阅答案中的链接