8

我正在学习 JSP,我在其中创建了一个login.jspregister.jsp. 提交注册页面中的表单后,我将提交所有值RegisterUser.java (SERVLET)并通过 dopost 获取,然后将其写入 DB。现在我需要向login.jsp同一个 servlet提交另一个表单RegisterUser.java (SERVLET)。如何dopost在 servlet 中创建多个。如果创建了 servlet 将如何识别。请给我详细的解释。提前致谢。

4

2 回答 2

13

看一个 servlet 只能有一个doPost方法。现在由您决定提交哪个表单。您可以有一个具有相同名称但不同形式的不同值的隐藏字段,并且doPost您可以使用该值找出方法。

String hiddenParam=request.getParameter("Parameter-Name")
if(hiddenParam.equals("value1"){
 //form 1 was posted
}else if(hiddenParam.equals("value2"){
  //form 2 was posted
}

事实上,如果您正在使用,Java 7您可以缩短代码switchString

switch(hiddenParam){
  case "value1":
    //form 1 was posted
    break;
  case "value2":
    //form 2 was posted
    break;
}
于 2013-02-24T17:10:23.797 回答
4
create a field
in login form
<input type="hidden" name="pageName" values="login"/>
in register form
<input type="hidden" name="pageName" values="register"/>

now in your servlet dopost method
check
if(request.getParameter("pageName").equals("login"))
{
// do login code here
}
if(request.getParameter("pageName").equals("register"))
{
// do register code here
}
于 2013-02-24T17:05:21.353 回答