📄 addcapitalletterfilter.java
字号:
package jwadbook.filter;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import java.io.*;import java.util.Date;import java.awt.*;import com.sun.image.codec.jpeg.JPEGImageEncoder;import java.awt.image.BufferedImage;/** * * @author Jian (James) Cai */public class AddCapitalLetterFilter implements Filter{ public void init(final FilterConfig filterConfig) { } public void destroy() { } public AddCapitalLetterFilter() { } public void doFilter(final ServletRequest request, final ServletResponse response, FilterChain chain) throws java.io.IOException, javax.servlet.ServletException { String message = "Filtered !"; GenericResponseWrapper wrapper = new GenericResponseWrapper((HttpServletResponse)response); chain.doFilter(request, wrapper); ServletOutputStream out = response.getOutputStream(); //message = getFilterConfig().getInitParameter("message"); ByteArrayOutputStream respStream = manipulateResp(wrapper.output()); response.setContentType("text/html"); out.write(respStream.toByteArray()); out.println("<p><p>"); out.println(" <FONT COLOR='#009999' SIZE='4' face='Arial'> "); out.println(" <STRONG>This table is generated from the AddCapitalLetterFilter</STRONG> "); out.println(" </FONT> "); out.println(" <HR> "); out.println(" <H2></H2> "); out.println("<CENTER>"); out.println ( "<TABLE Border=1 BGCOLOR=WHITE> "); out.println("<TR BGCOLOR='#99cee6'> <TH> The content before this table should be all capital</TH> </TR> "); out.println("<tr>"); out.println("<td>Author:</td>"); out.println("<td>James</td>"); out.println("</tr>"); out.println("</TABLE>"); out.println("</CENTER>"); out.println("</BODY>"); out.println("</HTML>"); out.flush(); out.close(); } public ByteArrayOutputStream manipulateResp(byte[] respData) throws ServletException { //change every character in the response to higher case int i; int o; char a='a'; char A='A'; int diff = A-a; ByteArrayInputStream readStream; ByteArrayOutputStream respStream; respStream = new ByteArrayOutputStream(); try{ readStream = new ByteArrayInputStream(respData); do { i = readStream.read(); //log("get char:"+((char) i)); //log("FilterWEG 125: read readStream"); if (i != -1) { if ( (((char) i)>='a')&&(((char) i)<='z') ) { o= i+diff; respStream.write(o); } else { respStream.write(i); } } } while (i != -1); readStream.close(); } catch (IOException e) { System.out.println("IOExcption:" + e); } return respStream; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -