Redirecionamento com Servlet

Bom dia galera…
Estou com um pequeno problema, acredito que seja pequeno. Mas como sempre trabalhei com frameworks não tenho experiencia com servlets.
Preciso redirecionar o usuario para pagina de login em determinadas situações. Estou usando o RequestDispatcher, ele redireciona certo. Porem perde os css no jsp. Vou colocar partes do codigo pra quem possa analizar.

login.jsp

<head>
       <title>Login</title>
       <jsp:include page="/includes/imports.jsp" />
</head>
.......

Servlet

	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession();
		String login = null, password = null;
		if(request.getParameter("login") != null && request.getParameter("login").trim().length() > 0) {
			login = request.getParameter("login").trim().toUpperCase();
		}
		if(request.getParameter("password") != null && request.getParameter("password").trim().length() > 0) {
			password = request.getParameter("password").trim().toUpperCase();
		}
		
		Usuario usuario = UsuarioDelegate.newInstance().autenticar(login, password);
		if(usuario != null) {
			session.setAttribute("usuario", usuario);
			response.sendRedirect("welcome");
		}
		else {
			request.setAttribute("ERROR", USER_OR_PASS_INVALID);
			RequestDispatcher dispatcher = request.getRequestDispatcher("usuario/login.jsp");
			dispatcher.forward(request, response);
			//response.sendRedirect("usuario/login.jsp");
			
		}
	}

Como pedem ver tambem tentei usar o response.sendRedirect(“usuario/login.jsp”); Nesse até que rola tudo bem. Mas ai não acha a variavel “ERROR” que teria que estar no request.

Caio coloque ai a estrutura dos seus diretorios, no caso do css ele pode estar em uma pasta diferente e não esta conseguindo acha-lo.
E quanto a varíavel ERROR mostre como você esta tentando usa-la.
Abraços.
Marciano.

Estrutura:

Imprimir a variavel

${ERROR}

O seu css tem que estar declarado no mesmo nivel que a pasta usuário, no caso.

<link type="text/css" rel="stylesheet" href="/css/seuCSS.css">

Marciano.

Então amigo. Meus css esta assim.

<link rel="stylesheet" type="text/css" href="../css/style.css">
<link rel="stylesheet" type="text/css" href="../css/form.css">
<link rel="stylesheet" type="text/css" href="../css/buttons.css">

isso em um arquivo de nome includes.jsp numa pasta no mesmo nivel da pasta css e de usuario.
Ai no jsp de login ei faço isso <jsp:include page="/includes/imports.jsp" />
Então ao chamar o login.jsp pelo menu. Ocorre tudo maravilha css e tudo mas.
Mas o problema é quando eu dou um redirect la do servlet assim.

RequestDispatcher dispatcher = request.getRequestDispatcher("usuario/login.jsp");
			dispatcher.forward(request, response);

ai ele perde os css.
extranho que quando eu uso o response.sendRedirect(“usuario/login.jsp”) não perde o css.

Então no caso do “…/” ele vai subir um nivel e procurar em uma pasta acima, e como as duas pastas estão no mesmo nivel por isso que ele não encontra.
Marciano.

Marciano. se eu retirar os …/ ai ele não enxerga o css de nenhuma forma.

Consegui resolver o problema… rsrsrs
o problema esta no web.xml

antes

<servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/getLogin</url-pattern> </servlet-mapping>

agora

<servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/usuario/getLogin</url-pattern>
  </servlet-mapping>

Servlet antes

RequestDispatcher dispatcher = request.getRequestDispatcher("usuario/login.jsp");
			dispatcher.forward(request, response);

servlet agora

RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp");
			dispatcher.forward(request, response);

Muito obrigado Marciano

Então estava ai, hehe, realmente era problema de mapeamento.
Abraço.
Marciano.