Servlet中的属性介绍

  1. Servlet中的属性
  2. 属性特定的方法
  3. 设置和获取属性的ServletContext示例
  4. ServletConfig和ServletContext之间的区别

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='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应用程序。
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?