blog 重要bug解决了

原创 2012年07月14日 16:27:45


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.NullPointerException
	at 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 exception
java.lang.NullPointerException
	at 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 block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


		request.getRequestDispatcher("/adminBlogList.jsp").forward(request,
				response);

	}

}

源代码是这个样子的。

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

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

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


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




处理找不出原因的bug或者异常的思路

今天,在Android客户端上使用国密算法对PDF进行电子签章的时候,爆出了invalid key encoding的异常,找遍网上的所有资料,都没有发现问题所在。无奈之下,求助部门经理,半小时解决了...
  • zephyr_g
  • zephyr_g
  • 2016年12月20日 10:51
  • 793

IE6浏览器的bug问题及相关解决的方法

IE6浏览器的bug问题及相关解决的方法 1、css浮动边距加倍错误(双倍边距BUG)的解决办法   该错误只影响ie而不影响其他浏览器,我们可以考虑用hack来解决!!!   解决方法:_disp...
  • sinat_36146776
  • sinat_36146776
  • 2016年10月11日 09:17
  • 780

自己在Web前端项目中解决bug的思路

在项目中往往会遇到各种各样的程序bug,而且有些bug很隐蔽。例如仅仅一个字母引发的“血案”…… 因为刚刚入行,所用的技术不够强劲,所以很多技术都是老套的办法。现在咱把前不久公司的一个项目中的b...
  • u014268482
  • u014268482
  • 2016年06月11日 15:50
  • 3064

如何快速处理[解决]一个bug

如何快速处理[解决]一个bug 这是魔兽之父说的: Patrick Wyatt:代码没问题 程序却有bug?   摘要:相信每个程序员都遇到过“不可能的bug”,代码没有任何问题却出错了!...
  • flyingleo1981
  • flyingleo1981
  • 2013年01月09日 18:23
  • 659

测试人员如何报一个bug,性能测试,负载测试,压力测试

首先,确保你所发现的问题是确实是一个bug,不要出现因为测试人员操作错误或配置错误所引起的”bug”,这样会降低你在开发人员心中的可信度。在测试的时候,如果发现测试的实际结果与预期测试结果不符时,不要...
  • msdnwolaile
  • msdnwolaile
  • 2016年09月22日 00:51
  • 790

常见前端Bug及其修复方法

1、外双边距浮动Bug      2、3px文本偏移Bug     设置了浮动,这个Bug就会在IE5和IE6之中显现出来 修复这个Bug:    1、给包含文本的元素设置任意高度,迫使元素拥有...
  • chenzihan3417
  • chenzihan3417
  • 2015年03月05日 18:23
  • 1960

偶然性不可重现BUG怎么处理?

一、一定要提交!!   1. 记得有这么个缺陷,以后再遇到的时候可能就会了解发生的原因。   2. 尽力去查找出错的原因,比如有什么特别的操作,或者一些操作环境等。   3. 程序员对程序比测试人员熟...
  • qiansanjia
  • qiansanjia
  • 2014年12月23日 10:07
  • 1211

一次生产环境发生的严重bug处理

刚入职菜鸟如何应对生产系统发生的巨大bug
  • qq_34301953
  • qq_34301953
  • 2016年12月25日 21:00
  • 221

管理bug的JIRA系统

在以往的项目中,使用过开源的Jenkins集成工具,IBM CQ管理bug,目前的项目使用的是JIRA。 这里主要记录如何使用JIRA。 1.登录与注册 在成功安装配置完成的界面上点击“Log ...
  • liujingqiu
  • liujingqiu
  • 2016年01月18日 16:57
  • 3248

java开发中遇到的Bug整理

java开发中遇到bug是再正常不过了,所谓程序不是写出来的是调出来的,bug的调试是程序开发中重要的一部分也是必不可少的一部分。以下是我项目开发中遇到的bug整理,有一些可能比较低级,但是我还是把它...
  • nqmysbd
  • nqmysbd
  • 2016年11月05日 11:26
  • 1902
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:blog 重要bug解决了
举报原因:
原因补充:

(最多只允许输入30个字)