<%
          String cdir=request.getParameter("dir");
           cdir=new String(cdir.getBytes("iso-8859-1"),"UTF-8");
           String realDir=application.getRealPath("/shared"+cdir);
           File f=new File(realDir);
      %>
错误提示: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 /re.jsp at line 1916:     <body>
17:      <%
18:           String cdir=request.getParameter("dir");
19:            cdir=new String(cdir.getBytes("iso-8859-1"),"UTF-8");
20:            String realDir=application.getRealPath("/shared"+cdir);
21:            File f=new File(realDir);
22:       %>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
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
org.apache.jsp.re_jsp._jspService(re_jsp.java:69)
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:386)
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.32 logs.这是为什么呢
可以帮忙解决一下

解决方案 »

  1.   

    18: String cdir=request.getParameter("dir");
    19: cdir=new String(cdir.getBytes("iso-8859-1"),"UTF-8");
    把cdir打印出来看看,或用if(cdir==null)做个判断,应该是个空值
    可能是request中没有“dir”这个参数
      

  2.   

    上一个jsp页面里的表单应该要有一个<input type="text" name="dir" value=""/>否则到你的这个jsp里肯定是空。不做判断就用 肯定会报控指针异常。
      

  3.   

    cdir获取到的为null,当你调用getBytes()时,故抛出著名的java.lang.NullPointerException
    检查提交过来的页面上面的dir的参数名称是否写错了,或者是根本没有这个dir的参数名称!
      

  4.   

    [Quote=引用 3 楼 liutianxiong888 的回复:]
    cdir获取到的为null,当你调用getBytes()时,故抛出著名的java.lang.NullPointerException
    检查提交过来的页面上面的dir的参数名称是否写错了,或者是根本没有这个dir的参数名称!
    [/Quot]
    同意……
      

  5.   

    先判断你取的dir值是否为空
    String cdir=request.getParameter("dir");
    if((cdir==null)||(cdir.equal("")){
      throw new RuntimeException("值出错。");
    }else{
      cdir=new String(cdir.getBytes("iso-8859-1"),"UTF-8");
      String realDir=application.getRealPath("/shared"+cdir);
      File f=new File(realDir);
    }