日期:2014-05-17  浏览次数:20709 次

奇怪的空异常
前几天做了几个查询oracle 数据库的显示,今天竟然全部出空异常了,错误如下
Java code
org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    cn.gov.common.utils.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:43)


root cause 

java.lang.NullPointerException
    user.defined.Pagex.setQs(Pagex.java:71)
    org.apache.jsp.dicts.dict_005fmanage_jsp._jspService(dict_005fmanage_jsp.java:62)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    cn.gov.common.utils.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:43)





我的源代码是这样的


Java code
<%
String pId=request.getParameter("id");
int cp=1;    //当前页码
int num=10;    //每页显示记录数

String currpage=request.getParameter("p");
if(currpage!=null&&currpage.length()>0){
    cp=Integer.parseInt(currpage);
}else{
    cp=1;
}
int i=1+(cp-1)*num;    //起始序号

dicts d=new dicts(cp,num);

d.setQs(request.getQueryString());//这里出空异常

ResultSet rs=d.display(pId);
String name=null;
String guid=null;
String ppId=null;
if(rs!=null&&rs.next()){
    guid=rs.getString("guid");
    ppId=rs.getString("parentId");
    name=rs.getString("name");
}
if(rs!=null){
        rs.close();
    }
%>


------解决方案--------------------
看你数据库有数据没的。
------解决方案--------------------
request.getQueryString()可能为null
------解决方案--------------------
jsp实际执行时后生成一个对应的java文件。
dict_005fmanage_jsp.java:62;好像是这个,去找这个文件的62行,先看看代码。也许你就知道哪个语句的问题了。然后再研究。