【发布时间】:2014-11-08 18:10:46
【问题描述】:
我想弄清楚为什么会出现空指针异常。
当我尝试执行 addformservlet 时。 帮助我解决这个问题,我是 jsp servlet 的新手。
请帮帮我..
我都被部分卡住了......
添加表单小服务程序:
processRequest(HttpRequest req,HttpResponse res)
{
String []erlist=null;
PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=UTF-8");
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Add dvd :</title>");
out.println("</head>");
out.println("<body bgcolor='#E6599'>");
if(erlist!=null)
{
out.println("<p>");
out.println("<font color='red'>Correct the following errors:");
out.println("<ul>");
for(int i=0;i<erlist.length;i++)
out.print("<li>"+erlist[i]+"</li>");
out.println("</ul>");
out.println("</font>");
out.println("<a href='index.jsp'> back to index page</a>");
out.println("</p>");
}
erlist=(String [])request.getSession().getAttribute("elist");// i get errlist from dvdaction.java
out.println("<h2>Add DVD: </h2>");
out.println("<form action='dvdaction' method='post' >");//post page to dvdaction.java
//some codes here....
out.println("</form>");
out.println("</body>");
out.println("</html>");
}
//dvdaction.java:
processRequest(HttpRequest req,HttpResponse res)
{
String err[]=null;
try {
title=(String)request.getParameter("title");
int i=0;
if(title.trim().length()==0)
{
err[i]="Please add the title field";
i++;
}
if(err.length==0)
{
//some codes here...
}
request.getSession().setAttribute("elist", err);// i set err Arraylist here...
RequestDispatcher rd=request.getRequestDispatcher("adddvdformservlet");
rd.forward(request, response);
}
【问题讨论】:
-
我没有看到你在任何地方创建
err并且 Java 数组不是动态的。基本上,你应该得到NullPointerExceptions。 -
我在 dvdaction.java 中创建了 err[],第二个 processrequest()
-
在设置之前 'err[i]="请添加标题字段";'您应该使用所需的错误或项目数进行初始化
-
我为 adddvdform servlet 添加了一个过滤页面,因此为 null ptr ex。被抛出 .. 感谢我在错误堆栈中确定了错误原因 .. 感谢 hamed 我感谢您愿意在这种情况下提供帮助 .. 我的代码工作正常..
标签: java jsp jakarta-ee servlets