Response cannot be resolved [RESOLVIDO]

5 respostas
alexlima72

GuJ’s,
Uma ajuda por favor:
Estou tentando usar uma Session para autenticar e verificando no BD e blablabla
Se estiver tudo Ok redireciona para a pagina (index.jsp) mas dá erro:

ResultSet rs1 = sql.executeQuery();
			if (rs1.next()) {
				HttpServletRequest request;
				HttpSession session = request.getSession(true);
				session.setAttribute("sessao_user", getLeo_user());
				session.setAttribute("sessao_passw", getLeo_passw());
				session.setAttribute("logado", "ok");
				rs1.close();
				conexao.close(); 
				//Object response;
				response.sendRedirect("index.jsp");
			} else {

Erro: “response cannot be resolved”
Como faço? Eu tenho q criar um Objeto response? Qual o tipo? eo sendredirect?
Direto na pagina JSP funciona…eu tenho q fazer algum import na classe???
Na index.jsp eu coloquei um sendredirect para a login caso não esteja autenticado e o usuário digitar o endereço na ‘unha’

Agradeço desde já…

5 Respostas

alexlima72

Alguem para ajudar???

silviofernandes

Olá amigo,

Se você estiver fazendo a validação em uma pagina jsp use isso:

<jsp:forward page="localURL">

<jsp:param name="parameterName1"

value="parameterValue1"/>

<jsp:param name="parameterNameN"

value="parameterValueN"/>

</jsp:forward>

Se quiser também podes usar javascript:

<script language="javascript">
location = "url_desejada";
</script>

Ou se for um Servlet use isso:

RequestDispatcher r = request.getRequestDispatcher( "url_desejada" );   
r.forward( request, response );

Acho que é isso. Se eu estiver errado me corrijam por favor.

Espero ter ajudado. :slight_smile:

[]`s

alexlima72

Silvio, obrigado pela dica mas continua dando erro e não entendi como funciona esse RequestDispatcher, parece que complicou mais ainda…
Estou trabalhando com JavaBeans + Eclipse + TomCat
Então criei uma classe Loga com o metodo 'Mensagem"
Segue abaixo o código já com a inclusão do seu comando:

public String getMensagem(){
		//ResponseCache response;
		String s = "";
		try{
			Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
		} catch (Exception e) {
			s = "Driver não Instalado";
		}
		try {
			Connection conexao = DriverManager.getConnection  ("jdbc:oracle:thin:sugartst/sugartst@sugar:1521:sugar");			
//		Verifica se ja tem usuário			
			PreparedStatement sql = conexao.prepareStatement("select leo_user,leo_passw, leo_nome from leo_una_caduser where leo_user = ?"+
			" and leo_passw = ? ");
			sql.setString(1,getLeo_user());
			sql.setString(2,getLeo_passw());
			ResultSet rs1 = sql.executeQuery();
			if (rs1.next()) {
				HttpServletRequest request;
				HttpSession session = request.getSession(true);
				session.setAttribute("sessao_user", getLeo_user());
				session.setAttribute("sessao_passw", getLeo_passw());
				session.setAttribute("logado", "ok");
				rs1.close();
				conexao.close(); 
				//Object response; 
				RequestDispatcher r = request.getRequestDispatcher( "index.jsp" );     
				r.forward( request, response );  
				//response.sendRedirect("index3.jsp");
			} else {   ............

Por favor se der para verificar para mim.
O erro de compilacao:

The method forward(ServletRequest, ServletResponse) in the type RequestDispatcher is not 
 applicable for the arguments (HttpServletRequest, Object)

Agradeço desde já aquempuder ajudar…

silviofernandes

Olá amigo,

fiz um exemplo aqui para você.

pagina1.jsp

<%@page import="requestresponse.*" %>
<%
if(request.getParameter("nome")!=null){
	RequestResponse reqres = new RequestResponse();
	reqres.metodoRedirecionar(request,response);
}
%>
<html>
<body>
<form method="get" action="">
<input type="text" name="nome">
<input type="submit" value="Enviar">
</form>
</body>
</html>

pagina2.jsp

<html>
<body>
<h1><%=request.getParameter("nome")%></h1>
</form>
</body>
</html>

RequestResponse.java

package requestresponse;

import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;

public class RequestResponse {
	
	public void metodoRedirecionar(HttpServletRequest request, HttpServletResponse response){  
		try {
			RequestDispatcher r = request.getRequestDispatcher("pagina2.jsp");
			r.forward( request, response );
		} catch (ServletException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}    
	}

}

Espero ter ajudado. :slight_smile:

[]`s

alexlima72

ok Silvio,
Obrigado pela dica e atenção.

Criado 30 de janeiro de 2008
Ultima resposta 31 de jan. de 2008
Respostas 5
Participantes 2