exceptionorg.apache.jasper.JasperException: Exception in JSP: /index.jsp:234231:         <table width="100%" border="0" cellspacing="1"
232:  cellpadding="1" class="tableBorder">
233:  <%
234:  Iterator iter = pl.iterator(); 
235: 
236:  while (iter.hasNext()) {
237:  Project pro = (Project) iter.next();Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
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:729)
cn.edu.bit.servlet.EncodingFilter.doFilter(EncodingFilter.java:66)
root causejava.lang.NullPointerException
org.apache.jsp.index_jsp._jspService(index_jsp.java:302)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
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:729)
cn.edu.bit.servlet.EncodingFilter.doFilter(EncodingFilter.java:66)

解决方案 »

  1.   

    JSP代码
    <td width="532" valign="top">
    <table width="100%" height="100%" border="1" cellpadding="0"
    cellspacing="0">
    <tr>
    <td background="images/front/bg_1.gif">
    新闻:
    </td>
    </tr>
    <tr>
    <td valign="top"> <control:news />
    </td>
    </tr>
    <tr>
    <td>
    &nbsp;
    </td>
    </tr>
    <tr>
    <td background="images/front/bg_1.gif">
    在研项目:
    </td>
    </tr>
    <tr>
    <td valign="top">
    <%
    ArrayList pl = (ArrayList) Project_Manager.getProjectList();
    %>
    <div align="center">
    <table width="100%" border="0" cellspacing="1"
    cellpadding="1" class="tableBorder">
    <%
    Iterator iter = pl.iterator();  while (iter.hasNext()) {
    Project pro = (Project) iter.next();
    %>
    <tr bgcolor="E4EDF9">
    <td align="center" class="titleText">
    <%=pro.getName()%>
    </td>
    <td>
    &nbsp;
    </td>
    </tr>
    <tr bgcolor="F1F3F5">
    <td width="20%" align="center" class="normalText">
    起始时间:
    </td>
    <td width="80%" class="normalText">
    <%=pro.getTime()%>
    </td>
    </tr>
    <tr bgcolor="F1F3F5">
    <td align="center" class="normalText">
    简介:
    </td>
    <td class="normalText">
    <%=pro.getInfo()%>
    </td>
    </tr>
    <tr>
    <td colspan="2">
    &nbsp;
    </td>
    </tr>
    <%
    }
    %>
    <tr>
    <td colspan="2">
    &nbsp;
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
      

  2.   

    java.sql.SQLException: Access denied for user 'admin'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2748)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at cn.edu.bit.DBQuery.DataProcess.getConnection(DataProcess.java:35)
    at cn.edu.bit.business.Project_Manager.getProjectList(Project_Manager.java:132)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:294)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at cn.edu.bit.servlet.EncodingFilter.doFilter(EncodingFilter.java:66)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Unknown Source)有多了个DB错,可是我的账号密码都是admin 啊
    package cn.edu.bit.DBQuery;
    import java.sql.*;/**
     * 
     * @author liuyu
     *2007-7-21
     */
    public class DataProcess {

    DataProcess(){

    }

    /**
     * 
     * @return
     */

    public static Connection getConnection()
    {
    String CLASSFORNAME="org.gjt.mm.mysql.Driver";    String SERVANDDB = "jdbc:mysql://localhost:3306/Lab?user=admin&password=admin&useUnicode=true&characterEncoding=utf-8";


    Connection con;

    try
    {
    Class.forName(CLASSFORNAME);

    con = DriverManager.getConnection(SERVANDDB,"admin","admin");

    return con;
    }
    catch(Exception e)
    {
    e.printStackTrace();

    return null;
    } }
      

  3.   

    system.out.println(pl); 估计集合木有东西,未判断空就用来迭代
      

  4.   

    空指针异常,很有可能是你的pl为nill,用断点查看一下就知道了,输出也试试,
      

  5.   

    是的,PL是空的,现在问题在于本地的数据库mysql连不上;
    2013-11-6 23:32:57 org.apache.catalina.startup.Catalina start
    信息: Server startup in 1391 ms
    str==null
    java.sql.SQLException: Access denied for user 'admin'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2748)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    DB类;package cn.edu.bit.DBQuery;
    import java.sql.*;/**
     * 
     * @author liuyu
     *2007-7-21
     */
    public class DataProcess {

    DataProcess(){

    }

    /**
     * 
     * @return
     */

    public static Connection getConnection()
    {
    String CLASSFORNAME="org.gjt.mm.mysql.Driver";    String SERVANDDB = "jdbc:mysql://localhost:3306/Lab?user=admin&password=admin&useUnicode=true&characterEncoding=utf-8";


    Connection con;

    try
    {
    Class.forName(CLASSFORNAME);

    con = DriverManager.getConnection(SERVANDDB,"admin","admin");

    return con;
    }
    catch(Exception e)
    {
    e.printStackTrace();

    return null;
    } }


    /**
     * 
     * @param SQL
     * @return
     */
    public static int nCount(String SQL)
    {
    Connection myConnection = getConnection();
    int count = 0;

    try
    {
    Statement stm = myConnection.createStatement();

    ResultSet result = stm.executeQuery(SQL);

    if(result.next())
    {
    count = result.getInt(1);

    result.close();
    }

    stm.close();

    myConnection.close();

    }
    catch(Exception e)
    {
    e.printStackTrace();
    }

    return count;
    }

    /**
     * 
     * @param SQL
     */
    public static void ExeQuery(String SQL)
    {
    Connection con = getConnection();
    try
    {
    Statement stmt = con.createStatement();

    stmt.executeUpdate(SQL);

    stmt.close();

    con.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }


    /**
     * 
     * @param SQL
     * @param con
     * @return
     */
    public static ResultSet getResult(String SQL,Connection con)
    {
    ResultSet rs = null;

    try{
    Statement stmt = con.createStatement();

    rs = stmt.executeQuery(SQL);

    }catch(SQLException e)
    {
    e.printStackTrace();
    }

    return rs;

    }

    /**
     * 
     * @param con
     */
    public static void CloseConnection(Connection con)
    {
    try
    {
    con.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }

    /**
     * 
     * @param rs
     */

    public static void CloseResultSet(ResultSet rs)
    {
    try
    {
    rs.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }}
      

  6.   

    我晕解决了,是root权限问题, 默认的用户名是root    ,安装的时候3个密码框第一个写,root密码其他两个写登陆密码,不要和root重了不然在窗口能进去,但用代码连接的时候就没权限,希望帮助其他人,感谢回答的没个大神!