牛骨文教育服务平台(让学习变的简单)
博文笔记

JSP(3-1):隐藏表单的案例,从session得到某个属性,从session删除掉某个属性

创建时间:2014-04-05 投稿人: 浏览次数:1916
 
package com.tsinghua;    
import javax.servlet.http.*;    
import  java.io.*;    
public class HiddenForml1 extends HttpServlet{    
   
    public void doGet(HttpServletRequest req, HttpServletResponse res){    
   
   
        try{    
         res.setContentType("text/html;charset=gbk");//中文防止乱码   
              
            PrintWriter pw = res.getWriter();  
            String test="男";
            pw.println("<html>");      
            pw.println("<body>");      
            pw.println("<h1>登陆界面</h1>");      
            pw.println("<form action=hiddenforml2 method=post>");      
            pw.println("用户名:<input type=text name= username><br>");      
            pw.println("密码:<input type=password name= passwd><br>");      
            pw.println("密码:<input type=hidden name=sex value="+test+"><br>");      
            pw.println("提交:<input type=submit value=login><br>");      
            pw.println("</form>");      
            pw.println("</body>");      
            pw.println("</html>");  
               
              
        }catch(Exception e){    
           
            e.printStackTrace();    
        }finally{    
    
    
        }    
    }    
    
        public void doPost(HttpServletRequest req, HttpServletResponse res){    
            this.doGet(req, res);    
    

        }
      }    
    


2,隐藏表单的案例

package com.tsinghua;    
import javax.servlet.http.*;    
import  java.io.*;    
public class HiddenForml2 extends HttpServlet{    
   
    public void doGet(HttpServletRequest req, HttpServletResponse res){    
   
   
        try{    
        	res.setContentType("text/html;charset=gbk");//中文防止乱码   
              
            PrintWriter pw = res.getWriter();  
            
            String u=req.getParameter("username");
            String p=req.getParameter("passwd");
            //得到隐藏的性别值
            String sex=req.getParameter("sex");
             	 
            pw.println("username="+u);	
            pw.println("password="+p); 
            pw.println("sex="+sex);
        }catch(Exception e){    
           
            e.printStackTrace();    
        }finally{    
    
    
        }    
    }    
    
        public void doPost(HttpServletRequest req, HttpServletResponse res){    
            this.doGet(req, res);    
    

        }
      }    
    


二:从session得到某个属性:

         session是当用户打开浏览器,访问某个网站时,服务器就会在服务器的内存为该浏览器分配一个空间,该空间被这个浏览器独占。

          这个空间就是session的空间,该空间中的数据默认的为时间为30min,你也可以改。

package com.tsinghua;    
import javax.servlet.http.*;    
import  java.io.*;    
public class SessionTest1 extends HttpServlet{    
   
    public void doGet(HttpServletRequest req, HttpServletResponse res){    
   
   
        try{    
        	res.setContentType("text/html;charset=gbk");//中文防止乱码   
              
            PrintWriter pw = res.getWriter();  
            
            //得到和req相关的session,如果没有就创建session
            HttpSession ht=req.getSession(true);
            
            //得到session的Id这是由容器分配的
            String sessionId=ht.getId();
            
            pw.println("sessionTest1 的session id="+sessionId+"<br>");
            
            
            
            //向session中添加一个属性(String类型)
            ht.setAttribute("name","韩顺平");
            
            //如果不指定时间,那么该session的有效期是30min
            //你也可以指定时间30s
            ht.setMaxInactiveInterval(30);
            pw.println("在session中放入一个属性 name=韩顺平");
            
            
            
            	 
        }catch(Exception e){    
           
            e.printStackTrace();    
        }finally{    
    
    
        }    
    }    
    
        public void doPost(HttpServletRequest req, HttpServletResponse res){    
            this.doGet(req, res);    
    

        }
      }    
    


 

package com.tsinghua;    
import javax.servlet.http.*;    
import  java.io.*;    
public class SessionTest2 extends HttpServlet{    
   
    public void doGet(HttpServletRequest req, HttpServletResponse res){    
   
   
        try{    
        	res.setContentType("text/html;charset=gbk");//中文防止乱码   
              
            PrintWriter pw = res.getWriter();  
            
            //得到和req相关的session,如果没有就创建session
            HttpSession ht=req.getSession(true);
            
            //得到session的Id这是由容器分配的
            String sessionId=ht.getId();
            
            pw.println("sessionTest2 的session id="+sessionId);
            
            
            
            //得到session中的某个属性
            String myName=(String)ht.getAttribute("name");	
            pw.println("name="+myName); 
            }catch(Exception e){    
           
            e.printStackTrace();    
        }finally{    
    
    
        }    
    }    
    
        public void doPost(HttpServletRequest req, HttpServletResponse res){    
            this.doGet(req, res);    
    

        }
      }    
    


三、从session删除掉某个属性

package com.tsinghua;    
import javax.servlet.http.*;    
import  java.io.*;    
public class SessionTest3 extends HttpServlet{    
   
    public void doGet(HttpServletRequest req, HttpServletResponse res){    
   
   
        try{    
        	res.setContentType("text/html;charset=gbk");//中文防止乱码   
              
            PrintWriter pw = res.getWriter();  
            
            //得到和req相关的session,如果没有就创建session
            HttpSession ht=req.getSession(true);
            
           //向session添加一个属性(string 类型)
            ht.setAttribute("you","周星星");
            ht.setAttribute("he","刘德华");            
            
            pw.println("在没有删除you属性前you的值"+ht.getAttribute("you")+"<br>");
            
            //从session中删除you属性
            ht.removeAttribute("you");
            pw.println("删除you属性后you的值"+ht.getAttribute("you")+"<br>");
            pw.println("删除you属性后you的值"+ht.getAttribute("he")+"<br>");	 
        }catch(Exception e){    
           
            e.printStackTrace();    
        }finally{    
    
    
        }    
    }    
    
        public void doPost(HttpServletRequest req, HttpServletResponse res){    
            this.doGet(req, res);    
    

        }
      }    
    


        如果要一次性不所有数据都删掉:

         将:ht.removeAttribute("you");

        改成: ht.setMaxInactiveInterval(0);

       则 整个ht都为空

 

       

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。