filecapturefilter.java

来自「java生成图形验证码源代码」· Java 代码 · 共 53 行

JAVA
53
字号
/**
 * 
 */
package com.filter;

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

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.http.HttpServletResponse;

/**
 * @author Administrator
 * 
 */
public class FileCaptureFilter implements Filter {
   private static final String CONTENT_TYPE = "text/html; charset=GBK";
	private String protDirPath;

	public void init(FilterConfig filterConfig) throws ServletException {
		protDirPath = filterConfig.getServletContext().getRealPath("/");
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		  response.setContentType(CONTENT_TYPE);
		String fileName = protDirPath + "forum/lastest.html";
       
		PrintWriter out = response.getWriter();
		FileCaptureResponseWrapper responseWrapper = new FileCaptureResponseWrapper(
				(HttpServletResponse) response);
		chain.doFilter(request, responseWrapper);
		// fill responseWrapper up
		String html = responseWrapper.toString();
		System.out.println(html);
		// 得到的html 页面结果字符串
		responseWrapper.writeFile(fileName);
		// dump the contents 写成html 文件,也可以保存在内存
		responseWrapper.writeResponse(out);
		// back to browser
		// responseWrapper.sendRedirect("lastestThread.jsp");
	}

	public void destroy() {
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?