Servlet的几个关键对象

一、ServletConfig对象

  加载配置:加载时机在servlet对象创建之后,init方法调用之前;

public void init(ServletConfig config) throws ServletException {
	this.config = config;
	this.init();
    }

从这段代码可以看出,会在init方法调用之前初始化ServletConfig对象;

 

ServletConfig对象的作用:

 初始化配置变量:如在web.xml中可以为某个servlet配置变量,在servlet中通过该对象取出对应的变量,实际上变量封装进了这个ServletConfig对象;

下面是在web.xml中设置变量,对于可能修改的变量,这样设置值可以避免源代码的修改;

 

<servlet>
  	<servlet-name>bb</servlet-name>
    <servlet-class>p01.ThridServlet</servlet-class>
    <!-- 这些参数会在加载web应用的过程中封装到config对象 -->
    <init-param>
    	<param-name>path</param-name>
		<param-value>E:/test.txt</param-value>
    </init-param>
  </servlet>


在servlet中取出变量:

 

 

String path = this.getServletConfig().getInitParameter("path");
Enumeration<String> en =  this.getServletConfig().getInitParameterNames();
		while(en.hasMoreElements()){ 
			String name = en.nextElement();
			String value = this.getServletConfig().getInitParameter(name);
			System.out.println(name+"---"+value);
		}

下面这是遍历所有参数的代码;

 

三个核心方法:一个获取配置对象,另两个分别是获取所有的名字和根据变量名字获取变量值;

 

二、ServletContext对象

  域对象,用于在servlet之间共享数据

   代码:

ServletContext context = this.getServletContext();
		System.out.println("路径:"+ context.getContextPath());//获取路径
		
	 
		Enumeration<String> enum1 =  context.getInitParameterNames();//获取参数名字
		while(enum1.hasMoreElements()){
			String str1 = enum1.nextElement();
			System.out.println(context.getInitParameter( str1));//获取参数值
		}
		
		System.out.println("path:"+context.getRealPath("index.jsp"));//获取资源文件

输出:

路径:/day11_会话管理
123456
path:D:\tomcat\apache-tomcat-6.0.39\webapps\day11_会话管理\index.jsp

 

 

 

 

context.getAttribute() //获取属性值,用于在servlet之间共享属性值
removeAttribute() //移除属性值

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值