2009-06-12 4 views
0

Я испытываю и проблема с котом, где при попытке развернуть мой код, я получаю следующее сообщение об ошибке:Справочная проблема с tomcat?

Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

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

Generated servlet error: Only a type can be imported. org.apache.log4j.Logger resolves to a package

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) org.apache.jsp.secpay_jsp._jspService(secpay_jsp.java:78) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

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

Generated servlet error: Only a type can be imported. org.apache.log4j.Logger resolves to a package

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414) org.apache.jasper.compiler.Compiler.compile(Compiler.java:297) org.apache.jasper.compiler.Compiler.compile(Compiler.java:276) org.apache.jasper.compiler.Compiler.compile(Compiler.java:264) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) org.apache.jsp.secpay_jsp._jspService(secpay_jsp.java:78) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Я предполагаю, что есть проблема загрузки log4j где-то, но я не уверен, где я необходимо загрузить его. Где я могу добавить ссылку для добавления log4j в развертывание?

UPDATE:

Вот пример кода, который нарушает по крайней мере аналогичное исключение

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@page import="org.apache.log4j.Logger"%> 
<!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=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
hello world 

</body> 
</html> 

если вы konck из ссылки на org.apache.log4j страница просто отображает привет world ...

+0

Odd. Можете ли вы разместить пример JSP, желательно короткий? – skaffman

+0

Пример добавлен в сообщение –

+0

Может быть проблемой класса. Tomcat не правильно подбирает банку Log4J, или ее нет. Вы можете проверить каталог WEB-INF/lib вашего webapp. – akarnokd

ответ

1

Вы должны иметь log4j - *. jar в каталоге WEB-INF/lib или в каталоге tomcat/lib.

-1

javax.servlet.http.HttpServlet.service (HttpServlet.java:802)

Эта ошибка возникает, когда для -> Service (ServletHttpRequest RQ, ServletHttpResponse Rs) бросает Exp ... на не определите внутри класса.

Так что вам нужно реализовать свой код с помощью First Service .... (method), после перенаправления (req, res) на doPost (...), тогда U будет получать ваши решение ..

Смежные вопросы