javaweb4种域对象的具体的输入输出代码!

本人新手,四大域的用法有点稀里糊涂!就整理了四大域的输入输出代码!
有四大域对象 ServletContext ServletRequest HttpSession PageContext

下面我自己整理了四大域一些输入输出代码!

1. ServletContext

生命周期:

当web应用被加进容器时,创建代表整个web应用的ServletContext对 象,当服务器关闭,或web应用被移除时,ServletContext对象跟着被销毁。

作用范围:

整个应用

代码:
此代码实现的功能:在Aservlet中保存的代码参数在Bsevlet中输出

Aservlet:

  	ServletContext st = this.getServletContext();
 	st.setAttribute("name1", "zhangsan");
 	st.setAttribute("name2", "李四");

Bservlet

     ServletContext aplication = this.getServletContext();
 	String string1 = (String)aplication.getAttribute("name1");
 	String string2 = (String)aplication.getAttribute("name2");
 	
     System.out.println(string1); 
     System.out.println(string2);

2.ServletRequest

生命周期:

在service方法调用前由服务器创建,传入service()方法,整个请求结束,ServletRequest生命周期结束。

作用范围:

整个请求链。(请求转发也存在,请求转发属于一次请求。)
代码:
此段代码实现的功能 : 在Aservlet保存的参数在Bservlet输出

Aservlet

		request.setAttribute("name1", "张三");
		request.setAttribute("name2", "jack");
		
		//response.sendRedirect("/demo7/Bservlet");//这种方式重定向域名会改变!但不会将参数传递到Bservlet
		request.getRequestDispatcher("/Bservlet").forward(request, response);

Bservlet

		String sZs = (String)request.getAttribute("name1");
		String sjack = (String)request.getAttribute("name2");
		
		System.out.println(sZs);//张三
		System.out.println(sjack);//jack

3.HttpSession

生命周期:

服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个并返回。
当一段时间内,session没有被使用(默认是30分钟),服务器会销毁该session。如果服务器非正常关闭(强行关闭),还未到期的session也会被销毁。
另外,调用session的invalidate()方法可以立即销毁session。
注:在jsp中:session是jsp的内置对象(偶不理解啥叫内置对象啊),不用创建就可直接使用!

作用范围:

一次回话。

代码:
此段代码实现的功能:在Aservlet保存参数session在Bservlet中输出

Aservlet

		HttpSession session = request.getSession();
		session.setAttribute("name1", "张三");
		session.setAttribute("name2", "Tom");
		
		response.sendRedirect("/demo7/Dservlet");

Bservlet

		HttpSession session = request.getSession();
	    Enumeration<String> eName = session.getAttributeNames(); 
		
		while(eName.hasMoreElements()) {
			String sName  = eName.nextElement();
			System.out.println(session.getAttribute(sName));
		}

4.PageContext

暂时没学到,先不整理!

部分内容引用如下来源
作者:Zhuang_ET
链接:https://www.jianshu.com/p/6c02951267d8
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值