zoukankan      html  css  js  c++  java
  • 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);	 	
    	 }
    }
    

      

  • 相关阅读:
    C#判断网络链接状态
    C# 创建临时文件(转帖)
    C# 很久以前几个常用类
    正则附表
    如何判断WebBrowser浏览器网页加载完成
    控件阴影
    C# 使用WM_COPYDATA传输数据(两个窗体间通信)
    C# 调用POST请求
    改变无边框窗体的尺寸大小和移动无边框窗体
    IT学习网站
  • 原文地址:https://www.cnblogs.com/yzy-blogs/p/6646428.html
Copyright © 2011-2022 走看看