📄 genericrequestwrapper.java
字号:
package jwadbook.filter;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.ServletInputStream;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.http.HttpServletRequestWrapper;import javax.servlet.http.*;import java.io.*;import java.util.*;public class GenericRequestWrapper extends HttpServletRequestWrapper{ private ByteArrayInputStream instream; private int contentLength; private String contentType; private Hashtable pratable = new Hashtable(); private boolean logToFile = true; private String logFileName = "../logs/filterwapper.out"; private FileOutputStream logFileOut=null; public GenericRequestWrapper(HttpServletRequest request) { super(request); //instream=new ByteArrayInputStream(); } public String getParameter(String name) { return (String)pratable.get(name); } public Map getParameterMap() { return pratable; } public Enumeration getParameterNames() { return pratable.keys(); } public String[] getParameterValues(String name) { log("Get ParameterValue:"+ name); String[] value = new String[1]; value[0]= (String)pratable.get(name); log("Value Got: "+ value[0]); return value; } public void setParameterValue(String parameter, String value) { log("Set Parameter:"+parameter+" Value:"+ value); if (pratable.containsKey(parameter)) { pratable.remove(parameter); } pratable.put(parameter, value); } /*********************************************************** * Log a message to the servlet context application log. * * @param message Message to be logged **********************************************************/ protected void log(String message) { try { if ( logToFile==true ) { if ( logFileOut == null ) { logFileOut = new FileOutputStream( logFileName ); } logFileOut.write( ("Request Wrapper: " + message).getBytes()); logFileOut.write ( "\n".getBytes()); } System.out.println("Request Wrapper: " + message); } catch (Exception e ) { System.out.println("Exception occured : " + e ); } } /******************************************************************* * Log a message and associated exception to the servlet context * application log. * * @param message Message to be logged * @param throwable Exception to be logged ******************************************************************/ protected void log(String message, Throwable throwable) { try { if ( logToFile==true ) { if ( logFileOut == null ) { logFileOut = new FileOutputStream( logFileName, true ); } logFileOut.write( ("Request Wrapper: " + message).getBytes() ); logFileOut.write ( "\n".getBytes() ); } System.out.println("Request Wrapper: " + message); throwable.printStackTrace(System.out); } catch (Exception e ) { System.out.println("Exception occured : " + e ); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -