ControllMappings.dml设置了一个过滤器,过滤器的Java实现代码如下。
代码路径:src\main\java\org\xworker\web\LogFilter.java。其中create(ActionContext actionContext)静态方法是模型调用的,用于创建Java对象实例。
package org.xworker.web;
import org.xmeta.ActionContext;
import xworker.lang.executor.Executor;
import xworker.lang.util.path.PathResult;
import xworker.web.servlet.*;
import java.io.IOException;
import java.util.Enumeration;
public class LogFilter implements Filter {
private static final String TAG = LogFilter.class.getName();
@Override
public void doFilter(PathResult<?> pathResult, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws IOException, ServletException {
Executor.info(TAG, "Request: " + httpServletRequest.getRequestURI());
Executor.info(TAG, "Content-Type: " + httpServletRequest.getContentType());
Enumeration<String> headerNames = httpServletRequest.getHeaderNames();
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
Executor.info(TAG, "Header:" + name + "=" + httpServletRequest.getHeader(name));
}
filterChain.doFilter(pathResult, httpServletRequest, httpServletResponse);
Executor.info(TAG, "Response: Content-Type: " + httpServletResponse.getContentType());
}
//org.xworker.ControllMappings/@LogFilter/@actions/@createFilter
public static LogFilter create(ActionContext actionContext) {
return new LogFilter();
}
}
Copyright © 2007-2019 XWorker.org 版权所有 沪ICP备08000575号