Servlet中的属性介绍

  1. Servlet中的属性
  2. 属性特定的方法
  3. 设置和获取属性的ServletContext示例
  4. ServletConfig和ServletContext之间的区别
【Servlet中的属性介绍】Servlet中的属性是可以从以下范围之一设置, 获取或删除的对象:
  1. 请求范围
  2. 会话范围
  3. 适用范围
Servlet程序员可以使用属性将信息从一个Servlet传递到另一个。就像将对象从一个类传递到另一个类一样, 这样我们可以一次又一次地重用同一对象。
ServletRequest, HttpSession和ServletContext接口的特定于属性的方法
有以下4种特定于属性的方法。它们如下:public void setAttribute(String name, Object object):在应用程序范围内设置给定的对象。 public Object getAttribute(String name):返回指定名称的属性。 public Enumeration getInitParameterNames():将上下文的初始化参数的名称作为String对象的Enumeration返回。 public void removeAttribute(String name):从Servlet上下文中删除具有给定名称的属性。
设置和获取属性的ServletContext示例
在此示例中, 我们在应用程序范围内设置属性, 并从另一个servlet获取该值。
DemoServlet1.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DemoServlet1 extends HttpServlet{ public void doGet(HttpServletRequest req, HttpServletResponse res) { try{res.setContentType("text/html"); PrintWriter out=res.getWriter(); ServletContext context=getServletContext(); context.setAttribute("company", "IBM"); out.println("Welcome to first servlet"); out.println("< a href='http://www.srcmini.com/servlet2'> visit< /a> "); out.close(); }catch(Exception e){out.println(e); }}}

DemoServlet2.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DemoServlet2 extends HttpServlet{ public void doGet(HttpServletRequest req, HttpServletResponse res) { try{res.setContentType("text/html"); PrintWriter out=res.getWriter(); ServletContext context=getServletContext(); String n=(String)context.getAttribute("company"); out.println("Welcome to "+n); out.close(); }catch(Exception e){out.println(e); } }}

web.xml
< web-app> < servlet> < servlet-name> s1< /servlet-name> < servlet-class> DemoServlet1< /servlet-class> < /servlet> < servlet-mapping> < servlet-name> s1< /servlet-name> < url-pattern> /servlet1< /url-pattern> < /servlet-mapping> < servlet> < servlet-name> s2< /servlet-name> < servlet-class> DemoServlet2< /servlet-class> < /servlet> < servlet-mapping> < servlet-name> s2< /servlet-name> < url-pattern> /servlet2< /url-pattern> < /servlet-mapping> < /web-app>

ServletConfig和ServletContext之间的区别
servletconfig对象引用单个servlet, 而servletcontext对象引用整个Web应用程序。

    推荐阅读