1. 程式人生 > >Servlet 過濾器兩種配置方法

Servlet 過濾器兩種配置方法

Servlet

過濾器兩種配置方法

方法一(註解)

/**
* 使用註解標註過濾器
* @WebFilter將一個實現了javax.servlet.Filte介面的類定義為過濾器
* 屬性filterName宣告過濾器的名稱,可選
* 屬性urlPatterns指定要過濾 的URL模式,也可使用屬性value來宣告.(指定要過濾的URL模式是必選屬性)
*/
@WebFilter(filterName="TestFilter",urlPatterns="*.action")
或
@WebFilter(dispatcherTypes = { DispatcherType.REQUEST, DispatcherType.FORWARD }, urlPatterns = { "*.action" })

方法二(配置web.xml檔案)

<filter>
    <filter-name>loginFilter</filter-name>
    <filter-class>cn.edu.njit.filter.LoginFilter</filter-class>
    <init-param>
        <param-name>loginUI</param-name>
        <param-value>/home/loginUI</param-value>
    </init-param>
    <init-param>
        <param-name>loginProcess</param-name>
        <param-value>home/login</param-value>
    </init-param>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>loginFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

例:Servlet3.0 以上註解式配置方法

package com.tunny.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;

// Servlet3.0 以上註解式配置方法
@WebFilter(filterName="EncodingFilter",urlPatterns="*.action")
public class EncodingFilter implements Filter{

    public void destroy() {

    }

    // 主要的業務邏輯都寫在此方法中
    public void doFilter(ServletRequest req, ServletResponse resp,
            FilterChain chain) throws IOException, ServletException {
        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=UTF-8");
        System.out.println("過濾器幫你轉換碼完畢");
        chain.doFilter(req, resp);  // 放行或者向後繼續執行 
    }

    public void init(FilterConfig config) throws ServletException {

    }

}

Listener監聽器

// session="false"  關閉session
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" session="false" %>

相關推薦

Servlet 過濾器配置方法

Servlet 過濾器兩種配置方法 方法一(註解) /** * 使用註解標註過濾器 * @WebFilter將一個實現了javax.servlet.Filte介面的類定義為過濾器 * 屬性filt

PPP的配置方法(pap和chap)

pap chapPAP的配置R1上的配置[R1]int s4/0/0[R1-Serial4/0/0]ppp authentication-mode pap[R1-Serial4/0/0]q[R1]aaa[R1-aaa]local-user huawei password cipher 123456Info:

Servlet配置方式

在Servlet2.5規範之前,Java Web應用的絕大部分元件都通過web.xml檔案來配置管理,Servlet3.0規範可通過Annotation來配置管理Web元件,因此web.xml檔案可以變得更加簡潔,這也是Servlet3.0的重要簡化。 兩種方式 (1),通

VisualVM遠端監控配置方法介紹

今天介紹一下Java程式遠端監控工具。Java從最開始推出,核心特點就是物件自動收集機制,讓程式設計師不需要像C++時代要進行配對物件書寫。 但是,時至今日,我們依然能夠看到很多Java程式執行一段時間之後,丟擲StackOverFlow和OutOfMemory等錯誤

Spring 通過工廠方法配置bean

在Spring框架中建立Bean例項的時候中, 我們通常會利用配置檔案,也就是XML檔案形式 或者 annotation註解方式來配置bean. 在第一種利用配置檔案方式中, 還包括如下三小類 1、反射模式 2、工廠方法模式(本文重點) 3、Factory Be

配置Servlet的IP地址對映:1註解、2配置檔案

1.建立專案 建立 servlet_test 動態web專案。 建立時點選 next, 勾選如下: 2.建立 test.java類 test.java 內容: 第一種:註解 – 設定IP地址對映

python環境配置過程中提示api-ms-win-crt-runtime-l1-1-0.dll丟失的解決方法

一、問題描述win7 64位下api-ms-win-crt-runtime-l1-1-0.dll 丟失提醒二、解決問題api-ms-win-crt-runtime-l1-1-0.dll:下載地址方法:把

Servlet非常常用的呼叫方法

       剛學習JavaWeb,作為一個新手,做了一個小的查閱修改刪除的圖書管理系統,在做的時候發現一個困擾已久的一個問題,那就是實現功能的時候對servlet的呼叫非常重要。      通過網上的大量總結和實際應用的需要,我總結為一下兩個方法尤其重要和實用:第一個就是用

form表單提交到servlet方法

 form表單提交到servlet的兩種方法:第一種方法: 1. 用於登入的jsp頁面有一個form表單用於提交使用者名稱和密碼 2. 建立一個名為LoginServlet的Servlet,下面是doGet與doPost部分 3. 配置web.xml,這是

javaWeb基礎之Servlet的三實現方式以及配置方式

一、Servlet的三種實現方式 Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程式或服務聯結器,用Java編寫的伺服器端程式,主要功能在於互動式地瀏覽和修改資料,生成動態Web內容。 1、Servlet的第一種建立方式:繼承Ht

線程的睡眠方法&ANR(進程/服務無響應)

時間 運行 睡眠 tro 執行 方法 如果 服務 一段 1 method1: try { 2 Thread.sleep(3000); 3 } catch (InterruptedException e) { 4

配置adpater的方式

and adapt source ada ray har spin cad layout 第一種:資源文件配置 ArrayAdapter<CharSequence> cadapt=ArrayAdapter.createFromResource(this, 資源i

android縮放動畫的實現方法

get odi omx rac tor Coding eight rpo odin 在android開發。我們會常常使用到縮放動畫,普通情況下縮放動畫有兩種實現方式。一種是直接通過java代碼去實現,第二種是通過配置文件實現動畫,以下是兩種動畫的基本是用法: Ja

記錄下log4j的配置方式

ole num div resolv ade true uil data- range XML文件配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configur

mysql遠程連接失敗的解決方法

mysql password upd leg .cn 權限 連接 每次 ddr ---恢復內容開始--- (這是轉載別人的,因為我覺得很有用,每次都是參考這個的第二種方法解決的,不管你聽不聽得到,先說聲謝謝!也記下來方便大家看看) mysql解決遠程不能訪問的二種方法,需要

【漏洞預警】CVE-2017-8464 震網三代漏洞復現(利用方法

art cal mage http test ip地址 get for oot 早在6月13日,微軟發布補丁修復編號為CVE-2017-8464的漏洞,本地用戶或遠程攻擊者可以利用該漏洞生成特制的快捷方式,並通過可移動設備或者遠程共享的方式導致遠程代碼執行,追溯到以前,NS

js實現菲波那切數列的常用方法

res alert 定義 面向 div ret 如果 clas cti 菲波那切數列即:1 1 2 3 5 8......,後面的數字是前面兩個數字的和,並且第一個,第二個數字都是1,用js實現 的兩種方法,一種通過常用的遞歸調用,第二種不通過遞歸,而是通過強大的閉包實現。

BZOJ 2101 [Usaco2010 Dec]Treasure Chest 藏寶箱:區間dp 博弈【表示方法】【壓維】

space print 而且 problem 所有 php 一條直線 題解 bzoj 題目鏈接:http://www.lydsy.com/JudgeOnline/problem.php?id=2101 題意:   共有n枚金幣,第i枚金幣的價值是w[i]。   把金幣排成一

java框架篇---spring aop配置方式

system 操作類 asp xml文件 ack ica one pack exc 第一種:註解配置AOP 註解配置AOP(使用 AspectJ 類庫實現的),大致分為三步: 1. 使用註解@Aspect來定義一個切面,在切面中定義切入點(@Pointcut),通知類型(@

MySQL數據庫root賬戶密碼忘記處理方法(保有效)

mysql mysq 密碼忘記 方法1:1.停止MySQL服務# kill `cat /var/run/mysqld/mysqld.pid`或者# pkill mysqld2.創建一個密碼賦值語句的文本文件# vi mysql-init ALTER USER ‘root‘@‘localhost‘