http://outofmemory.cn/code-snippet/2259/java-Servlet-access-Session

 

下面例子演示如何在HttpServlet中存取Session。 Session实例可以通过HttpServletRequest的getSession()方法获得,此方法会返回一个布尔值来表示是否成功得到了Session。

然后我们尝试获得键名为“VisitCounter”的session值,然后将获得的值转换为Integer对象。 如果是空则说明session还没有设置,就往session中添加VisitCounter。 否认则对VisitCounter+1并保存到session中。

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;/**
 * Example Servlet
 * @author outofmemory.cn
 */publicclassExampleServletextendsHttpServlet{/** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */protectedvoid service(HttpServletRequest request,HttpServletResponse response)throwsServletException,IOException{

        response.setContentType("text/html;charset=UTF-8");PrintWriterout= response.getWriter();

        printPageStart(out);//Obtain the session object, create a new session if doesn't existHttpSession session = request.getSession(true);//Check if our session variable is set, if so, get the session variable value//which is an Integer object, and add one to the value.//If the value is not set, create an Integer object with the default value 1.//Add the variable to the session overwriting any possible present values.Integer param =(Integer) session.getAttribute("MySessionVariable");if(param !=null){

            session.setAttribute("MySessionVariable",newInteger(param.intValue()+1));
            param =(Integer) session.getAttribute("MySessionVariable");}else{

            param =newInteger(1);
            session.setAttribute("MySessionVariable", param);}out.println("You have displayed this page <b>"+ param.intValue()+"</b> times this session.<br/><br/>");out.println("Hit the browsers refresh button.");

        printPageEnd(out);}/** Prints out the start of the html page
     * @param out the PrintWriter object
     */privatevoid printPageStart(PrintWriterout){out.println("<html>");out.println("<head>");out.println("<title>Example Servlet of how to store and retrieve session variables</title>");out.println("</head>");out.println("<body>");}/** Prints out the end of the html page
     * @param out the PrintWriter object
     */privatevoid printPageEnd(PrintWriterout){out.println("</body>");out.println("</html>");out.close();}}
arrow
arrow
    全站熱搜

    pcwiki 發表在 痞客邦 留言(0) 人氣()