📄 watermarkfilter.java
字号:
package net.javaok.framework.filter;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
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.HttpServletRequest;
import net.javaok.framework.util.WaterMark;
public class WaterMarkFilter implements Filter {
FilterConfig config = null;
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
config.getServletContext().log("水印过滤器");
HttpServletRequest req = (HttpServletRequest)request;
//获取请求中的图片路径
String filePath = req.getServletPath();//这是相对路径(并且包括了上下文路径)
String fileRealPath = config.getServletContext().getRealPath(filePath);//得到绝对路径
//调用工具类加水印(由于是动态从流中加水印,因此不会修改服务器上原图片)
WaterMark.pressText("北大青鸟-侯明强",fileRealPath,"黑体",Font.BOLD,Color.red.getRed(),40, 350, 10, response.getOutputStream());
filterChain.doFilter(request, response);
}
@Override
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -