# CSS wird nach RequestDispatcher.redirect nicht mehr geladen



## eso (2. Jul 2009)

Hallo, ich habe das Problem, dass beim RequestDispatcher.forward() die CSS der .jsp-Seite nicht geladen werden.

[JAVA=42]
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		HttpSession session=request.getSession();
		String param=request.getParameter("customerID");
		Integer id=0;
		try
		{
			id=Integer.parseInt(param.trim());
			SaCustomer customer=new SaCustomer();
			customer.GetCustomerById(id);
			session.setAttribute("customerID", customer);
			session.setAttribute("customer.message", null);
		}
		catch(NumberFormatException ex)
		{
			session.setAttribute("customer.message", "Ungültige KundenID");
		}
		catch (QueryException ex)
		{
			session.setAttribute("customer.message", ex.getMessage());
		}

//hier wird die Seite aufgerufen, es werden jedoch keine Styles geladen
		String url="/jsp/customer.jsp";
		ServletContext sc = getServletContext();
	    RequestDispatcher rd = sc.getRequestDispatcher(url);
	    rd.forward(request, response);
	}
[/code]


----------



## maki (2. Jul 2009)

Stimmt denn die URL zum Stylesheet?


----------



## eso (2. Jul 2009)

Ja. 
Noch zum Ablauf: Die Seite "/jsp/customer.jsp" ruft das Servlet "Customer", welcher ich oben gepostet habe. Dabei werden die CSS-Style korekt geladen. Nach der Abarbeitung ruft das Servlet "Customer" wieder die Seite "/jsp/customer.jsp", allerdings diesmal ohne die CSS-Styles zu berücksichtigen


----------



## maki (2. Jul 2009)

Die URL stimmt beim 2. Aufruf nicht mehr 
Hast wohl einen relativen Pfad, abhängig vom Ort der JSP (../jsp/customer.jsp), beim 2. Aufruf ist aber die sog. Baseurl (siehe Browser) anders. da durch ein Servelt gegangen wird.


----------



## eso (3. Jul 2009)

maki hat gesagt.:


> Die URL stimmt beim 2. Aufruf nicht mehr
> Hast wohl einen relativen Pfad, abhängig vom Ort der JSP (../jsp/customer.jsp), beim 2. Aufruf ist aber die sog. Baseurl (siehe Browser) anders. da durch ein Servelt gegangen wird.


Ja, abe ein andere Pfad geht gar nicht. Die URL muss mit einem "/" anfangen.


----------



## maki (3. Jul 2009)

> Ja, abe ein andere Pfad geht gar nicht. Die URL muss mit einem "/" anfangen.


Muss sie nicht 

Komisch ist, dass du die JSP mal so und mal so aufrufst, normalerweise sollten JSPs immer von einem Servlet aufgerufen werden, nie direkt (index/login mal ausgenommen), das nennt sich Model 2 bzw MVC.


----------



## eso (3. Jul 2009)

maki hat gesagt.:


> Muss sie nicht
> 
> Komisch ist, dass du die JSP mal so und mal so aufrufst, normalerweise sollten JSPs immer von einem Servlet aufgerufen werden, nie direkt (index/login mal ausgenommen), das nennt sich Model 2 bzw MVC.



wie kann ich den die JSP aus Servlet aufrufen. Ich meine, wenn ich Servlet aus JSP aufrufe, dan habe ich ja meine request un response Objekte. Wenn ich das Servlet direkt aufrufe, kommt eine leere Seite?


----------



## HLX (4. Jul 2009)

Wie sieht die der CSS-Link in der JSP-Seite aus, und was steht nach dem Aufruf des Servlets in der Adressleiste deines Browsers? Wie sieht die Verzeichnissstruktur deiner Web-Anwendung aus?


----------

