您的位置:首页 > Web前端 > JavaScript

jsp页面静态化核心代码

2017-08-03 10:47 323 查看
package com.home.utils.filter;

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

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;

/**
* 获取responseBody数据工具类
* @author liu
* @since 2017年8月3日 上午9:19:26
*
*/
public class ResponseWrapper extends HttpServletResponseWrapper {
private PrintWriter cachedWriter;
private CharArrayWriter bufferedWriter;

public ResponseWrapper(HttpServletResponse response) throws IOException {
super(response);
bufferedWriter = new CharArrayWriter();
cachedWriter = new PrintWriter(bufferedWriter);
}

public PrintWriter getWriter() throws IOException {
return cachedWriter;
}

public String getResult() {
byte[] bytes = bufferedWriter.toString().getBytes();
try {
return new String(bytes, "GBK");
} catch (Exception e) {
return "";
}
}

}


过滤器代码:

package com.home.utils.filter;

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;

public class HtmlFilter implements Filter {

@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub

}

@Override
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {

HttpServletResponse response = (HttpServletResponse) resp;
ResponseWrapper mr = new ResponseWrapper(response);

chain.doFilter(req, mr);

PrintWriter out = resp.getWriter();
try {
String result = mr.getResult();
System.out.println(result);
out.write(result);
} catch (Exception e) {
e.printStackTrace();
} finally {
out.flush();
out.close();
}

}

@Override
public void destroy() {
// TODO Auto-generated method stub

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: