当前位置:编程学习 > JAVA >>

(急)org.apache.jasper.JasperException: An exception occurred processing JSP page

HTTP Status 500 -

type Exception report

message

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 /present.jsp at line 18

15: <%
16:    request.setCharacterEncoding("gb2312");
17:    String search=request.getParameter("searchString");
18:    GoodsQuery query=new GoodsQuery();//这行报错,这个是我调用自己写的javaBean
19:    query.setSet(search);
20:    query.result();
21:    ArrayList<MerchandiseInfo> list=query.getList();


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
org.apache.jsp.present_jsp._jspService(present_jsp.java:270)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
core.query.Query.<clinit>(Query.java:25)//这个文件是别人写的一个jar中一个函数,我在GoodsQuery中调用的
goodsBean.GoodsQuery.<init>(GoodsQuery.java:11)
org.apache.jsp.present_jsp._jspService(present_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
core.query.Query.<clinit>(Query.java:25)
goodsBean.GoodsQuery.<init>(GoodsQuery.java:11)
org.apache.jsp.present_jsp._jspService(present_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.27 logs.

Apache Tomcat/7.0.27
这个问题困扰了好久了,希望能够得到正确的回复,谢谢啦~~~
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="GB2312"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="common.model.MerchandiseInfo"%>
<%@ page import="goodsBean.GoodsQuery" %>
<%@ page import="page.PageableResultSet" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>the results present</title>
</head>
<body>
<center>
<h1 align="center">结果显示</h1>
<%
   request.setCharacterEncoding("gb2312");
   String search=request.getParameter("searchString");
   GoodsQuery query=new GoodsQuery();
   query.setSet(search);
   query.result();
   ArrayList<MerchandiseInfo> list=query.getList();
   PageableResultSet prs=new PageableResultSet(list);
   int pageSize;
   int totalItem;
   int totalPage;
   int curPage;
   String strPage;
   int i;
   pageSize=10;
   strPage=request.getParameter("page");
   if(strPage==null)
   {
    curPage=1;
   }
   else
   {
    curPage=java.lang.Integer.parseInt(strPage);
   }
   if(curPage<1)
   {
    curPage=1;
   }
   prs.last();
   totalItem=prs.getRow();
   totalPage=(totalItem+pageSize-1)/pageSize;
   if(curPage>totalPage) curPage=totalPage;
   if(totalPage>0)
   {
    prs.absolute((curPage-1)*pageSize+1);
   }
   i=0;
   %>
 <table bgcolor="#000000" align="center" border=1 cellspacing=0 width="100%">
 <tr bgcolor="#FFFFFF">
    <td align="center">     Title     </td>
    <td align="center">     Seller    </td>
    <td align="center">     Price     </td>
    <td align="center">     Volume    </td>
    <td align="center">     Photo     </td>
    <td align="center">GoodFeedBack   </td>
    <td align="center">TotalComments  </td>
    <td align="center">GoodComments   </td>
    <td align="center">    Catalog    </td>
    <td align="center">    Attributes </td>
  </tr>
   <%//显示数据
   while(i<pageSize && !prs.isAfterLast())
   {
   %>
    <tr>
     <tr>
<td align=center><font size=2>
<%out.print(list.get(i).getMerchandiseTitle()); %>
</font>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getSellerName()); %>
</font>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getBuyNowPrice()); %>
</font>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getSalesVolume()); %>
</font>
</td>
<td align=center>
<img src=<%out.print(list.get(i).getPhotoURL());%> width=178 height=275>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getGoodFeedback()); %>
</font>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getTotalComments()); %>
</font>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getGoodComments()); %>
</font>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getCatalog()); %>
</font>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getMerchandiseTitle()); %>
</font>
</td>
<td align=center><font size=2>
<%out.print(list.get(i).getAttributes()); %>
</font>
</td>
    </tr>
   <%
   prs.next();
   i++;
   }
   %>
   </table><p align="center">
   共<%=totalItem%>个记录,分<%=totalPage%>页显示,当前页是:第<%=curPage%>页<br />
   <%if(curPage>1){%><a href="present.jsp?page=1">首页</a><%}%>  
   <%if(curPage>1){%><a href="present.jsp?page=<%=curPage-1%>">上一页</a><%}%>  
   <%
   for(int j=1;j<=totalPage;j++)
   {
    out.print("  <a href='present.jsp?page="+j+"'>"+j+"</a>");
   }
   %>
     
   <%if(curPage<totalPage){%><a href="present.jsp?page=<%=curPage+1%>">下一页</a><%}%>  
   <%if(totalPage>1){%><a href="present.jsp?page=<%=totalPage%>">末页</a><%}%>
   <%
   prs.close();
   %>
  </p>
  </center>
</body>
</html>
我写的代码,实现分页功能,我不会写web.xml,所以web.xml中信息时MyEclipse自动生成的
下面是写的JavaBean
package goodsBean;

import java.util.ArrayList;
import common.model.*;
import core.query.*;

public class GoodsQuery {
private ArrayList<MerchandiseInfo> list = new ArrayList<MerchandiseInfo>();
private String [] set;
private int pageSize;
private Query query=new Query();
public String[] getSet() {
return set;
}
public void setSet(String search) throws Exception {
set=query.originalQuery(search);
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public ArrayList<MerchandiseInfo> getList() {
return list;
}

public void setList(ArrayList<MerchandiseInfo> list) {
this.list = list;
}
public void result(){
list=query.queryRequestAll(set);
}
}
摆脱各位大神了
--------------------编程问答-------------------- 你把slf4j的jar包拷贝到项目中再试试。 --------------------编程问答--------------------
引用 1 楼  的回复:
你把slf4j的jar包拷贝到项目中再试试。

导入之后又出现了其他的错误
如下:
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 15 in the generated java file
Only a type can be imported. common.model.MerchandiseInfo resolves to a package

An error occurred at line: 16 in the generated java file
Only a type can be imported. goodsBean.GoodsQuery resolves to a package

An error occurred at line: 17 in the generated java file
Only a type can be imported. page.PageableResultSet resolves to a package

An error occurred at line: 18 in the jsp file: /present.jsp
GoodsQuery cannot be resolved to a type
15: <%
16:    request.setCharacterEncoding("gb2312");
17:    String search=request.getParameter("searchString");
18:    GoodsQuery query=new GoodsQuery();
19:    query.setSet(search);
20:    query.result();
21:    ArrayList<MerchandiseInfo> list=query.getList();//这行报错


An error occurred at line: 18 in the jsp file: /present.jsp
GoodsQuery cannot be resolved to a type
15: <%
16:    request.setCharacterEncoding("gb2312");
17:    String search=request.getParameter("searchString");
18:    GoodsQuery query=new GoodsQuery();
19:    query.setSet(search);
20:    query.result();
21:    ArrayList<MerchandiseInfo> list=query.getList();//这行报错


An error occurred at line: 21 in the jsp file: /present.jsp
MerchandiseInfo cannot be resolved to a type
18:    GoodsQuery query=new GoodsQuery();
19:    query.setSet(search);
20:    query.result();
21:    ArrayList<MerchandiseInfo> list=query.getList();//这行报错
22:    PageableResultSet prs=new PageableResultSet(list);
23:    int pageSize;
24:    int totalItem;


An error occurred at line: 22 in the jsp file: /present.jsp
PageableResultSet cannot be resolved to a type
19:    query.setSet(search);
20:    query.result();
21:    ArrayList<MerchandiseInfo> list=query.getList();//这行报错
22:    PageableResultSet prs=new PageableResultSet(list);
23:    int pageSize;
24:    int totalItem;
25:    int totalPage;


An error occurred at line: 22 in the jsp file: /present.jsp
PageableResultSet cannot be resolved to a type
19:    query.setSet(search);
20:    query.result();
21:    ArrayList<MerchandiseInfo> list=query.getList();//这行报错
22:    PageableResultSet prs=new PageableResultSet(list);
23:    int pageSize;
24:    int totalItem;
25:    int totalPage;


Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.27 logs.

Apache Tomcat/7.0.27 --------------------编程问答-------------------- java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
这里是少包的问题

An error occurred at line: 21 in the jsp file: /present.jsp
MerchandiseInfo cannot be resolved to a type
像这种说明你页面上的import导入没有成功,很有可能是因为你的页面不是在webroot下面,
你可以将页面放到webroot下试一试
或者加上<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
这个用myeclipse new jsp时自动生成的相对路径 --------------------编程问答-------------------- 重新deploy一下试试 --------------------编程问答-------------------- 我晕,你后来贴的这些是编译错误。
仔细检查下代码。 --------------------编程问答-------------------- 缺少jar --------------------编程问答-------------------- javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

少jar包啦  slf4j.jar

--------------------编程问答--------------------
引用 5 楼  的回复:
我晕,你后来贴的这些是编译错误。
仔细检查下代码。

我知道是编译错误,可是一开始到最后没有解决的就是这个编译错误啊,我引入MerchandiseInfo这个了,可是仍然出现编译错误,所以求各位大神帮忙看看啊 --------------------编程问答--------------------
引用 4 楼  的回复:
重新deploy一下试试

我又新建一个项目,利用原来的方法,添加了,可是还是出现这个类似的问题
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 1 in the generated java file
The type common.model.MerchandiseInfo cannot be resolved. It is indirectly referenced from required .class files

An error occurred at line: 21 in the jsp file: /present.jsp
MerchandiseInfo cannot be resolved to a type
18:    GoodsQuery query=new GoodsQuery();
19:    query.setSet(search);
20:    query.result();
21:    ArrayList<MerchandiseInfo> list=query.getList();
22:    PageableResultSet prs=new PageableResultSet(list);
23:    int pageSize;
24:    int totalItem;


An error occurred at line: 21 in the jsp file: /present.jsp
The method getList() from the type GoodsQuery refers to the missing type MerchandiseInfo
18:    GoodsQuery query=new GoodsQuery();
19:    query.setSet(search);
20:    query.result();
21:    ArrayList<MerchandiseInfo> list=query.getList();
22:    PageableResultSet prs=new PageableResultSet(list);
23:    int pageSize;
24:    int totalItem;


Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.27 logs.

Apache Tomcat/7.0.27 --------------------编程问答--------------------
引用 7 楼  的回复:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

少jar包啦  slf4j.jar

这个问题解决了,可是总的大问题还是运行不起来。。。囧死了。。。 --------------------编程问答-------------------- 可能是jar包冲突 我遇见过,调整一下jar包吧 --------------------编程问答--------------------
引用 11 楼  的回复:
可能是jar包冲突 我遇见过,调整一下jar包吧

没有两个相同的包啊?怎么会冲突呢?不太明白 --------------------编程问答-------------------- 解决了嘛,楼主。 --------------------编程问答-------------------- 还没解决
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,