2009-06-12 6 views
0

ich erlebe und Ausgabe mit Kater, wo, wenn ich versuche, meinen Code ich folgende Fehlermeldung erhalten zu implementieren:Referenzproblem mit 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)

Ich gehe davon aus, dass ein Problem Laden log4j irgendwo gibt es, aber ich bin nicht sicher, wo ich muss es laden. Wo würde ich einen Verweis hinzufügen, um log4j zur Bereitstellung hinzuzufügen?

UPDATE:

Hier ein Beispiel für Code,

<%@ 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> 

, wenn Sie die Referenz konck aus mit zumindest einer ähnlichen Ausnahme bricht die Seite einfach org.apache.log4j zeigt hallo world ...

+0

Odd. Können Sie eine Beispiel-JSP veröffentlichen, vorzugsweise eine kurze? – skaffman

+0

Beispiel zum Beitrag hinzugefügt –

+0

Möglicherweise ein Klassenpfadproblem. Tomcat nimmt das Log4J-Glas nicht richtig auf oder es fehlt. Sie könnten das WEB-INF/lib-Verzeichnis Ihrer Webanwendung überprüfen – akarnokd

Antwort

1

Sie müssen log4j - *. jar entweder im Verzeichnis WEB-INF/lib oder im Verzeichnis tomcat/lib haben.

-1

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

Dieser Fehler tritt auf, wenn die für den -> Service (ServletHttpRequest rq, ServletHttpResponse rs) Exp wirft ... auf nicht Definieren Sie innerhalb der Klasse ..

So müssen Sie implementieren Sie Ihren Code mit First Service .... (Methode), Nach der Umleitung (req, res) zu doPost (...) dann wird U erhalten Lösung ..