• 今日总结


    2020年11月23日:

    关于session,网上给出的定义为:

    Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在Session对象中。有关使用Session 对象的详细信息,请参阅“ASP应用程序”部分的“管理会话”。注意会话状态仅在支持cookie的浏览器中保留

    1.设置session

    java里面,可以给session添加自定义key,value(HttpServletRequest request 作为方法的输入参数)

    HttpSession session = request.getSession();
    session.setAttribute("usrid", userid);

    2.取得session

    session.getAttribute("username");
    HttpSession session = request.getSession(); 
    session.getAttribute("usrname");
     public void doPost(HttpServletRequest request, HttpServletResponse response)  
                throws IOException, ServletException {  
             
            String userid = request.getParameter("username");
            String pwd = request.getParameter("password");
            
            JSONObject json = new JSONObject();  
            
            AdminDAO adminDAO = new AdminDAO();
            List<Admin> userList = adminDAO.findByProperty("usrid", userid);
    
            if(userList.get(0).getPassword().equals(pwd)){
                 json.put("success", true);
                 HttpSession session = request.getSession();
                 session.setAttribute("usrid", userid);
            } else {
                 json.put("success", false);
                 json.put("meg", "sorry");
            }          
                     
            PrintWriter pw = response.getWriter();   
            pw.print(json.toString());  
            pw.close();  
        }  
    public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            
            JSONObject json = new JSONObject();  
           
            HttpSession session = request.getSession(); 
            if(session==null||session.getAttribute("usrid")==null)
            {
                 json.put("success", false);
                 json.put("meg", "Time out,please login again!");
            }
            else
            {
               ...
                json.put("jsonArray", array);     
            }    
            
               
            PrintWriter pw = response.getWriter();   
            pw.print(json.toString());  
            pw.close();
        }
    $(document).ready(function(){
                $.ajax({
                    url: "HomePageServlet",
                    type: "post",
                    dataType: "json",
                    success: function(data) {        
                    if (data["success"]) {
                          ...
                    } 
                    else
                    {
                        alert(data["meg"]);
                        window.location.href="login.html";
                    }                            
                }
                    
            });
        });
  • 相关阅读:
    [CareerCup] 13.7 Node Pointer 节点指针
    [LeetCode] Bulls and Cows 公母牛游戏
    [CareerCup] 13.6 Virtual Destructor 虚析构函数
    [CareerCup] 13.5 Volatile Keyword 关键字volatile
    [CareerCup] 13.4 Depp Copy and Shallow Copy 深拷贝和浅拷贝
    [CareerCup] 13.3 Virtual Functions 虚函数
    [CareerCup] 13.2 Compare Hash Table and STL Map 比较哈希表和Map
    [CareerCup] 13.1 Print Last K Lines 打印最后K行
    [CareerCup] 12.6 Test an ATM 测试一个自动取款机
    [LeetCode] Serialize and Deserialize Binary Tree 二叉树的序列化和去序列化
  • 原文地址:https://www.cnblogs.com/yitiaokuailedexiaojingyu/p/14134828.html
Copyright © 2020-2023  润新知