protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head></head>");
out.println("<body>");
String err[]=(String[]) request.getAttribute("error");
*
字符串的错误数组从下一页发送并收到 这一个。但是 如果我尝试在这个地方放置与下面给出的相同代码的for循环 那么即使是表格字段也没有显示我无法理解为什么 我正在使用Netbeans Ide,servlet的名称是:-form,addLeague nad success
*
out.println("<form action=addLeague method=post>");
out.println("name: <input type='text' name='name'>");
out.println("Season: <input type='text' name='season'>");
out.println("year <input type='text' name='year'>");
out.println("submit:<input type='submit' value='save'>");
out.println("</form>");
for(int i=0;i<=3;i++)
{
if(err[i]!=null)
out.println("<h1>"+err[i]+"</h1>");
}
out.println("</body>");
out.println("</html>");
}
catch(Exception e)
{
}
finally {
out.close();
}
}
答案 0 :(得分:0)
这可能会更好,但要注意抓住Exception
几乎可以保证让你感到更痛苦。您应该捕获实际发生的异常。
如果您要获得,例如NullPointerException
或ArrayIndexOutOfBoundsException
,请添加一些代码以保持形式。在您的情况下,这意味着将后者的i<=3
更改为i <= err.length
。
如果需要捕获某些条件,请捕获特定的异常,例如,NumberFormatException
或ParseException
是需要捕获的常见异常。然后,您可以为解析后的输出提供一些默认值(例如,数字为0)或向用户显示错误消息。
try {
out.println("<html>");
out.println("<head></head>");
out.println("<body>");
String err[]=(String[]) request.getAttribute("error");
try {
for(int i=0;i<=3;i++) {
if(err[i]!=null)
out.println("<h1>"+err[i]+"</h1>");
}
} catch (Exception e) { // This is a bad idea. Use a specific exception.
e.printStackTrace();
}
out.println("<form action=addLeague method=post>");
out.println("name: <input type='text' name='name'>");
out.println("Season: <input type='text' name='season'>");
out.println("year <input type='text' name='year'>");
out.println("submit:<input type='submit' value='save'>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
} catch(Exception e) { // Its a bad idea down here too
e.printStackTrace();
} finally {
out.close();
}