代码:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@page contentType="image/jpeg"%>
<%@ page import="java.text.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="wh.rjst.conn.*" %>
<%@ page import ="wh.rjst.daoimp.*" %>
<%@ page import="java.io.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
}
catch (ConnException ex)
{
throw new DaoException("无法获取连接", ex);
}
catch (SQLException ex)
{
throw new DaoException("数据库访问异常", ex);
}
finally
{
try {
if (conn != null) conn.close();
if (ps != null) ps.close();
} catch (SQLException ex) { }
}
%>
出现的问题:
2008-11-3 10:32:22 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.showpic_jsp._jspService(showpic_jsp.java:76)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at wh.rjst.filters.CodeFilter.doFilter(CodeFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
String sql="select active_img from active where id="+id+"";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
rs.next();
ServletOutputStream sout=response.getOutputStream();
InputStream in=rs.getBinaryStream("active_img");
你应该给rs.next()加上一个if()判断.
这样当你查出来的rs没有值时,也不会出现空指针
第一此运行的时候没有传入id参数的值