Servlet request.getParameter()总是返回“空". [英] Servlet request.getParameter() always returning "null"

查看:147
本文介绍了Servlet request.getParameter()总是返回“空".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经阅读了所有相关问题,尝试了所有被接受的答案,但我仍然找不到运气.

I have read through all related questions, trying every accepted answer and I still am finding no luck.

我有一个在tomcat上运行的网站,其子页面/Demo/具有四个文本字段和一个Submit按钮.提交按钮如下所示

I have a website running on tomcat, with a subpage /Demo/ which has four text fields and a Submit button. The submit button looks as follows

 <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中指定如下

This /demo-servlet is specified in web.xml as follows

 <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文件,表明该过程已成功完成.

Which then forwards to my confirmation.jp file, showing that the process has succeeded.

我的问题是,在调用request.getParameter()函数之后,变量和变量都返回值"null".

My problem is, the variables and both return the value "null" after the request.getParameter() function is called.

有人知道为什么会这样吗?

Anyone have a clue why this is happening?

推荐答案

您的表单标签上的方法是 post ,但是您已经在servlet中实现了 doGet .同样,您在表单标签上的操作是 DemoServlet ,但应该类似于 ../demo-servlet .您可能根本不需要 onClick

The method on your form tag is post but you have implemented doGet in your servlet. Also the action on your form tag is DemoServlet but should be something like ../demo-servlet You probably don't need onClick at all.

这篇关于Servlet request.getParameter()总是返回“空".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆