HttpSession

2 respostas
M
import <a href="http://java.io">java.io</a>.<em>;

import javax.servlet.</em>;

import javax.servlet.http.<em>;

import java.util.</em>;

import java.sql.<em>;

import java.awt.</em>;

import javax.servlet.http.HttpSession;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpServletRequest;

public class ZOTICA extends HttpServlet
{

public void service(ServletRequest request,ServletResponse response)throws ServletException, IOException
{
	PrintWriter out=response.getWriter();

	String uname = request.getParameter("uname");//pega do formulario
	String pass = request.getParameter("pass");
	String name = request.getParameter("uname");//pega do formulario
	String password = request.getParameter("pass");
	
	
	
	if(uname.equals("meo") && pass.equals("zotica"))
	{
		
		//out.sendRedirect("Index.jsp");
		HttpSession session= request.getSession();
		session.setAttribute("Username", uname);
		
	}


}

}

class Conectar {

private static final String USUARIO = "root";
private static final String SENHA = "";
private static final String URL = "jdbc:mysql://localhost:82/bdstock";
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";

	// Conectar ao banco
public static Connection abrir() /*throws Exception*/ {
    try{
	// Registrar o driver
    Class.forName(DRIVER);
    // Capturar a conexão
    Connection conn = DriverManager.getConnection(URL, USUARIO, SENHA);
    // Retorna a conexao aberta
    return conn;
	}
	catch(Exception e){
		//serve de apoio para saber quale o problema da conexao
		System.out.println(e);
		return null;
	}

}

}

o erro que me da

C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\ROOT\WEB-INF\classes>javac ZOTICA.java

ZOTICA.java:32: error: cannot find symbol

HttpSession session= request.getSession();

^

symbol:   method getSession()

location: variable request of type ServletRequest

1 error

2 Respostas

Jonathan_Medeiros

Você precisa obter um HttpServletRequest de ServletRequest, após isso conseguirá acesso à sessão!

Exemplo:

HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpSession session = httpServletRequest.getSession();
staroski

Você sobrescreveu o método service(ServletRequest, ServletResponse).

Este método é da interface Servlet

Acontece que o ServletRequest não possui o método getSession.

Quem possui é o HttpServletRequest.

Como você está estendendo a classe HttpServlet, é só você sobrescrever o método service(HttpServletRequest, HttpServletResponse).

Criado 1 de julho de 2020
Ultima resposta 1 de jul. de 2020
Respostas 2
Participantes 3