如何从另一个Sevlet设置JSP属性?

时间:2017-04-03 17:14:55

标签: java servlets

我在同一个JSP中有一个登录和一个注册表单,但是我希望他们调用两个不同的servlet。主要功能是工作,所以你可以登录或注册,但如果发生了什么,我想在登录和注册servlet上更改主页上的$ {message}属性。我该怎么办?

登录JSP页面(login.jsp)

<form action="register" method="POST">
    INPUTS...
</form>
<form action="login" method="POST">
    INPUTS...
</form>

登录Servlet(LoginSV.java)

protected void doPost(HttpServletRequest request, HttpServletResponse response) {
    //Happens when e-mail or password incorrect
    request.setAttribute("message", "Incorrect email/password.");
    request.getRequestDispatcher("/login.jsp").forward(request, response);
    return;
}

注册Servlet(RegisterSV.java)

protected void doPost(HttpServletRequest request, HttpServletResponse response) {       
    //Happens if user leaves a field empty
    request.setAttribute("message", "One or more field is epty.");
    request.getRequestDispatcher("/login.jsp").forward(request, response);
    return;
}

的web.xml

<servlet>
    <servlet-name>LoginSV</servlet-name>
    <servlet-class>servlet.LoginSV</servlet-class>
</servlet>
<servlet>
    <servlet-name>RegisterSV</servlet-name>
    <servlet-class>servlet.RegisterSV</servlet-class>
</servlet> 

<servlet-mapping>
    <servlet-name>LoginSV</servlet-name>
    <url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>RegisterSV</servlet-name>
    <url-pattern>/register</url-pattern>
</servlet-mapping>

我在login.jsp文件中有表单,因此Login Servlet可以更改属性(因此在登录表单调用时它可以正常工作),但是Register不能,$ {message}变量不是任何形式的。

1 个答案:

答案 0 :(得分:0)

问题解决了。在login.jsp中有一个重定向脚本,搞砸了什么。谢谢大家。