tomcat出现org.apache.catalina.core.StandardWrapperValve invoke错误

cactusyy 2010-10-20 02:19:59
代码如下:
<%@ page import="java.awt.image.*,java.sql.*,com.sun.image.codec.jpeg.*,java.util.*,javax.imageio.*,java.io.*"%><%

// Create image
String username,password,url;
BufferedInputStream inputimage = null;
//定义用户名、密码以及URL
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url,username,password);
//System.out.println(conn);
Statement stmt = conn.createStatement();
//System.out.println(stmt);
boolean defaultCommit = conn.getAutoCommit();
conn.setAutoCommit(false);

try {

ResultSet rs = stmt.executeQuery("SELECT thumbnail FROM t_course where course_id = "+request.getParameter("courseId"));

while (rs.next()) {
Blob blob = rs.getBlob("thumbnail");
inputimage = new BufferedInputStream(blob.getBinaryStream());
}
} catch (Exception ex) {
System.out.println("blobRead()s exception "+ex);
conn.rollback();
throw ex;
}
conn.setAutoCommit(defaultCommit);

// Send back image
BufferedImage image = null;
try{
image = ImageIO.read(inputimage);
}catch(IOException e){
System.out.println(e);
}


response.setContentType("image/jpeg");
response.reset();
ServletOutputStream sos = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
inputimage.close();
%>
结果调试运行的时候出现:
org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.course.courseBlobList_jsp._jspService(courseBlobList_jsp.java:83)
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.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

...全文
12625 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbgaohb 2011-12-25
  • 打赏
  • 举报
回复
也是这样的错误,学习了
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
都不知道怎么插进去的,原先有设置拦截器的,空的话直接不让插入的
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
blob查询出来数据为空
尛傻囝 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cactusyy 的回复:]

日死,终于找到问题出在哪里了,插入Blob时候插入了空的blob,在显示时候就会出现这个问题。
[/Quote]
还说没有空的!!下次注意点,结帖吧。给哥留点分,谢谢。
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
看来要对这个字段设置为不能为空属性,不然以后全是这个错误
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
日死,终于找到问题出在哪里了,插入Blob时候插入了空的blob,在显示时候就会出现这个问题。
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
我确定,你可以把代码复制下来调试
显示页面的代码是
<img src="courseBlobList.jsp?courseId=${courseId}">
尛傻囝 2010-10-20
  • 打赏
  • 举报
回复
你确定所有的变量都有值?怎么会有空指针异常,应该有一个变量没有值。全部判断一下看看。
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
最关键的问题是,我调试了很多错,每次出现
org.apache.catalina.core.StandardWrapperValve invoke
java.lang.NullPointerException
at org.apache.jsp.course.courseBlobList_jsp._jspService(courseBlobList_jsp.java:83)
错误都不在同一行上
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
妖怪了,难道非要我在Action中写?就不能Jsp上直接调用啊
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
还是不行:(
尛傻囝 2010-10-20
  • 打赏
  • 举报
回复
找到相关的了你看看:http://fengpeixi.javaeye.com/blog/216762
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
用户名,密码,url我只是做了个隐藏,并非是没有设置,不是这个问题,我现在的问题是,blob图片是正常显示出来了,但是在tomcat log中经常出现上面说的那个错误!
yzksoso 2010-10-20
  • 打赏
  • 举报
回复
2楼的说的对,你URL都没定义和赋值,如果只是你没贴出来,那么去Tocmat下面的work目录下找名为courseBlobList_jsp.java的文件,使用Editplus等工具打开看其他38行
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
这个没有为空,我只是隐藏掉了
njkzc 2010-10-20
  • 打赏
  • 举报
回复
用得的变量看一下是否有null
尛傻囝 2010-10-20
  • 打赏
  • 举报
回复
String username,password,url;
BufferedInputStream inputimage = null;
//定义用户名、密码以及URL
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url,username,password);
你的url为空啊。
cactusyy 2010-10-20
  • 打赏
  • 举报
回复
1.servlet或jsp中,重复调用response的 getOutputStream(),response.getWriter()方法
2.form表单里没有 method="post" action=""参数
3.看JDBC操纵数据库的代码,仔细看,例如调用的对象的属性为null。
都已经尝试过了,无效,求高人指点!

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧