首页 > 解决方案 > 基于 HTML 页面操作重定向到其他 servlet

问题描述

这里我有 2 个 servlet

@WebServlet("/Login")
public class Login extends HttpServlet {

.........
.........

}


@WebServlet("/Create")
public class Create extends HttpServlet {

.........
.........

}

还有一个像这样的 HTML 页面。

<form name="loginForm" method="post" action="Login">
  <table width="20%" bgcolor="0099CC" align="center">
    <tr>
      <td colspan=2>
        <center>
          <font size=4><b>HTML Login Page</b></font>
        </center>
      </td>
    </tr>
    <tr>
      <td>Username:</td>
      <td><input type="text" size=25 name="username"></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><input type="Password" size=25 name="password"></td>
    </tr>
    <tr>
      <td><input type="submit" onclick="return check(this.form)" value="Login"></td>
    </tr>
    <tr>
      <td><input type="submit" onclick="return check(this.form)" value="Create profile"></td>
    </tr>

  </table>
</form>

当用户单击创建配置文件时,我想重定向到创建 servlet。谁能帮我这个?

标签: javahtmlservlet-3.0

解决方案


您有一个表单,并且希望它转到两个不同的 servlet。你不能那样做。如果您想先转到登录 servlet,然后转到创建 servlet。您可以查看 requestDispatcher 或 httpServletresponse.sendRedirect()

RequestDispatcher rd=request.getRequestDispatcher("servlet Name")
rd.forward(request, response);

或通过

response.sendRedirect("/url");

或者,如果您根本不想登录 servlet 并直接创建,则使用两种表单,一种用于登录,另一种用于创建配置文件。 <form name="loginForm" method="post" action="Create"> <tr> <td><input type="submit" onclick="return check(this.form)" value="Create profile"></td> </tr>


推荐阅读