错误:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /blog.jsp at line 6562:  <jsp:useBean id="blogdao" class="com.Myblog.dao.BlogDao"
63:  scope="session" />
64:  <%
65:  ArrayList list = blogdao.queryBlog();
66:  if (list == null || list.size() == 0)
67:  out.print("当前没有日志");
68:  else {
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
com.Myblog.dao.BlogDao.queryBlog(BlogDao.java:73)
org.apache.jsp.blog_jsp._jspService(blog_jsp.java:133)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.24
BlogDao:
package com.Myblog.dao;import com.Myblog.tool.JDBConnection;
import com.Myblog.form.BlogForm;
import java.sql.*;
import java.util.ArrayList;public class BlogDao {
private JDBConnection conn;
private BlogForm blog; public BlogDao() {

super();
conn = new JDBConnection();
// TODO Auto-generated constructor stub
} public boolean operationBlog(BlogForm form) {
boolean flag = false;
try {
conn.createConnection();
String sql = null;
sql = "insert into blog values('" + form.getBtitle() + "','"
+ form.getBcontent() + "','" + form.getPhtime() + "')";
flag = conn.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
return flag;
} public BlogForm queryBlog(String Blog_bid) {
try {
conn.createConnection();
int bid = Integer.parseInt(Blog_bid);
String sql = "select * from blog where bid=" + bid;
ResultSet rs = conn.executeQuery(sql);
if (rs != null && rs.next()) {
blog = new BlogForm();
blog.setBid(bid);
blog.setBtitle(rs.getString("btitle"));
blog.setBcontent(rs.getString("bcontent"));
blog.setPhtime(rs.getString("phtime"));
}
} catch (SQLException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
e.printStackTrace();
} finally {
conn.close();
}
return blog;
} public ArrayList queryBlog() {
ArrayList list = new ArrayList();
try {
conn.createConnection();
String sql = "select * from blog order by bid desc";
ResultSet rs = conn.executeQuery(sql);
while (rs != null && rs.next()) {
blog = new BlogForm();
blog.setBid(rs.getInt("bid"));
blog.setBtitle(rs.getString("btitle"));
blog.setBcontent(rs.getString("bcontent"));
blog.setPhtime(rs.getString("phtime"));
list.add(blog);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn.close();
}
return list;
}
}blog.jsp
<%@ page language="java"  pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<%@ page import="java.sql.*"%>
<%@ page import="com.Myblog.form.*"%>
<%@ page import="com.Myblog.dao.*"%>
<%@ page import="java.util.*"%>
<head>
<title>日志</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link rel="stylesheet" href="css/mm_spa.css" type="text/css" />
</head>
<body bgcolor="#990000" background="image/mm_bg_red.gif">
<table border="0" cellspacing="0" cellpadding="0">
<jsp:include page="top.jsp"></jsp:include> <tr>
<td width="40">
&nbsp;
</td>
<td valign="top" colspan="3">
&nbsp;
<br />
&nbsp;
<br />
<table border="0" cellspacing="0" cellpadding="2" width="500">
<tr>
<td class="pageName">
<strong>妖精的日志<br />
</strong>
</td>
</tr>
<tr>
<td class="bodyText" width="500">
<p>
</p>
</td>
</tr>
</table>
</td>
<td width="100%">
&nbsp;
</td>
</tr>
<tr>
<td width="40">
&nbsp;
</td>
<td width="175">
&nbsp;
</td> <td width="190">
&nbsp;
</td>
<td width="100%"> <table width="200" border="0"> <jsp:useBean id="blogdao" class="com.Myblog.dao.BlogDao"
scope="session" />
<%
ArrayList list = blogdao.queryBlog();
if (list == null || list.size() == 0)
out.print("当前没有日志");
else {
%>
<tbody>
<%
for (int i = 0; i < list.size(); i++) {
BlogForm blog = (BlogForm) list.get(i);
%>
<tr>
<td><%=blog.getBtitle()%></td>
</tr>
<tr>
<td><%=blog.getPhtime()%></td>
</tr>
<tr>
<td><%=blog.getBcontent()%></td>
</tr>
<tr>
<td>
---------------------------------------------------------------------------------------
</td>
</tr>
<%
}
%>
</tbody>
</table>
<%
}
%>
</td>
</tr>
</table>
</body>
</html>请帮忙指点一下,谢谢。

解决方案 »

  1.   

    queryBlog
    问题的根源在这里啊还有,楼主在使用对象前,检查一下此对象是否为空其它的,仅凭这些信息,我也没法找了
      

  2.   

    楼主你的是500错误也就是服务器的问题,应该是配置问题,上面description   The   server   encountered   an   internal   error   ()   that   prevented   it   from   fulfilling   this   request.
    这个说明你的连接池已经被占满,也就是你每次调用数据库的时候链接连接池,用完之后并没有关掉,连接不够用了你的多次操作就会报错,你需要用完之后关闭连接,就可以了