Java學習總結049--Session

只要客戶端一旦連接上服務器,服務器就會自動產生Session;
一個連接對應一個session,session可以在一個會話中傳遞信息;
通過setAttribute設置值。
通過getAttribute獲得值。
由服務器端控制,服務器如果重啓了,信息就會丟失!

public class SessionTest extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //解決亂碼問題:
        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");
        //Session由服務器自動創建,如何獲得session

        //HttpSession 得到的sessioin對象
        HttpSession session = req.getSession();

        //得到sessionID,一次會話,一個seesionID;
        String id = session.getId();
        resp.getWriter().println("獲得的sessionId:\n"+id);

        String name = "qinjiang";
        //向session中存入一個值;
        session.setAttribute("name",name);
        resp.getWriter().println("存入信息成功:"+name);
    }
}
//獲得session存入的值
public class SessionTest2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //解決亂碼問題:
        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");

        //獲得
        HttpSession session = req.getSession();
        System.out.println("得到的SessionID:"+session.getId());


        String name = (String) session.getAttribute("name");
        resp.getWriter().println("得到的session存入的信息"+name);

        //Servlet  <  Seesion  <  WebContext

    }
}

會話註銷方法一:

  1. session.invalidate();//通過代碼註銷會話

會話註銷方法二:
2.<!--session-config可以設置會話自動過期,時間分鐘爲單位--> <session-config> <session-timeout>1</session-timeout> </session-config>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章