J2EE学习总结(四)------web应用

本文详细介绍了Servlet上下文的概念,包括其生命周期和如何获取及设置全局数据。接着讨论了转发的原理,指出其在同一个容器内的特性以及与include方法的区别。最后,讲解了Session会话的创建、标识符、数据存取以及在用户登录信息管理中的应用。
摘要由CSDN通过智能技术生成


前言

本文主要介绍servlet上下文和转发的相关API和知识。


一、servlet的上下文

  • ServletContext: 即servlet上下文,代表整个web应用的对象,这个对象全局唯一,而且工程内部的所有servlet都共享这个对象,所以叫全局应用程序共享对象,也就是同一个WEB应用程序中(webapps下的每个目录就是一个应用程序),所有的Servlet和JSP都可以共享同一个区域。
  • ServletContext的生命周期: 当服务器启动,web应用加载时,会创建一个ServletContext对象,唯一代表该web应用,此后该对象一直存活,直到web应用销毁时,ServletContext对象随之销毁。
  • 获取ServletContext对象:通过this.getServletContext() 方法获取。
  • 常用的函数
//获取上下文对象
ServletContext sc=this.getServletContext();
//设置全局数据
request.getServletContext().setAttribute("msg", "共享信息");
//获取全局数据
request.getServletContext().getAttribute("msg");

二、转发

  • 定义:转发——>客户浏览器发送HTTP请求——>web服务器接受请求——>调用内部一个方法在容器内部完成请求处理和转发动作——>再将转发跳转到的那个网页资源返回给客户;
  • 转发只能在同一个容器内完成 转发的时候浏览器地址是不会变的,在客户浏览器里只会显示第一次进入的那个网址或者路径,客户看不到这个过程,只是得到了想要的目标资源,转发行为浏览器只做了一次请求
  • 常用函数
getParameter()getAttribute()的区别:
getParameter()获取的是客户端设置的数据,永远返回字符串
getAttribute()获取的是服务器设置的数据,返回值是任意类型

forward和include的区别:
forward方法是把请求的内容转发到另外的一个servlet
而include是把另一个servlet处理过后的内容拿过来.
例如使用了forword方法后,会跳转到指定的另外一个页面并显示内容
而include是在原本页面显示新的页面的内容,并且包含原来页面上的内容。

转发函数:
request.getRequestDispatcher("operTwoServlet").forward(request,response);

三、session

  • Session 就一个接口(HttpSession)。
  • Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。
  • 每个客户端都有自己的一个 Session 会话。
  • Session 会话中,我们经常用来保存用户登录之后的信息。
  • 获取session对象
 //创建或获取Session会话对象
 HttpSession session = req.getSession();
 //判断当前Session会话是否是新创建出来的
 boolean isNew = session.isNew();
 //获取Session会话的唯一标识 id
 String id = session.getId();
  • session数据域的存取:
//存的是一个键值对
req.getSession().setAttribute("key","value");
  • session数据域的读取
//通过键值对来读出信息
String shopping=(String)session.getAttribute("key");

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值