【问题标题】:Wrong when use PrintWriter to write new HTML使用 PrintWriter 编写新的 HTML 时出错
【发布时间】:2012-10-30 03:04:38
【问题描述】:

我用 PrintWriter 来做这个代码:

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here. You may use following sample code. */
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Update Page</title>");
            out.println("</head>");

            out.println("<body>");
            out.println("<center>");
            out.println("<h1>Please choose ID</h1>");
            out.println("</center>");
            out.println("<table width='359' border='1' align='center'>");
            out.println("<tr>");
            out.println("<td width='103'>ID:</td>");
            out.println("<th width='246'>");
            out.println("<select name='ID' id='ID' style='width:170px;' >");
            out.println("<option></option>");
            out.println("</select>");
            out.println("</th>");
            out.println("</tr>");
            out.println("<tr>");
            out.println("<td>Name:</td>");
            out.println("<th><input type='text' name='Name' id='Name' style='width:170px;' /></th>");
            out.println("</tr>");
            out.println("<tr>");
            out.println("<td>Address:</td>");
            out.println("<th><input type='text' name='Address' id='Address' style='width:170px;'/></th>");
            out.println("</tr>");
            out.println("<td>Email:</td>");
            out.println("<th><input type='text' name='Email' id='Email' style='width:170px;'/></th>");
            out.println("</tr>");
            out.println("<tr>");
            out.println("<td>Phone Number:</td>");
            out.println("<th><input type='text' name='Phone' id='Phone' style='width:170px;'/></th>");
            out.println("</tr>");
            out.println("<tr>");
            out.println("<td></td>");
            //=================
            out.println("<td>");
            out.println("<div>");        
            out.println("<input type='submit' name='FillValue' value='Fill ID' style='float:left'/>");

            out.println("<form action='UpdateServlet' method='post'>");
            out.println("<input type='submid' name='Submid' value='Submit'  style='float:right'/>");
            out.println("</form>");
            out.println("</div>");
            out.println("</td>");
            out.println("</tr>");
            //==============
            out.println("</table>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }

但是当我点击 Submid 按钮时出现问题,结果是:

HTTP 状态 404 - /DungDV01852_Lab1_2_3/UpdateServlet

输入状态报告

消息 /DungDV01852_Lab1_2_3/UpdateServlet

描述 请求的资源 (/DungDV01852_Lab1_2_3/UpdateServlet) 不可用。 Apache Tomcat/6.0.29

我有类 updateServlet。 另:我有HTML:

            <td>
                <div>
                    <form action="FillServlet" method="post">
       <input type="submit" name="FillValue" value="Fill ID" style="float:left"/>
                    </form>
    <input type="submit" name="Submid" id="Submid" value="Submit"style="float:right"/>
                </div>
            </td>

它完全运行,但是当我使用 PrintWriter 编写新的 HTML 时也是错误的。请帮我。谢谢大家

【问题讨论】:

  • 不要这样做。为您的 Java 代码使用 servlet,并为此使用 JSP/JSF/其他一些模板或 HTML 生成。 stackoverflow.com/questions/3177733/…
  • 在您的第一种情况下,输入类型是“submid”...我认为这是一个错字。
  • 我必须使用 PrintWriter 来执行此代码。这是我的作业:(。谢谢,但我不能使用 JSP/JSF/其他一些
  • - 提供 web.xml 以便我们了解为什么您会收到 404 - - 您的所有 都应该是包含在
    元素中。
  • 检查您的 web.xml 中是否有 servlet 映射

标签: java servlets printwriter


【解决方案1】:

您问题中的代码不会导致404 错误。 404 会发生,因为您的代码通过调用 response.sendError(...) 明确设置了 404 响应,或者因为请求从未到达您的 servlet。而后者最可能的原因是您的web.xml 文件没有正确配置和映射您的servlet。

如果您需要更多帮助,请将整个 web.xml 文件添加到问题中。

【讨论】:

  • 我解决了问题,当我在 HTML 中使用 Form 表示“Action = someServlet”时,它将在 Web.xml 中创建,但是当我使用 printWriter 编写新的 HTML 时使用其他表单。因此,此表单和对其他 servlet 的此操作被禁用(而不是创建)。我配置了我的 Web.xml,以便我的应用程序完全运行:D。非常感谢你
猜你喜欢
  • 1970-01-01
  • 2011-11-19
  • 1970-01-01
  • 2015-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多