⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileuploadfilter.java

📁 intra_mart是日本NDD公司开发的著名企业应用解决方案中间件。集成了J2ee服务器
💻 JAVA
字号:
/*
 * FileUploadFilter.java
 *
 * Created on 2002/08/09, 22:51
 */

package jp.co.intra_mart.framework.base.service;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import java.io.IOException;
import javax.servlet.ServletException;

/**
 * 僼傽僀儖傾僢僾儘乕僪梡偵儕僋僄僗僩傪曄姺偡傞僼傿儖僞偱偡丅
 * 偙偺僼傿儖僞偼庴偗庢偭偨儕僋僄僗僩偑埲壓偺忦審傪偡傋偰枮偨偡応崌偵{@link ServiceControllerAdapter#getEntity(String)}偱傾僢僾儘乕僪偝傟偨撪梕偑庢摼偱偒傞傛偆偵偟傑偡丅<BR>
 * <UI>
 * <LI>儊僜僢僪偑&quot;POST&quot;偱偁傞
 * <LI>ContentType偑&quot;multipart/form-data&quot;偱偁傞
 * </UI>
 *
 * @author INTRAMART
 * @since 3.2
 */
public class FileUploadFilter implements Filter {

    /**
     * FilterConfig
     */
    private FilterConfig filterConfig;

    /**
     * 僼傽僀儖傾僢僾儘乕僪梡偺僼傿儖僞傪弶婜壔偟傑偡丅
     *
     * @param filterConfig FilterConfig
     * @throws ServletException 僼傿儖僞撪偱椺奜偑敪惗
     */
    public void init(FilterConfig filterConfig) throws ServletException {
        this.filterConfig = filterConfig;
    }

    /**
     * 儕僋僄僗僩偺撪梕偑僼傽僀儖傾僢僾儘乕僪傪娷傓偐偳偆偐偵傛偭偰儕僋僄僗僩傪慖戰偟傑偡丅
     *
     * @param servletRequest 儕僋僄僗僩
     * @param servletResponse 儗僗億儞僗
     * @param filterChain 僼傿儖僞
     * @throws IOException 僼傿儖僞張棟幚峴帪偵IOException偑敪惗
     * @throws ServletException 僼傿儖僞張棟幚峴帪偵ServletException偑敪惗
     */
    public void doFilter(
        ServletRequest servletRequest,
        ServletResponse servletResponse,
        FilterChain filterChain)
        throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest)servletRequest;
        HttpServletRequest nextRequest = null;
        if (request.getMethod().toLowerCase().equals("post")
            && request.getContentType().toLowerCase().startsWith(
                "multipart/form-data")) {
            try {
                nextRequest = new FileUploadRequest(request);
            } catch (IllegalArgumentException e) {
                throw new ServletException(e.getMessage(), e);
            }
        } else {
            nextRequest = request;
        }
        filterChain.doFilter(nextRequest, servletResponse);
    }

    /**
     * 僼傿儖僞傪攋婞偟傑偡丅
     */
    public void destroy() {
        this.filterConfig = null;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -