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.;
import javax.servlet.http.;
import javax.servlet.jsp.;
import java.io.;
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 ]
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