• Servlet中ServletContext的用法


    ServletContext可以想象为服务器中的一个公用空间,可以被所有的客户访问

    ServletContext也是以“名-值”的形式保存数据,其用法有:

    1. 得到ServletContext:this.getServletContext();
    2. 添加属性:setAttribute(String name,Object ob);
    3. 得到值:   getAttribute(String),返回Object
    4. 删除属性:removeAttribute(String name)
    ServletContext中的属性的生命周期从创建开始,到服务器关闭而结束
    注意:因为存在ServletContext中的数据会长时间的保存在服务器,会占用内存,因此我们建议不要向serveltContext中添加过大的数据

    例子——向ServletContext中添加属性:

    /**
     * @(#)TestServletContext1.java
     *向ServletContext中添加属性
     *
     * @author 
     * @version 1.00 2017/3/30
     */
    package com.chongqing;
    
    import javax.servlet.http.*; 
    import javax.servlet.*; 
    import java.io.*;
    
    public class TestServletContext1 extends HttpServlet{
    	
    	public void doGet(HttpServletRequest req,HttpServletResponse res){
    	 	
    	 	try {
    	 		res.setContentType("text/html;charset=UTF-8");  
    	    	PrintWriter pw=res.getWriter(); 
    	    		
    		 	ServletContext sc = this.getServletContext();     //得到ServletContext
    		 	sc.setAttribute("myContext","TestServletContext");//往ServletContext添加属性
    		 	
    		 	pw.println("向servletContext中添加了一个属性:myContext");
    	
    		}
    		catch (Exception ex) {
    			ex.printStackTrace();
    		}
    	}
    	
    	public void doPost(HttpServletRequest req,HttpServletResponse res){
    		
    		this.doGet(req,res);	 	
    	 }
    }
    

      

    例子——获得ServletContext中的属性:

    /**
     * @(#)TestServletContext2.java
     *获得ServletContext中的属性
     *
     * @author 
     * @version 1.00 2017/3/30
     */
    package com.chongqing;
    
    import javax.servlet.http.*; 
    import javax.servlet.*; 
    import java.io.*;
    
    public class TestServletContext2 extends HttpServlet{
    	
    
    	public void doGet(HttpServletRequest req,HttpServletResponse res){
    	 	
    	 	try {
    			res.setContentType("text/html;charset=UTF-8");  
    	    	PrintWriter pw=res.getWriter(); 
    	    		
    		 	ServletContext sc = this.getServletContext();     //得到ServletContext
    		 	String myfo = (String)sc.getAttribute("myContext");//从ServletContext获取属性myContext的值
    		 	
    		 	pw.println("从ServletContext获取属性myContext的值为:"+myfo);
    		}
    		catch (Exception ex) {
    			ex.printStackTrace();
    		}	 	
    	}
    	
    	public void doPost(HttpServletRequest req,HttpServletResponse res){
    		
    		this.doGet(req,res);	 	
    	 }
    }
    

      

  • 相关阅读:
    animation
    0201 ---背景 tableview
    0129 ---稳定定的 plist介绍
    0127 userdefault
    0127 数据库 我的专家
    0122 ---清理缓存
    0122 清楚缓存
    0122---screach
    0121 --view 可以当作线
    0119吧 iPhone 屏幕尺寸
  • 原文地址:https://www.cnblogs.com/yzy-blogs/p/6646428.html
Copyright © 2020-2023  润新知