Servlet - Передача сообщения с использованием HttpSession

Пример передачи сообщения Web-серверу из браузера в атрибуте сессии HttpSession влючает два сервлета : SessionSrc и SessionDst. Сервлет SessionSrc размещает в сессии (HttpSession) атрибут SessionID со значением Hello, Destination. После получения запроса Web-сервер вызывает сервлет SessionDst, который формирует страницу с текстом сообщения от браузера.


Листинг сервлета SessionSrc.java
 
import java.io.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class SessionSrc extends HttpServlet implements Serializable
{
  public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
  {
   req.getSession().setAttribute("SessionID", "Hello, Destination");
   resp.setContentType ("text/html;charset=windows-1251");
   PrintWriter out = resp.getWriter();
   out.println( "<html>" +
    "<head>" +
     "<title>Session</title>" +
    "</head>" +
    "<body bgcolor=#fff1df>" +
     "<form name=Form1 method=GET " +
      "action=http://localhost:8082/servlets-labir/SessionDst>" +
      "<h3>Send to servlet \"SessionDst\" Session message</h3>" +
       "<input type=submit value=\"Send\">" +
     "</form>" +
    "</body></html>" +
   );
   out.close();
  }
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Листинг сервлета SessionDst.java
 
import java.io.*;
import java.util.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class SessionDst extends HttpServlet implements Serializable
{
  public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
  {
   HttpSession session = req.getSession(false);
   Date date = new Date (session.getCreationTime());
   String ss = (String) req.getSession().getAttribute("SessionID");
   resp.setContentType("text/html;charset=windows-1251");
   PrintWriter out = resp.getWriter();
   out.println( "<html>" +
    "<head>" +
     "<title>Servlet Destination</title>" +
    "</head>" +
    "<body bgcolor=#dddddd>" +
     "<h1>Called Servlet</h1>" +
      "Session message: " + ss + "<br><br>");
   if (date != null)
       out.println("Creation time: " + date + "<br><br>");
 
   date = new Date (session.getLastAccessedTime());
   out.println("Last Accessed time: " + date + "<br><br>");
 
   date = new Date();
   session.setAttribute("date", date);
   out.println("Current time: " + date + "<br><br>");
 
   out.println("Session ID " + session.getId());
 
   out.println("</body></html>");
   out.close();
  }
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Код объявления сервлетов SessionSrc и SessionDst в дескрипторе поставки web.xml
 
<servlet>
  <servlet-name>SessionSrc</servlet-name>
  <servlet-class>SessionSrc</servlet-class>
</servlet>
<servlet>
  <servlet-name>SessionDst</servlet-name>
  <servlet-class>SessionDst</servlet-class>
</servlet>
 
<servlet-mapping>
  <servlet-name>SessionSrc</servlet-name>
  <url-pattern>/SessionSrc</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>SessionDst</servlet-name>
  <url-pattern>/SessionDst</url-pattern>
</servlet-mapping>


Партнеры:


Rambler's Top100 Рейтинг@Mail.ru