Response cannot be resolved [RESOLVIDO]

5 respostas
A

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

A

Alguem para ajudar???

S

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

A

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…

S

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

A

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