# Tomcat:Fehler HTTP Status 500 -> org.apache.jasper.Jasper



## adouzi (3. Mai 2008)

Hallo Zusammen,

ich habe ein Problem mit Tomcat und ich versuche es seit langer Zeit zu lösen, bis jetzt ohne Erfolg.
Ich habe Tomcat so konfiguriert, dass ein VHost existiert. Das Material ist z.B. in einem Order *verzeichnis*.

Wenn ich zum Testen darauf mit *localhost:8080/verzeichnis* zugreife, dann habe ich gar keine Probleme und von Tomcat keine Fehlermeldungen bekommen.

Wenn ich darauf mit meinem DomainNamen (www.domain.com) zugreife, bekomme ich auch keine Probleme. Da sieht meine index.jsp so aus

```
<%@ page pageEncoding="UTF-8" %>
<%@ include file='./include/header.jsp' %>

<% /* Inhalt */ %>
<div id='inhalt'>
...
```

wenn ich drauf mit *www.domain.com/irgendein_unterverzeichnis*, dann bekomme ich die Schwierigkeiten, auch wenn meine index.jsp in diesem *irgendein_unterverzeichnis*, fast genauso wie oben aussieht, mit einem Unterschied und zwar die Stelle der inludeden Datei. Also so:

```
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ include file='./../include/header.jsp' %>

<%

<% /* Inhalt */ %>
<div id='inhalt'>
...
```

Danach spuckt tomcat so eine Fehlermeldung

```
org.apache.jasper.JasperException: /index.jsp(4,0) File "/./../include/header.jsp" not found
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
	org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:334)
	org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:367)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1433)
	org.apache.jasper.compiler.Parser.parse(Parser.java:133)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:153)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
```

Wie gesagt, wenn ich *localhost:8080/verzeichnis/irgendein_unterverzeichnis* verwende, habe ich keine Probleme.

Tomcat: version 6
BS: Linux Suse 9.2

Hat jemand von euch irgendeine Lösung oder einen Hinweis, woran das liegen könnte.
Danke im Voraus!


----------



## dajos7 (20. Mai 2008)

Was passiert, wenn du den pfad von


```
<%@ include file='./include/header.jsp' %>
```

auf


```
<%@ include file='include/header.jsp' %>
```

oder auch


```
<%@ include file='/include/header.jsp' %>
```

änderst. Ich sehe hier nur, dass anscheinend der Root-Pfad nicht korrekt an die JSP-Seite weitergegeben wird.


----------

