我写了一个jsp文件,在公司好用,但不知为什么在家里不好用,(注:家里运行环境:eclipse+Tomcat(插件),数据库用的是oracle)错误提示如下:严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP: 
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)

解决方案 »

  1.   

    表一:denglu.jsp<%@ page language="java" contentType="text/html;charset=GBK" %><jsp:useBean id="mybean" class="oraclejd.Ojdbc2" scope="page"/>
    <html>
    <head></head>
    <body>
    <%
    if(request.getAttribute("biaozhi")!=null&&"not ok".equals(request.getAttribute("biaozhi")+"")){
      %><h1><font color="red">密码或用户名错误!</font></h1><%
      }%>
    <form action="denglu.jsp" method="post">
    用户名:
    <input type="text" name="name"><br>
    密码: &nbsp
    <input type="text" name="pass"><br>
    &nbsp &nbsp &nbsp &nbsp
    <input type="submit" value="确认">
    &nbsp &nbsp
    <input type="reset" value="重填">
    </form>
    <% 
     String name=request.getParameter("name");
     String pass=request.getParameter("pass");
    if(name!=null && pass!=null ){
    if(mybean.yanzheng(name,pass)){
    session.setAttribute("biaozhi","ok");
    response.sendRedirect("biaoku.jsp");

    }else{
    session.setAttribute("biaozhi","not ok");
    response.sendRedirect("denglu.jsp");
    }
    }%>
    </body>
    </html>表二:biaoku.jsp<%@page contentType="text/html;charset=GBK"%>
    <jsp:useBean id="mybean" class="oraclejd.Ojdbc2" scope="page" /><%@page import="java.sql.ResultSet"%>
    <%@page import="oraclejd.Login;"%>
    <%@page import="java.util.List"%>
    <html>
    <head>
     
    <script type="text/javascript" >
    function fenye(yeshu){
    document.forms[1].yeshu.value=yeshu;
    document.forms[1].submit();
    }function del(id){
      document.forms[2].id.value=id;
      document.forms[2].submit();}</script>
    </head>
    <table width="80%" border="1">
    <%
    String yeshu=request.getParameter("yeshu");//要显示的页数String id=request.getParameter("id");
    if(id!=null){
    mybean.del(id);
    }
    List<Login> arr=mybean.xinxi2();//获取所有的信息
    int conut=arr.size();//总记录数
    if(conut!=0){
    int kaishi=1;//当前从1记录开始
    int meiyesize=5;  //每页要显示的记录数
    int dangqianp=1; //将要显示的页数转化成数字型(初始值赋1)
    int zongp=(conut-1)/meiyesize+1; //总页数
    if(yeshu!=null){
    try{
    dangqianp=Integer.parseInt(yeshu);
    }catch(Exception e){
    dangqianp=1;

    }
    if(dangqianp>zongp){
    dangqianp=zongp;
    }
    if(dangqianp<=0){
    dangqianp=1;
    }
    kaishi=(dangqianp-1)*meiyesize+1;

    }
    Login l=null;
    for(int i=kaishi;i<kaishi+meiyesize;i++){
    l=new Login();
    l=arr.get(i);
    %>
    <tr>
         <td><%=l.getId()%></td>
         <td><%=l.getName()%></td>
         <td><%=l.getPass()%></td>
         <td><%=l.getFlag()%></td>
         <td><input type="button" value="删除" onclick="del(<%=l.getId() %>)"/></td>
      <tr>
      <% 
    }
    %></table><body>
    <form action="biaoku.jsp" method="post">
    第<input type="text" name="yeshu">页<input type="submit" value="提交">
    </form><form action="biaoku.jsp" method="post">
    <input type="hidden" name="yeshu" value="<%=yeshu %>">
    </form><form action="biaoku.jsp" method="post">
    <input type="hidden" name="id" value="<%=id %>">
    </form>&nbsp &nbsp
    <P><a href="biaoku.jsp?yeshu=1">首页</a> 
    <a href="#" onclick="fenye(<%=dangqianp-1%>);">上一页</a>
    <a href="#" onclick="fenye(<%=dangqianp+1%>);">下一页</a> 
    <a href="biaoku.jsp?yeshu=<%=zongp%>">尾页</a></P><%
    for(int i=1;i<=zongp;i++){
    %>
    <a href="#" onclick="fenye(<%=i %>);"><%=i %></a><%
    }
    }
    %>
    </body></html>
      

  2.   

    不过还有一种情况(以前在学习的时候遇到过):
    就是在窗口-首选项-tomcat-JVM settings中jre设置成你机器上的jdk(有时jre也不能通过),如果没有的话,在java-已安装的jre中添加.如果解决了问题,说明一下解决方法.我们也学习下.
      

  3.   

    <%@page import="oraclejd.Login;"%>???????
      

  4.   

    <jsp:useBean id="mybean" class="oraclejd.Ojdbc2" scope="page"/> class=中是0(零)还是(o)哦啊!!!
      

  5.   

    <%@page import="oraclejd.Login;"%>应该是这儿的问题