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

鍍金池/ 教程/ Linux/ Servlet FilterConfig應(yīng)用示例
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會(huì)話
Servlet HttpServlet類
Servlet注冊(cè)表單示例
Servlet表單隱藏字段
Servlet下載文件
Servlet教程
Servlet身份驗(yàn)證過濾器
Servlet ServletOutputStream類
Servlet HttpSession登錄注銷實(shí)例
Servlet啟動(dòng)時(shí)加載
Servlet事件和監(jiān)聽器
使用Eclipse創(chuàng)建Servlet
Servlet ServletContextEvent事件
Servlet HttpSessionEvent統(tǒng)計(jì)在線用戶數(shù)實(shí)例
Servlet RequestDispatcher請(qǐng)求轉(zhuǎn)發(fā)
Servlet使用注釋
Servlet過濾器示例
Servlet過慮器
Servlet ServletContext配置信息
Servlet登錄注銷Cookies實(shí)例
Servlet工作流程
Servlet會(huì)話跟蹤
Servlet登錄實(shí)例
Servlet ServletRequest接口
Servlet ServletRequestEvent類和接口
Servlet入門程序
Servlet查詢搜索數(shù)據(jù)示例
Servlet FilterConfig應(yīng)用示例
Servlet顯示所有頭信息
Servlet屬性設(shè)置
使用NetBeans創(chuàng)建Servlet
Servlet接口實(shí)現(xiàn)
Servlet上傳文件

Servlet FilterConfig應(yīng)用示例

FilterConfig的對(duì)象由Web容器創(chuàng)建。這個(gè)對(duì)象可用于獲取web.xml文件中的配置信息。

FilterConfig接口的方法

FilterConfig接口中有以下4個(gè)方法。

  • public void init(FilterConfig config): init()方法僅在初始化過濾器時(shí)被調(diào)用(只調(diào)用一次)。
  • public String getInitParameter(String parameterName): 返回指定參數(shù)名稱的參數(shù)值。
  • public java.util.Enumeration getInitParameterNames(): 返回包含所有參數(shù)名稱的枚舉。
  • public ServletContext getServletContext(): 返回ServletContext對(duì)象。

FilterConfig示例

在此示例中,如果將web.xml的中的construction參數(shù)值為no,則請(qǐng)求將轉(zhuǎn)發(fā)到servlet,如果將參數(shù)值設(shè)置為:yes,則過濾器將使用消息創(chuàng)建響應(yīng):”此頁面正在處理中“。下面來看看FilterConfig的簡(jiǎn)單例子。

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

以下是這個(gè)項(xiàng)目中的幾個(gè)主要的代碼文件。在這里創(chuàng)建了4個(gè)文件:

  • index.html - 應(yīng)用程序入口
  • MyFilter.java - 過濾器實(shí)現(xiàn)
  • HelloServlet.java - 一個(gè)簡(jiǎn)單的Servlet
  • web.xml - 項(xiàng)目部署配置文件

下面是這幾個(gè)文件的具體代碼。

文件:index.html -

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>FilterConfig配置應(yīng)用示例</title>
</head>
<body>
    <div style="text-align: center;">
        <a href="servlet1">查看Filter配置信息</a>
    </div>
</body>
</html>

文件:MyFilter.java -

package com.yiibai;

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

import javax.servlet.*;

public class MyFilter implements Filter {

    FilterConfig config;

    public void init(FilterConfig config) throws ServletException {
        this.config = config;
    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
            throws IOException, ServletException {
        resp.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=UTF-8");
        req.setCharacterEncoding("UTF-8");
        PrintWriter out = resp.getWriter();

        String s = config.getInitParameter("construction");

        if (s.equals("yes")) {
            out.print("此頁面正在處理中");
        } else {
            chain.doFilter(req, resp);// sends request to next resource
        }
    }

    public void destroy() {
    }
}

文件:HelloServlet.java -

package com.yiibai;

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

import javax.servlet.ServletException;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        request.setCharacterEncoding("UTF-8");
        PrintWriter out = response.getWriter();

        out.print("<br>welcome to servlet<br>");

    }

}

文件:web.xml -

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    <display-name>FilterConfig</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.yiibai.HelloServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/servlet1</url-pattern>
    </servlet-mapping>

    <filter>
        <filter-name>f1</filter-name>
        <filter-class>com.yiibai.MyFilter</filter-class>
        <init-param>
            <param-name>construction</param-name>
            <param-value>yes</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>f1</filter-name>
        <url-pattern>/servlet1</url-pattern>
    </filter-mapping>
</web-app>

在編寫上面代碼后,部署此Web應(yīng)用程序(在項(xiàng)目名稱上點(diǎn)擊右鍵->”Run On Server…”),打開瀏覽器訪問URL: http://localhost:8080/FilterConfig/ ,如果沒有錯(cuò)誤,應(yīng)該會(huì)看到以下結(jié)果 -

點(diǎn)擊頁面中的鏈接,應(yīng)該會(huì)看到以下結(jié)果 -


上一篇:Servlet過慮器下一篇:Servlet API