我的一段程序不知怎么突然出现这种错误,记得曾今调试成功过啊,可能修改了什么!但是找不到原因在哪。请各位高手帮忙。通过设定断点我发现错误主要出在如下红色部分,但是什么错误还不清楚!
<%@ page contentType="text/html;charset=gb2312"%><%@ page import="com.jspsmart.upload.*" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="com.hubin.bean.DataBean"%>
<%--@ page import="DBstep.iDBManager2000.*"--%>
<%
//upload bean
com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
//initialization
mySmartUpload.initialize(pageContext);
//set the maximum of upload
mySmartUpload.setMaxFileSize(500 * 1024*1024);
//upload file
mySmartUpload.upload();
//get the upload file
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
// get the other information (String)mySmartUpload.getRequest()
String classid = mySmartUpload.getRequest().getParameter("classid") == null ? "" : (String)mySmartUpload.getRequest().getParameter("classid");
String classs = mySmartUpload.getRequest().getParameter("classs") == null ? "": (String)mySmartUpload.getRequest().getParameter("classs");
String catalog = mySmartUpload.getRequest().getParameter("catalog") == null ? "": (String)mySmartUpload.getRequest().getParameter("catalog");
String descriptions = mySmartUpload.getRequest().getParameter("descriptions") == null ? "": (String)mySmartUpload.getRequest().getParameter("descriptions");
String program = mySmartUpload.getRequest().getParameter("program") == null ? "": (String)mySmartUpload.getRequest().getParameter("program");
String colors = mySmartUpload.getRequest().getParameter("colors") == null ? "": (String)mySmartUpload.getRequest().getParameter("colors");
String views = mySmartUpload.getRequest().getParameter("views") == null ? "" : (String)mySmartUpload.getRequest().getParameter("views");
String myFileName = "";
//String fullName = "";
String editor = (String) request.getSession().getAttribute("logUserName");
java.io.File file = null;
java.io.FileInputStream fis = null;
if (!myFile.isMissing())
{
//get the name of the upload file
myFileName = myFile.getFileName();
//store the path
//String aa=getServletContext().getRealPath("/")+"jsp\\";
String aa = request.getRealPath("/")+"temp\\";
String trace=aa+ myFileName;
System.out.println("trace = " + trace);
//store the file in server
myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
//store the upload file in the databank
file = new java.io.File(trace);
fis = new java.io.FileInputStream(file);
}
//open the databank
Connection con = null; PreparedStatement stmt = null;
Statement stmt2 = null;
try{
String url = "jdbc:mysql://localhost:3306/graphicslibrary?user=root&password=19821010&useUnicode=true&characterEncoding=8859_1";
con = DriverManager.getConnection(url);
stmt2 = con.createStatement(); ResultSet rs = null;
//-- if the classid is null, then add, otherweise modify
if (classid == null || "".equals(classid)) {
String sql_1 = "select max(classid)+1 as classid2 from graphicslibrary";
rs = stmt2.executeQuery(sql_1);
if (rs.next()) {
classid = String.valueOf(rs.getInt("classid2"));
}
System.out.println("classid ====== "+classid);
if(fis != null){
String sql = " insert into graphicslibrary (classid, class, catalog, descriptions, program, colors, views, picturename, picture, editor, edittime ) "+
" values (?,?,?,?,?,?,?,?,?,?, now() ) ";
stmt = con.prepareStatement(sql);
stmt.setString(1,classid);
stmt.setString(2,classs);
stmt.setString(3,catalog);
stmt.setString(4,descriptions);
stmt.setString(5,program);
stmt.setString(6,colors);
stmt.setString(7,views);
stmt.setString(8,myFileName);
stmt.setBinaryStream(9,fis,(int)file.length());
stmt.setString(10,editor);
}else{
String sql = " insert into graphicslibrary (classid, class, catalog, descriptions, program, colors, views, editor, edittime ) "+
" values (?,?,?,?,?,?,?,?, now() ) ";
stmt = con.prepareStatement(sql);
stmt.setString(1,classid);
stmt.setString(2,classs);
stmt.setString(3,catalog);
stmt.setString(4,descriptions);
stmt.setString(5,program);
stmt.setString(6,colors);
stmt.setString(7,views);
stmt.setString(8,editor);
}
System.out.println("+++++++++++++++++++");
stmt.executeUpdate();
}
//-- modify
else {
if(fis != null){
String sql = " update graphicslibrary set class=?, catalog=?, descriptions=?, program=?, colors=?, views=?, picturename=?, picture=?, editor=?, edittime = now() "+
" where classid = " + classid ;
stmt = con.prepareStatement(sql);
stmt.setString(1,classs);
stmt.setString(2,catalog);
stmt.setString(3,descriptions);
stmt.setString(4,program);
stmt.setString(5,colors);
stmt.setString(6,views);
stmt.setString(7,myFileName);
stmt.setBinaryStream(8,fis,(int)file.length());
stmt.setString(9,editor);
}else{
String sql = " update graphicslibrary set class=?, catalog=?, descriptions=?, program=?, colors=?, views=?, editor=?, edittime = now() "+
" where classid = " + classid ;
stmt = con.prepareStatement(sql);
stmt.setString(1,classs);
stmt.setString(2,catalog);
stmt.setString(3,descriptions);
stmt.setString(4,program);
stmt.setString(5,colors);
stmt.setString(6,views);
stmt.setString(7,editor);
}
System.out.println("---------------------------"); stmt.executeUpdate();
}
//-- after store show the records in the page
String sql_3 = "select * from graphicslibrary where classid = "+ classid;
rs = stmt2.executeQuery(sql_3);
DataBean dataBean = new DataBean(); if (rs.next()) {
dataBean.setClassid(rs.getString("classid"));
dataBean.setClasss(rs.getString("class"));
dataBean.setCatalog(rs.getString("catalog"));
dataBean.setProgram(rs.getString("program"));
dataBean.setDescriptions(rs.getString("descriptions"));
dataBean.setPicturename(rs.getString("picturename"));
dataBean.setColors(rs.getString("colors"));
dataBean.setViews(rs.getString("views"));
dataBean.setEditor(rs.getString("editor"));
dataBean.setEditTime(rs.getString("edittime"));
}
rs.close();
stmt2.close();
stmt.close();
con.close();
fis.close(); if (file.exists()) {
boolean flag = file.delete();
if(!flag){
System.out.println("Deletion failed ");
}
} request.getSession().setAttribute("dataBean", dataBean);
response.sendRedirect("bankdetail.jsp");
}catch(Exception e){
e.printStackTrace();
}
out.println(("fail to upload!!!").toString());%>
<%@ page contentType="text/html;charset=gb2312"%><%@ page import="com.jspsmart.upload.*" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="com.hubin.bean.DataBean"%>
<%--@ page import="DBstep.iDBManager2000.*"--%>
<%
//upload bean
com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
//initialization
mySmartUpload.initialize(pageContext);
//set the maximum of upload
mySmartUpload.setMaxFileSize(500 * 1024*1024);
//upload file
mySmartUpload.upload();
//get the upload file
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
// get the other information (String)mySmartUpload.getRequest()
String classid = mySmartUpload.getRequest().getParameter("classid") == null ? "" : (String)mySmartUpload.getRequest().getParameter("classid");
String classs = mySmartUpload.getRequest().getParameter("classs") == null ? "": (String)mySmartUpload.getRequest().getParameter("classs");
String catalog = mySmartUpload.getRequest().getParameter("catalog") == null ? "": (String)mySmartUpload.getRequest().getParameter("catalog");
String descriptions = mySmartUpload.getRequest().getParameter("descriptions") == null ? "": (String)mySmartUpload.getRequest().getParameter("descriptions");
String program = mySmartUpload.getRequest().getParameter("program") == null ? "": (String)mySmartUpload.getRequest().getParameter("program");
String colors = mySmartUpload.getRequest().getParameter("colors") == null ? "": (String)mySmartUpload.getRequest().getParameter("colors");
String views = mySmartUpload.getRequest().getParameter("views") == null ? "" : (String)mySmartUpload.getRequest().getParameter("views");
String myFileName = "";
//String fullName = "";
String editor = (String) request.getSession().getAttribute("logUserName");
java.io.File file = null;
java.io.FileInputStream fis = null;
if (!myFile.isMissing())
{
//get the name of the upload file
myFileName = myFile.getFileName();
//store the path
//String aa=getServletContext().getRealPath("/")+"jsp\\";
String aa = request.getRealPath("/")+"temp\\";
String trace=aa+ myFileName;
System.out.println("trace = " + trace);
//store the file in server
myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
//store the upload file in the databank
file = new java.io.File(trace);
fis = new java.io.FileInputStream(file);
}
//open the databank
Connection con = null; PreparedStatement stmt = null;
Statement stmt2 = null;
try{
String url = "jdbc:mysql://localhost:3306/graphicslibrary?user=root&password=19821010&useUnicode=true&characterEncoding=8859_1";
con = DriverManager.getConnection(url);
stmt2 = con.createStatement(); ResultSet rs = null;
//-- if the classid is null, then add, otherweise modify
if (classid == null || "".equals(classid)) {
String sql_1 = "select max(classid)+1 as classid2 from graphicslibrary";
rs = stmt2.executeQuery(sql_1);
if (rs.next()) {
classid = String.valueOf(rs.getInt("classid2"));
}
System.out.println("classid ====== "+classid);
if(fis != null){
String sql = " insert into graphicslibrary (classid, class, catalog, descriptions, program, colors, views, picturename, picture, editor, edittime ) "+
" values (?,?,?,?,?,?,?,?,?,?, now() ) ";
stmt = con.prepareStatement(sql);
stmt.setString(1,classid);
stmt.setString(2,classs);
stmt.setString(3,catalog);
stmt.setString(4,descriptions);
stmt.setString(5,program);
stmt.setString(6,colors);
stmt.setString(7,views);
stmt.setString(8,myFileName);
stmt.setBinaryStream(9,fis,(int)file.length());
stmt.setString(10,editor);
}else{
String sql = " insert into graphicslibrary (classid, class, catalog, descriptions, program, colors, views, editor, edittime ) "+
" values (?,?,?,?,?,?,?,?, now() ) ";
stmt = con.prepareStatement(sql);
stmt.setString(1,classid);
stmt.setString(2,classs);
stmt.setString(3,catalog);
stmt.setString(4,descriptions);
stmt.setString(5,program);
stmt.setString(6,colors);
stmt.setString(7,views);
stmt.setString(8,editor);
}
System.out.println("+++++++++++++++++++");
stmt.executeUpdate();
}
//-- modify
else {
if(fis != null){
String sql = " update graphicslibrary set class=?, catalog=?, descriptions=?, program=?, colors=?, views=?, picturename=?, picture=?, editor=?, edittime = now() "+
" where classid = " + classid ;
stmt = con.prepareStatement(sql);
stmt.setString(1,classs);
stmt.setString(2,catalog);
stmt.setString(3,descriptions);
stmt.setString(4,program);
stmt.setString(5,colors);
stmt.setString(6,views);
stmt.setString(7,myFileName);
stmt.setBinaryStream(8,fis,(int)file.length());
stmt.setString(9,editor);
}else{
String sql = " update graphicslibrary set class=?, catalog=?, descriptions=?, program=?, colors=?, views=?, editor=?, edittime = now() "+
" where classid = " + classid ;
stmt = con.prepareStatement(sql);
stmt.setString(1,classs);
stmt.setString(2,catalog);
stmt.setString(3,descriptions);
stmt.setString(4,program);
stmt.setString(5,colors);
stmt.setString(6,views);
stmt.setString(7,editor);
}
System.out.println("---------------------------"); stmt.executeUpdate();
}
//-- after store show the records in the page
String sql_3 = "select * from graphicslibrary where classid = "+ classid;
rs = stmt2.executeQuery(sql_3);
DataBean dataBean = new DataBean(); if (rs.next()) {
dataBean.setClassid(rs.getString("classid"));
dataBean.setClasss(rs.getString("class"));
dataBean.setCatalog(rs.getString("catalog"));
dataBean.setProgram(rs.getString("program"));
dataBean.setDescriptions(rs.getString("descriptions"));
dataBean.setPicturename(rs.getString("picturename"));
dataBean.setColors(rs.getString("colors"));
dataBean.setViews(rs.getString("views"));
dataBean.setEditor(rs.getString("editor"));
dataBean.setEditTime(rs.getString("edittime"));
}
rs.close();
stmt2.close();
stmt.close();
con.close();
fis.close(); if (file.exists()) {
boolean flag = file.delete();
if(!flag){
System.out.println("Deletion failed ");
}
} request.getSession().setAttribute("dataBean", dataBean);
response.sendRedirect("bankdetail.jsp");
}catch(Exception e){
e.printStackTrace();
}
out.println(("fail to upload!!!").toString());%>
java.lang.NullPointerException
at org.apache.jsp.upload_jsp._jspService(upload_jsp.java:217)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
if (fis != null) {
fis.close();
}