blog 重要bug解决了

来源:互联网 发布:人像眨眼摇头软件 编辑:程序博客网 时间:2024/04/19 11:03


1 我发现一个很奇怪的东西就是
  有一些jsp可以直接调用,但是有一些jsp只能通过servlet来调用。
  也就是说当我输入http://localhost:8088/liuwei/displayBlogList.jsp的时候很可能出不来东西
  但是如果我输入  http://localhost:8088/liuwei/servlet/DisplayBlogServlet的时候会出现结果。


2 今天重新做DeleteBlogServlet的时候测试的时候发现总是弹出来说
  get方法,这种url不支持。
  然后我发现AdminBlogServlet当中把doPost改为doGet方法以后就没有问题了。




3 重要的bug解决了。


java.lang.NullPointerExceptionat org.apache.jsp.adminBlogList_jsp._jspService(adminBlogList_jsp.java:77)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)at cn.com.blog.DeleteBlogServlet.doGet(DeleteBlogServlet.java:46)at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)at java.lang.Thread.run(Thread.java:619)2012-7-14 16:26:23 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet DeleteBlogServlet threw exceptionjava.lang.NullPointerExceptionat org.apache.jsp.adminBlogList_jsp._jspService(adminBlogList_jsp.java:77)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)at cn.com.blog.DeleteBlogServlet.doGet(DeleteBlogServlet.java:46)at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)at java.lang.Thread.run(Thread.java:619)

出现这个问题,当初我想了很多,但是都被一一否定了,我于是开始看出错的信息

.adminBlogList_jsp
这个出错,所以

package cn.com.blog;import java.io.IOException;import java.io.PrintWriter;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.com.bean.Blog;public class DeleteBlogServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");String id=request.getParameter("id");java.sql.Connection con;try {Class.forName("com.mysql.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/new_db", "root", "");java.sql.Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);String sql = "delete from blog where id="+id; stmt.executeUpdate(sql);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}request.getRequestDispatcher("/adminBlogList.jsp").forward(request,response);}}

源代码是这个样子的。

所以应该是上面的都没有问题,只有这一句有问题

当我把他注释掉以后,发现没有问题了。

于是我推断,这一句就是问题。


我也总结了自己的debug方法,那就是一点一点的用输出语句,看看执行到那一句,把问题写到google当中。




原创粉丝点击