猿教程 Logo

Servlet属性(Attribute)

servlet中的属性是可以设置,获取或从以下范围中删除的对象:

  1. 请求范围

  2. 会话范围

  3. 应用范围

servlet程序员可以使用属性将信息从一个servlet传递到另一个servlet。 它就像将对象从一个类传递到另一个类,以便我们可以重复使用相同的对象。


ServletRequest,HttpSession和ServletContext接口的属性特定方法

有以下4个属性特定方法。 它们如下:

public void setAttribute(String name,Object object):设置应用程序范围中给定的对象。 

public Object getAttribute(String name):返回指定名称的属性。 

public Enumeration getInitParameterNames():返回上下文初始化参数的名称作为String对象的枚举。 

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应用程序引用。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Servlet/attribute.html