Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从request.getAttribute()获取null_Java_Jsp_Servlets - Fatal编程技术网

Java 从request.getAttribute()获取null

Java 从request.getAttribute()获取null,java,jsp,servlets,Java,Jsp,Servlets,我有一个.jsp文件,它通过post方法将数据发送到servlet,但是当我试图通过request.getAttribute()访问servlet中的数据时,它会输出“null” 我的.jsp文件如下所示: <form name="update" action="UpdateServlet" method="post" accept-charset="utf-8"> <label>Name:</

我有一个.jsp文件,它通过post方法将数据发送到servlet,但是当我试图通过request.getAttribute()访问servlet中的数据时,它会输出“null”

我的.jsp文件如下所示:

            <form name="update" action="UpdateServlet" method="post"
            accept-charset="utf-8">
            <label>Name:</label><input type="text" name="input_name"    id="input_name"><br>
            <label>Beschreibung:</label> <input type="text" name="input_beschreibung" id="input_beschreibung"><br>
            <input type="hidden" name="input_id" id="input_id">
            <input type="submit" value="Okay">
            <button type="button" onclick="closeDialog()">Abbrechen</button>
            </form>
public class UpdateServlet extends HttpServlet {

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html");

    System.out.println((String)request.getAttribute("input_id"));
    System.out.println((String)request.getAttribute("input_name"));
    System.out.println((String)request.getAttribute("input_beschreibung"));

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

}
web.xml的一部分:

  <servlet>
  <servlet-name>UpdateServlet</servlet-name>
  <servlet-class>wochenplaner.UpdateServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>UpdateServlet</servlet-name>
  <url-pattern>/UpdateServlet</url-pattern>
  </servlet-mapping>

UpdateServlet
wochenplaner.UpdateServlet
UpdateServlet
/UpdateServlet
我不明白为什么请求的属性是空的。
提前谢谢

您混淆了
request.getAttribute(“”
request.getParameter(“”
)。您需要使用后者:

public class UpdateServlet extends HttpServlet {

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html");

    System.out.println(request.getParameter("input_id"));
    System.out.println(request.getParameter("input_name"));
    System.out.println(request.getParameter("input_beschreibung"));

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

}
有关进一步的讨论,请参见此处:

试试这个:

request.getParameter("input_id");

您应该使用
request.getParameter()
而不是
request.getAttribute()


谢谢你,我觉得自己太笨了。