Java 使用PrintWriter编写新HTML时出错

Java 使用PrintWriter编写新HTML时出错,java,servlets,printwriter,Java,Servlets,Printwriter,我使用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("

我使用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();
        }
response.setContentType(“text/html;charset=UTF-8”);
PrintWriter out=response.getWriter();
试一试{
/*TODO在此处输出您的页面。您可以使用以下示例代码*/
out.println(“”);
out.println(“”);
out.println(“更新页”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“请选择ID”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“ID:”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“名称:”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“地址:”);
out.println(“”);
out.println(“”);
out.println(“电子邮件:”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“电话号码:”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
//=================
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
//==============
out.println(“”);
out.println(“”);
out.println(“”);
}最后{
out.close();
}
但当我单击“提交”按钮时出错,结果是:

HTTP状态404-/DungDV01852_Lab1_2_3/UpdateServlet

类型状态报告

message/DungDV01852_Lab1_2_3/UpdateServlet

说明请求的资源(/DungDV01852_Lab1_2_3/UpdateServlet)不可用。 ApacheTomcat/6.0.29

我有班级更新服务。 另一个:我有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时,同样的情况是错误的。请帮帮我。谢谢大家

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


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

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


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

不要这样做。在Java代码中使用servlet,并为此使用JSP/JSF/其他模板或HTML生成。在第一种情况下,输入类型是“submit”…我相信这是一个打字错误。我必须使用PrintWriter来完成这段代码。这是我的家庭作业:(.谢谢,但我不能使用JSP/JSF/some other-提供web.xml,这样我们就可以了解为什么会得到404--所有的s和s都应该包含在一个元素中。检查您的web中是否有servlet映射。xml不要这样做。使用servlet作为Java代码,使用JSP/JSF/其他模板或HTML生成我们的第一个案例,输入类型是“submit”…我相信这是一个打字错误。我必须使用PrintWriter来完成此代码。这是我的家庭作业:(.谢谢,但我不能使用JSP/JSF/some other-提供web.xml,这样我们就可以了解为什么会得到404--所有的s和s都应该包含在一个元素中。检查您的web中是否有servlet映射。当我使用HTML中的Form表示“Action=someServlet”时,我解决了这个问题,它将在Web.xml中创建,但当我使用printWriter编写新的HTML时,请使用其他表单。因此,此表单和其他servlet的此操作是禁用的(而不是创建)。我配置了我的Web.xml,以便我的应用程序准确地运行:D。非常感谢您。当我在HTML中使用表单表示“action=someServlet”时,可以解决此问题,它将在Web.xml中创建,但当我使用printWriter编写新的HTML时,请使用其他表单。因此,此表单和其他servlet的此操作是禁用的(而不是创建)。我配置了我的Web.xml,以便我的应用程序准确运行:D。非常感谢