GenericServlet抽象類以及過濾器

GenericServlet抽象類
提供了Servlet與ServletConfig接口默認的實現方法
GenericServlet常用方法

HttpServlet繼承於GenericServlet
用來處理HTTP協議的請求和響應
HttpServlet的方法
Servlet初始化參數配置
配置Servlet上下文
HttpServletRequest類常用方法

HttpServletResponset類常用方法

RequestDispatcher類
作用:實現請求轉發

使用步驟如下:
什麼是過濾器
過濾器運行在服務器端
過濾器必須實現Servlet API中的Filter接口
Filter通常可用於以下幾種情況:
1.認證
2.記錄訪問日至
3.加密解密
4.字符編碼轉換
5.數據壓縮

過濾器示意圖:


字符編碼過濾器小例子:
package com.zgq.filter;

import java.io.IOException;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
/**
 * 編碼過濾器
 * @author Administrator
 *
 */
//@WebFilter(value="/*",initParams={@WebInitParam(name="encoding",value="utf-8")})
public class CharacterFilter implements Filter {

private String encoding;

/**
* 初始化
*/
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println("字符編碼過濾器啓動...");
encoding=filterConfig.getInitParameter("encoding");
}


/**
* 過濾功能
*/
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
//設置請求編碼格式
request.setCharacterEncoding(encoding);
//設置響應編碼格式
response.setContentType("text/html;charset="+encoding);
response.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}

/**
* 銷燬
*/
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("字符編碼過濾器結束...");
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章