我需要检查我的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"));
}