Objetos Implicitos 2

1 resposta
O
Pessoal ainda é sobre a pergunta de usar Objetos Implicitos em Servlet.





O servlet abaixo, traz no método doGet a ID da sessão no corpo do HTML.





====================





import javax.servlet.<em>;


import javax.servlet.http.</em>;


import javax.servlet.jsp.<em>;


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





public class global extends HttpServlet {





    HttpSession session;





    public void init(ServletConfig config) throws ServletException {


        super.init(config);


    }





    public void destroy() {


    }





    protected void doGet(HttpServletRequest request, HttpServletResponse response)


    throws ServletException, java.io.IOException {





        PrintWriter out = response.getWriter();





        out.println("<html>");


        out.println("<head>");


        out.println("<title>CafeJava</title>");


        out.println("</head>");


        out.println("<body>");





        out.println(session.getId());





        out.println("</body>");


        out.println("</html>");


    }





    protected void doPost(HttpServletRequest request, HttpServletResponse response)


    throws ServletException, java.io.IOException {


    }





    public String getServletInfo() {


        return "Servlet Global, controla as variáveis de sessão usada pelo site";


    }


}





================














É importante resaltar que a classe compila tudo certinho, mas quando rodo no browser ocorre o seguinte erro

















****************************************************


500 Servlet Exception


java.lang.NullPointerException


	at global.doGet(global.java:28)


	at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)


	at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)


	at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)


	at com.caucho.server.http.Invocation.service(Invocation.java:311)


	at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)


	at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:218)


	at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:160)


	at com.caucho.server.TcpConnection.run(TcpConnection.java:137)


	at java.lang.Thread.run(Thread.java:536)





************************************************








Estou usando o Resin 2.1.1, será que é erro do servidor ???











Quando tiro a linha que traz o método getId(), o servlet compila e roda normalmente no browser.








Alguem pode me ajudar !!!



















[ Editado por Oswaldo No dia -1 ]

1 Resposta

A

Olá oswaldo!

Você está utilizando uma session que ainda não foi inicializada, para o feito, coloque isso na sua declaração onde encontra a sua instancia para a session:



HttpSession session = request.getSession(false);





Att

Dalton

Criado 25 de junho de 2002
Ultima resposta 25 de jun. de 2002
Respostas 1
Participantes 2