b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

filterconfig struts2执行流程(7)

电脑杂谈  发布时间:2018-02-15 05:13:20  来源:网络整理

Dispatcher可以用来初始化一系列的配置文件,并且是按序加载。

request = prepare.wrapRequest(request);

wrapRequest方法的源码如下:

public HttpServletRequest wrapRequest(HttpServletRequest oldRequest) throws ServletException {
    HttpServletRequest request = oldRequest;
    try {
        // Wrap request first, just in case it is multipart/form-data
        // 为了防止这个请求是一个multipart/form-data(上传文件)类型的请求
        // parameters might not be accessible through before encoding (ww-1278)
        // 因为这种类型请求的参数如果不经过处理可能获取不到
        request = dispatcher.wrapRequest(request, servletContext);
    } catch (IOException e) {
        throw new ServletException("Could not wrap servlet request with MultipartRequestWrapper!", e);
    }
    return request;
}

为了防止这个请求是一个multipart/form-data(上传文件)类型的请求,将它包装一下。因为这种类型请求的参数如果不经过处理可能获取不到。filterconfig继续进入dispatcher.wrapRequest的源码中:

public HttpServletRequest wrapRequest(HttpServletRequest request, ServletContext servletContext) throws IOException {
    // don't wrap more than once
    // 只包装一次
    if (request instanceof StrutsRequestWrapper) {
        return request;
    }

    String content_type = request.getContentType();
    // 如果请求类型不为空并且是multipart/form-data类型的请求,那么就包装一下
    if (content_type != null && content_type.contains("multipart/form-data")) {
        MultiPartRequest mpr = getMultiPartRequest();
        LocaleProvider provider = getContainer().getInstance(LocaleProvider.class);
        request = new MultiPartRequestWrapper(mpr, request, getSaveDir(servletContext), provider);
    } else {
        request = new StrutsRequestWrapper(request, disableRequestAttributeValueStackLookup);
    }

    return request;
}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-78438-7.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...