Hallo,
ich bin gerade dabei mich mit JSP und Servlets zu beschäftigen - habe dabei folgendes Problem:
Ich nehme an, dass das Problem deshalb besteht weil der forward vermutlich nichts anderes macht als die Ausgabe des JSP Dokuments in den Ausgabestrom zum Browser zu schreiben - und da das Serlvet in einem anderen Pfad liegt als das JSP werden die eingebetteten Dinge nicht mehr gefunden.
/index.jsp:
MyServlet.java:
Der Testcode hier sollte eigentlich nichts anderes machen als nach einem Klick auf den Button in der JSP das Servlet zu aktivieren, welches wiederum auf das JSP forwardet. (Tuts auch, nur die Grafik wird nicht mehr dargestellt)
Das Servlet ist nach /servlets/MyServlet gemappt.
Kann man dieses verhalten irgendwie modifizieren dass ich weiterhin relative Pfade in den JSP's verwenden kann?
Danke und Grüsse,
Egon
ich bin gerade dabei mich mit JSP und Servlets zu beschäftigen - habe dabei folgendes Problem:
- Wenn ich aus dem Servlet mittels eines RequestDispatchers zu einem JSP forwarde, so werden die in diesem JSP relativ referenzierten Elemente (Images, Stylesheets) nicht gefunden
Ich nehme an, dass das Problem deshalb besteht weil der forward vermutlich nichts anderes macht als die Ausgabe des JSP Dokuments in den Ausgabestrom zum Browser zu schreiben - und da das Serlvet in einem anderen Pfad liegt als das JSP werden die eingebetteten Dinge nicht mehr gefunden.
/index.jsp:
Code:
<%@page language="Java" contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form action="servlets/MyServlet" method="POST">
<input type="submit" value="Click!" />
</form>
[img]img/back.png[/img]
</body>
</html>
MyServlet.java:
Code:
package egrath.test;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
@SuppressWarnings( "serial" )
public class MyServlet extends HttpServlet
{
@Override
public void init( ServletConfig conf )
throws ServletException
{
super.init( conf );
}
@Override
public void doGet( HttpServletRequest req, HttpServletResponse resp )
throws ServletException, IOException
{
doPost( req, resp );
}
@Override
public void doPost( HttpServletRequest req, HttpServletResponse resp )
throws ServletException, IOException
{
this.getServletContext().getRequestDispatcher( "/index.jsp" ).forward( req, resp );
}
}
Der Testcode hier sollte eigentlich nichts anderes machen als nach einem Klick auf den Button in der JSP das Servlet zu aktivieren, welches wiederum auf das JSP forwardet. (Tuts auch, nur die Grafik wird nicht mehr dargestellt)
Das Servlet ist nach /servlets/MyServlet gemappt.
Kann man dieses verhalten irgendwie modifizieren dass ich weiterhin relative Pfade in den JSP's verwenden kann?
Danke und Grüsse,
Egon