我已经阅读了所有相关的问题,尝试了每一个被接受的答案,但仍然没有找到解决方案。
我的网站运行在Tomcat上,有一个名为/Demo/的子页面,其中包含四个文本字段和一个提交按钮。提交按钮如下所示:
<form method="post" action="DemoServlet">
<input type="hidden" name="form_action" value="write" />
<table>
<tr>
<td>
First Name:
</td>
<td>
<input type="text"
name="firstname" />
</td>
</tr>
<tr>
<td>
Last Name:
</td>
<td>
<input type="text"
name="lastname" id = "lastname" />
</td>
</tr>
<tr>
<td>
Email:
</td>
<td>
<input type="text"
name="recipient" />
</td>
</tr>
<tr>
<td>
Phone1:
</td>
<td>
<input type="text"
name="phone" />
</td>
</tr>
<tr>
<td>
<input type=button onClick="location.href='../demo-servlet'" value='Submit'/>
</td>
<td>
</td>
</table>
</form>
这个/demo-servlet在web.xml中的指定如下:
/demo-servlet
<servlet>
<servlet-name>DemoServlet</servlet-name>
<servlet-class>PACKAGENAME.DemoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DemoServlet</servlet-name>
<url-pattern>/demo-servlet</url-pattern>
</servlet-mapping>
这个servlet如下所示:
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// Retrieve First Name from /Demo/ text field
firstName = request.getParameter("firstname");
// Retrieve Last Name from /Demo/ text field
lastName = request.getParameter("lastname");
/* MORE CODE HERE */
request.getRequestDispatcher("/WEB-INF/confirmation.jsp").forward(request, response);
}
然后转到我的confirmation.jp文件,显示该过程已成功。
我的问题是,在调用request.getParameter()函数后,变量和都返回值“null”。
有人知道为什么会发生这种情况吗?