我的页面流程就像,
Jsp1 -> Jsp2 -> ... -> Servlet -> JspN -> ...
其中,Jsp1是登录页面,用户必须在该页面中输入密码和用户名。现在,我想在servlet页面中使用用户名和密码值。是否有可能在servlet中获取这些值而不将参数从Jsp1传递到Jsp2 ....到Servlet?
答案 0 :(得分:1)
您可以在Jsp2
阶段的会话中设置它们。从请求中获取参数并将其设置为会话,如下所示:
<%
session.setAttribute("username", request.getParameter("username"));
session.setAttribute("password", request.getParameter("password"));
%>
为了能够做到这一点,您的Jsp1
应该使用与请求参数相同的名称定义字段。
<input type="text" name="username"/>
<input type="password" name="password"/>
然后在Servlet
中,你可以简单地阅读它们:
public void doGet(HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
String username = session.getAttribute("username");
String password = session.getAttribute("password");
}
答案 1 :(得分:0)
是的,这是一个很好的方法,理想情况下,虽然我没有看到为什么你不能在jsp 1和jsp 2之间使用servlet的任何理由?这样,您可以保留请求中的值,然后在第二个jsp中使用它们。