1. 程式人生 > >Servlet Filter 過濾器 訪問 基礎實驗程式碼-1

Servlet Filter 過濾器 訪問 基礎實驗程式碼-1

index.jsp 程式碼:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>人數統計</title>
</head>
<body>
<h2>
歡迎光臨,<br>
您是本站的第【 
<%=application.getAttribute("count") %>
】位訪客!
</h2>
</body>
</html>

--------------------------------

CountFilter.java  程式碼:

package com.lyq;


import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
/**
 * ͳ�ƹ�����
 * @author Li YongQiang
 */
public class CountFilter implements Filter {
// ��������
private int count;

@Override
public void init(FilterConfig filterConfig) throws ServletException {
// ��ȡ��ʼ������
String param = filterConfig.getInitParameter("count");
// ���ַ���ת��Ϊint
count = Integer.valueOf(param);
}


@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// ������������
count ++;
// ��ServletRequestת����HttpServletRequest
HttpServletRequest req = (HttpServletRequest) request;
// ��ȡServletContext
ServletContext context = req.getSession().getServletContext();
// ����������ֵ���뵽ServletContext��
context.setAttribute("count", count);
// ���´��ݹ�����
chain.doFilter(request, response);
}


@Override
public void destroy() {


}
}

-------------------------------

ServletFilter.java  程式碼:

package com.lyq;


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;
import javax.servlet.http.HttpServletRequest;


/**
 * Servlet Filter implementation class ServletFilter
 */
@WebFilter("/ServletFilter")
public class ServletFilter implements Filter {


private String name;
    public ServletFilter() {
        // TODO Auto-generated constructor stub
    }


/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}


/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here


// pass the request along the filter chain

HttpServletRequest req = (HttpServletRequest) request;
String reqname = req.getParameter("name");
System.out.println("reqname:+"+reqname);
if(name.equals(reqname))
{
chain.doFilter(request, response);
}

}


/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
name = fConfig.getInitParameter("name");


}


}

-------------------------------------

RunServlet.java  程式碼:

package com.lyq;


import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * Servlet implementation class servletservser
 */
@WebServlet("/servletservser")
public class RunServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public RunServlet() {
        super();
        // TODO Auto-generated constructor stub
    }


/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());

 System.out.println("servlet is running");
}


/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}


}

-------------------------------

web 程式碼:

<?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>testFilter</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
    <filter-name>CountFilter</filter-name>
    <filter-class>com.lyq.CountFilter</filter-class>
    <init-param>
      <param-name>count</param-name>
      <param-value>5000</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CountFilter</filter-name>
    <url-pattern>/index.jsp</url-pattern>
  </filter-mapping>
  
  
   <filter>
    <filter-name>ServletFilter</filter-name>
    <filter-class>com.lyq.ServletFilter</filter-class>
  <init-param>
      <param-name>name</param-name>
      <param-value>22</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>ServletFilter</filter-name>
    <url-pattern>/RunServlet</url-pattern>
  </filter-mapping>
  
  <servlet>
  <servlet-name>RunServlet</servlet-name>
  <servlet-class>com.lyq.RunServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>RunServlet</servlet-name>
  <url-pattern>/RunServlet</url-pattern>
  </servlet-mapping>

</web-app>

個人經驗: 上面的程式碼測試成功。  突破點:自己  設定一個 過濾 servlet的 Filter  哈哈哈  。你要是感興趣  可以測試改進程式碼

  =========================================================

相關參考網址:

https://blog.csdn.net/u010902721/article/details/51673760 https://blog.csdn.net/lip009/article/details/1337730 

=======================================================

相關推薦

Servlet Filter 過濾器 訪問 基礎實驗程式碼-1

index.jsp 程式碼:<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//

Servlet-filter過濾器

Filter的建立過程 實現javax.servlet.Filter介面 實現init方法,讀取過濾器的初始化引數 實現doFilter方法,完成對請求或響應的過濾 呼叫FilterChain介面物件的doFilter方法,向後續的過濾器傳遞請求或響應 實現過濾器 在Servle

基礎實驗1(單臂路由及利用路由器開啟DHCP自動分配IP地址)

單臂路由 路由器dhcp服務應用 子接口封裝協議實驗環境:PT 6.2兩臺PC:PC1/PC2 一臺cisco 2960交換機 一臺2620路由器實驗目的:讓PC1/PC2屬於不同的VLAN,且相互通信。同時自動獲取各自網段IP地址。1、進入2960的配置模式,劃分不同的vlan並將PC1/PC2劃入不同的

Servlet】Java Servet Filter 過濾器

退出方法 efi rlogin file submit ati 姓名 ner lan Filter的設計思想Filter是一種AOP的設計思想 : 面向切面下面這是一個使用filter的登錄案例:我們通過一張圖片理解理解filer面向切面下面是項目的結構:下面是jsp文件:

Servlet過濾器Filter)和監聽器(Listener)

卸載 ons str alt 用戶 監聽 實際應用 .com except 過濾器 過濾器是一個java組件,可以攔截發送至某個servelet,jsp頁面或靜態頁面的請求,可以在響應發送到客戶之前進行攔截 工作原理: 過濾器類必須實現 Filter 接口,包含的方法如下

Filter過濾器(Servlet)

過濾器 一個 rac ini per response 格式 troy set Filter,簡單的說就是用來過濾從客戶端發送到服務器端的信息。 創建Filter的過程: 1.創建一個類實現Filter接口: public class MyFilter implement

centos 6.6 上mysql5.1主從同步基礎實驗

主從同步;mysql linux; 註意本次主從服務器上面均一yum安裝mysql主從安裝mysql shell> yum -y install mysql mysql-server /etc/init.d/mysqld start #初始化數據庫,並啟動數據庫 主服務器上面 添加以下配

CC2530學習路線-基礎實驗-GPIO 控制LED燈亮滅(1)

內部 執行 了解 toc 平時 如果 繼續 技術 發光二極管 目錄 1.前期預備知識 1.1 新大陸ZigBee模塊LED燈電路 1.2 CC2530相關寄存器 1.3 寄存器操作技巧 1.4 CPU空轉延時 1.4 操作流程圖 2.程序代碼 The End 1.前

分享JavaWeb中filter過濾器的案例妙用 - 髒話過濾/編碼過濾/程式碼過濾

  案例1. 利用Servlet的過濾器Filter進行完成髒話過濾 package cn.javabs.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servle

Servlet——Filter過濾器

1. 過濾器 Filter介面中有一個doFilter方法,當我們編寫好Filter,並配置對哪個web資源進行攔截後,WEB伺服器每次在呼叫web資源的service方法之前, 都會先呼叫一下filter的doFilter方法,因此,在該方法內編寫程式碼可達到如下目的: 呼叫目標資源之

SpringBoot定義三大元件Servlet過濾器Filter,監聽器Listener

SpringBoot定義三大元件Servlet,過濾器Filter,監聽器Listener 1.定義元件的配置類: com.example.mybatis2018.config.MyServletConfig package com.example.mybatis2018.config;

sublime中基礎程式碼實現(1

一、計算1——10相加的結果 count = 1 sum = 0 while count <=10: sum += count print(‘第%d次執行,此時sum=%d,count = %d’,%(count,sum,count)) count +=

《程式設計基礎實驗題目1 二維陣列 氣泡排序

題目:編寫函式,對於給定的二維整型陣列,首先對每行從小到大排序,之後對每列從小到大排序;反覆執 行上述排序過程,直到沒有變動為止。注:作為實參的二維整型陣列,每行元素個數不低於 3 且每列 元素個數不低於 4。 演算法分析: 1.      為方便傳遞引數

ffmpeg filter過濾器 基礎例項及全面解析

目錄 1. 什麼是ffmpeg filter? 首先是名字:中文名,就稱為ffmpeg過濾器,當然也有人稱為ffmpeg 濾鏡。(用濾鏡聽起來好像是給video用的,所以不太好,因為audio也可以用) ffmpeg目錄下,有個資料夾叫liba

Java Web筆記 – Servlet中的Filter過濾器的介紹和使用 編寫過濾器

1、過濾器介紹: 在Servlet規範2.3中定義了過濾器,它能夠對Servlet容器的請求和響應物件進行檢查和修改。 Servlet過濾器本身並不生成請求和響應物件,只是提供過濾功能。 Servlet過濾器能夠在Servlet被呼叫之前檢查Request物件,並修改Request Header和R

C語言初學者-基礎的三篇程式碼-1-

C語言初學者-基礎的三篇程式碼-1- 列印100~200間的素數 常用方法- 試除法 - 顧名思義就是一直除看其能否整除,比如要判斷一個自然數x是否是素數,就不斷用這個數x去除以小於x且大於1的自然數,只要有一個能整除,則x就是合數,否則x是素數。 同樣的思想對10

關於servletFilter過濾器解決頁面亂碼問題

標題 ##使用Filter過濾器解決頁面亂碼 servlet中的Filter過濾器是一個挺好的東西,說實話, 前段時間寫velocity的時候,輸出中文時頁面亂碼 兩種解決方法: 第一個,是在velocity的配置檔案寫好輸入輸出編碼格式, 第二個,就

servlet過濾器filter

  <!--配置過濾器A  -->   <filter>     <filter-name>FilterA</filter-name>     <filter-class>com.zhiyou100.crm.filter.FilterA</f

javax.servlet.Filter過濾器的使用

 javax.servlet.Filter 的應用 Filter過濾器的使用本篇文章是介紹javax.servlet包中Filter的幾個功能,一是字元編碼過濾,二是攔截指資料夾中的檔案,實現登入驗證.實現以上兩個功能需以下幾個步驟:1、實現javax.servlet.Fil

servlet+filter請求轉發、登入、訪問控制

配置檔案 <welcome-file-list> <welcome-file>view/home/index.jsp</welcome-file>