在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ Servlet屬性設(shè)置
Servlet web.xml welcome-file-list
Servlet從數(shù)據(jù)庫讀取記錄性能優(yōu)化
Servlet URL重寫帶參數(shù)
War文件
Web技術(shù)基礎(chǔ)
Servlet GenericServlet類
Servlet API
Servlet ServletInputStream類
使用MyEclipse創(chuàng)建Servlet
Servlet增刪改查
Servlet ServletConfig配置信息
Servlet Cookies
Servlet重定向
Servlet生命周期
Servlet HttpSession會話
Servlet HttpServlet類
Servlet注冊表單示例
Servlet表單隱藏字段
Servlet下載文件
Servlet教程
Servlet身份驗證過濾器
Servlet ServletOutputStream類
Servlet HttpSession登錄注銷實例
Servlet啟動時加載
Servlet事件和監(jiān)聽器
使用Eclipse創(chuàng)建Servlet
Servlet ServletContextEvent事件
Servlet HttpSessionEvent統(tǒng)計在線用戶數(shù)實例
Servlet RequestDispatcher請求轉(zhuǎn)發(fā)
Servlet使用注釋
Servlet過濾器示例
Servlet過慮器
Servlet ServletContext配置信息
Servlet登錄注銷Cookies實例
Servlet工作流程
Servlet會話跟蹤
Servlet登錄實例
Servlet ServletRequest接口
Servlet ServletRequestEvent類和接口
Servlet入門程序
Servlet查詢搜索數(shù)據(jù)示例
Servlet FilterConfig應(yīng)用示例
Servlet顯示所有頭信息
Servlet屬性設(shè)置
使用NetBeans創(chuàng)建Servlet
Servlet接口實現(xiàn)
Servlet上傳文件

Servlet屬性設(shè)置

Servlet中的屬性是可以從以下范圍之一設(shè)置,獲取或刪除的對象:

  • 請求范圍
  • 會話范圍
  • 應(yīng)用范圍

Servlet程序員可以使用屬性將信息從一個servlet傳遞給另一個servlet。它就像將對象從一個類傳遞給另一個類一樣,以便我們可以一次又一次地重用同一個對象。

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

Servlet中有以下4種屬性方法,它們具體如下:

序號 方法 描述
1 public void setAttribute(String name,Object object) 在應(yīng)用程序范圍內(nèi)設(shè)置給定的對象。
2 public Object getAttribute(String name) 返回指定名稱的屬性。
3 public Enumeration getInitParameterNames() 返回上下文的初始化參數(shù)的名稱,轉(zhuǎn)為String對象的枚舉。
4 public void removeAttribute(String name) 從servlet上下文中刪除具有給定名稱的屬性。

ServletContext的示例設(shè)置和獲取屬性

在這個例子中,在應(yīng)用程序范圍內(nèi)設(shè)置屬性,并從另一個servlet獲取該值。

打開Eclipse創(chuàng)建一個動態(tài)Web項目:ServletAttribute ,其完整的項目結(jié)構(gòu)如下所示 -

以下是幾個主要代碼文件 -

文件: ServletAttr.java -

package com.yiibai;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ServletAttr
 */

public class ServletAttr extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        try {
            response.setCharacterEncoding("UTF-8");
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();

            ServletContext context = getServletContext();
            context.setAttribute("company", "Lenovo");
            out.println("Welcome to first servlet");
            out.println("在第二個Servlet<a href='servlet2'>查看屬性值</a>");
            out.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

文件: ServletAttr2.java -

package com.yiibai;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ServletAttr
 */

public class ServletAttr2 extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        ServletContext context = getServletContext();
        String n = (String) context.getAttribute("company");

        out.println("Welcome to " + n);
        out.close();
    }

}

文件: web.xml -

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>ServletAttribute</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>ServletAttr1</servlet-name>
        <servlet-class>com.yiibai.ServletAttr</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ServletAttr1</servlet-name>
        <url-pattern>/servlet</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>ServletAttr2</servlet-name>
        <servlet-class>com.yiibai.ServletAttr2</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ServletAttr2</servlet-name>
        <url-pattern>/servlet2</url-pattern>
    </servlet-mapping>
</web-app>

在編寫完成上面的代碼后,部署此Web應(yīng)用程序,打開瀏覽器訪問URL:http://localhost:8080/ServletAttribute/servlet ,如果程序沒有錯誤,應(yīng)該會看到以下結(jié)果 -

點擊查看屬性值鏈接,應(yīng)該會看到以下結(jié)果 -

ServletConfig和ServletContext的區(qū)別

servletconfig對象引用單個servlet,而servletcontext對象引用整個Web應(yīng)用程序。