JSP参数传递问题

时间:2012-01-03 11:10:25

标签: html jsp java-ee servlets

我的页面流程就像,

Jsp1 -> Jsp2 -> ... -> Servlet -> JspN -> ... 

其中,Jsp1是登录页面,用户必须在该页面中输入密码和用户名。现在,我想在servlet页面中使用用户名和密码值。是否有可能在servlet中获取这些值而不将参数从Jsp1传递到Jsp2 ....到Servlet?

2 个答案:

答案 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中使用它们。