`

修改JSPsmartUpload组件实现无中文乱码上传下载

阅读更多

使用JSPsmartUpload组件上传文件,文件名出现中文字符,下载文件,文件名出现中文字符,都会导致文件名在浏览器出现乱码,自己修改了JSPsmartUpload组件原文件,编译打包成.jar文件。

使用说明:

 

一、解决上传出现乱码问题

  1. 我的WEB项目编码一致为“GBK”,为WEB项目编写一个编码过滤器
    package com.model.filter;
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.Filter;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.http.HttpServletRequest;
    
    public class CharacterEncodingFilter implements Filter {
    
        private FilterConfig config;
        private String encoding = "UTF-8";
    
        public void init(FilterConfig config) {
            this.config = config;
            String encoding = config.getInitParameter("encoding");
            if (encoding != null) {
                this.encoding = encoding;
                System.out.println("获取编码成功!!");
            } else {
                System.out.println("无法获取编码,采用默认的UTF-8");
            }
        }
    
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
            try {
                HttpServletRequest hrequest = (HttpServletRequest) request;
                hrequest.setCharacterEncoding(this.encoding);
            } catch (UnsupportedEncodingException ex) {
                Logger.getLogger(CharacterEncodingFilter.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                chain.doFilter(request, response);
            } catch (IOException ex) {
                Logger.getLogger(CharacterEncodingFilter.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ServletException ex) {
                Logger.getLogger(CharacterEncodingFilter.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    
        public void destroy() {
        }
    }
     
  2. 过滤器在XML配置文件里需要注册,如下:
        <filter>
            <filter-name>CharacterEncodingFilter</filter-name>
            <filter-class>com.model.filter.CharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>gb2312</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>CharacterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
     
  3. 在JSP上传页面,编码设置为“GBK”
    <%-- 
        Document   : upload
        Created on : 2010-8-5, 18:36:04
        Author     : Gavin
    --%>
    
    <%@page contentType="text/html" pageEncoding="gb2312"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
            <title>JSP Page</title>
        </head>
        <body>
            <h1 align="center">Test File Upload</h1>
            <p>
            <form action="upload" enctype="multipart/form-data" name="uploadform" method="post" >
                文件路径1:<br>
                <input type="file" name="file1" size="60" /><br>
                <textarea rows="5" cols="69" name="fileinfo1"></textarea><br>
                <input type="file" name="file2" size="60" /><br>
                <textarea rows="5" cols="69" name="fileinfo2"></textarea><br>
                <input type="submit" value="提交" >&nbsp;&nbsp;
                <input type="reset" value="重置">
            </form>
        </body>
    </html>
     

二、在JSPsmartUpload组件中增加下载编码,具体过程不再赘述,提供修改编译打包的.jar文件,可直接使用。

0
0
分享到:
评论

相关推荐

    jspSmartUpload组件(已解决中文乱码问题)

    综上所述,`jspSmartUpload`组件的中文乱码问题的解决,展示了在跨语言环境下处理字符编码的重要性,以及对源代码进行定制化修改以适应特定需求的必要性。对于Java Web开发者来说,理解和掌握这些知识点对于构建健壮...

    jspsmartupload上传组件解决中文标题乱码

    jspsmart上传组件,解决中文标题乱码,已修改源码为utf-8

    jsp SmartUpload 中文乱码问题解决.docx

    jsp SmartUpload 中文乱码问题解决是指在使用 jsp 的 SmartUpload 组件进行文件上传下载时,遇到中文乱码问题的解决方法。在这篇文章中,我们将介绍如何解决 jsp 中 SmartUpload 中文乱码问题。 一、上传 在使用 ...

    jspSmartUpload组件(支持中文)

    总之,jspSmartUpload组件是Java Web开发中的一个重要工具,通过其修改版,开发者可以方便地处理包含中文字符的文件上传和下载任务,大大提升了用户体验。了解并熟练运用这个组件,能够使你在处理文件交互时更加...

    jspSmartUpload使用详解(上传下载组件)

    2. **解决下载时的中文乱码问题**:jspSmartUpload组件能够处理下载过程中可能出现的中文文件名乱码问题。如果遇到下载jspsmartupload.jar文件的问题,用户可以选择自行将解决乱码问题的代码嵌入到JSP文件中。 **...

    JspSmartUpLoad支持中文jar包和源码

    在**使用说明.txt** 文件中,应该详细记录了如何配置和使用JspSmartUpload组件的步骤,包括引入jar包、配置web.xml、编写上传处理代码等。遵循这些说明,开发者能够快速上手,避免在实际应用中遇到问题。 在实际...

    jspSmartUpload上传下载组件(修改)

    `jspSmartUpload` 是一个基于Java的上传下载组件,它为Web应用提供...通过这样的修改,`jspSmartUpload` 组件将能够更好地支持包含中文字符的文件名,提高其在多语言环境下的适用性,为用户带来更优质的上传下载体验。

    smartupload组件

    总的来说,SmartUpload组件的修改版专注于解决UTF-8和中文乱码问题,为开发者提供了更稳定可靠的文件上传解决方案,尤其是在处理多语言环境下的Web应用时。正确理解和使用这些组件,有助于避免编码相关的错误,提升...

    jspsmartupload上传下载,已修改过源代码!

    觉得是jspSmartUpload组件对中文支持不足的问题。 http://ru-yi86.javaeye.com/blog/368553 Java代码 1. public void upload() 2. throws SmartUploadException, IOException, ServletException 3. { 4. ...

    jspSmartUpload上传下载全攻略 (解决中文问题和小于64K文件问题)

    一、jspSmartUpload组件介绍 jspSmartUpload是由Kralicek公司开发的一个强大的文件上传组件,它基于Servlet技术,支持多文件上传、进度条显示、断点续传等功能。通过简单的API,开发者可以轻松地集成到自己的JSP...

    jsp SmartUpload 中文乱码问题解决

    在使用jspSmartUpload组件进行文件上传或下载的过程中,如果文件名或文件路径中包含中文字符,可能会遇到中文乱码的问题。出现这种情况的原因通常是因为服务器端和客户端所使用的字符集编码不一致。在处理中文字符时...

    jspSmartUpload可设置编码格式版本,附带源码

    `jspSmartUpload`是一个基于Java的文件上传组件,它简化了在JSP中处理文件上传的过程。通过这个组件,用户可以在网页上选择文件并上传到服务器,同时处理各种上传相关的事务,如文件大小限制、文件类型检查等。此次...

    smartUpload上传文件包修改后解决中文乱码

    本文将深入探讨SmartUpload上传文件时如何解决中文乱码的问题。 首先,我们要理解乱码产生的原因。在计算机系统中,不同的文件系统和编程语言可能使用不同的字符编码标准,如ASCII、GBK、UTF-8等。如果在读取或写入...

    jspsmartupload支持UTF-8版本

    **JSPSmartUpload** 是一个基于Java的上传组件,它为JSP(JavaServer Pages)提供了强大的文件上传功能。在Web开发中,处理文件上传是一个常见的需求,JSPSmartUpload就是为了简化这一过程而设计的。它支持多文件...

    jsp Smart Upload.txt

    1. **下载源码包**:从官方网站www.jspsmart.com下载`jspSmartUpload.zip`。 2. **解压缩**:使用WinZip或WinRAR等工具解压`jspSmartUpload.zip`到Tomcat的`webapps`目录。 3. **目录结构**:确保解压后的`webapps/...

    jspsmart实现文件上传下载及jspSmartUploadjar下载文库.pdf

    1. **jspsmart与SmartUpload**: `jspSmart` 是一个基于Java的文件上传和下载组件,主要用于JSP(Java Server Pages)应用中处理文件上传和下载的功能。`SmartUpload` 是该组件的核心类,提供了一系列方法来处理文件...

    myeclipse工作环境下的简单的jsp管理员登陆模块上传下载模块

    在这个"myeclipse工作环境下的简单的jsp管理员登陆模块上传下载模块"项目中,我们重点关注的是两个核心功能:管理员登录模块和文件上传下载模块。下面将详细阐述这两个模块的实现及其关键知识点。 1. **管理员登录...

    jspmartupload两种编码

    `JSPSmartUpload` 是一个在Java Web开发中广泛使用的文件上传组件,它允许用户方便地在网页上实现文件上传功能。这个组件在处理文件上传时提供了两种编码方式,分别是GBK和UTF-8,以适应不同环境和语言的需求。 **...

Global site tag (gtag.js) - Google Analytics