从类中调用servlet时,我的会话始终为null

时间:2013-11-29 09:47:14

标签: java jsp servlets

我需要检查我的jsp站点上是否存在会话。我创建了一个servlet,在其doPost()和doGet()方法中检查它。

两者如果我从url(url / Servlet)调用它并在提交页面<form action="Servlet" method="post">后它可以正常工作。

现在我需要从类中调用doPost()或doGet()方法。在这个论坛上阅读一些帖子我得到了这段代码:

   Sessione p = new Sessione(); //sessione is the servlet name
   URL urlServlet = null;

   urlServlet = new URL("url/Servlet");
   HttpURLConnection servletConnection = (HttpURLConnection) urlServlet.openConnection();
   servletConnection.setRequestMethod("POST");
   servletConnection.setDoOutput(true);

   ObjectOutputStream objOut = new ObjectOutputStream(servletConnection.getOutputStream());
   objOut.writeObject(p);
   objOut.flush();
   objOut.close();
   InputStream response = servletConnection.getInputStream();

问题是,如果我从一个类调用该servlet,我总是得到我的会话为空,即使它们不是。

这是我的servlet的doPost()方法

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out = response.getWriter();     
        HttpSession session = request.getSession(true);     
        out.println(session.getAttribute("loggato"));

    }

0 个答案:

没有答案