`
mengdejun
  • 浏览: 410258 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jsp 上传下载源代码

    博客分类:
  • Jav
阅读更多
package org.whvcse.upload.impl;

import java.io.Serializable;

import javax.servlet.http.HttpServletRequest;

/**
* 文 件 名 : jsp文件上传下载<br>
* 
* @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br>
*         文件编号: 20090526<br>
* @version 1.0 <br>
* 日 期: 2009.05.26 <br>
* 
*/
public interface Upload extends Serializable {
/**
* 上传
* @param request HttpServletRequest
* @return 状态信息.
* @throws Exception 运行异常
*/
public boolean upLoad(HttpServletRequest request) throws Exception;
/**
* 释放系统资源.
* @return 析构情况
* @throws Exception 运行异常.
*/
public boolean destory() throws Exception;

public String toString();
/**
* 获得最后一次错误信息
* @return 最后一次错误信息.
*/
public String getLastError();
/**
* 上传,调用前必须先设置HttpServletRequest
* @return 状态信息.
* @throws Exception 运行异常
*/
public boolean upload() throws Exception;
/**
* 启用上传日志 使用玩需调用destory()释放资源
* @param s 日志信息
* @return 
* @throws Exception
*/
public String server(String s) throws Exception;
}

package org.whvcse.upload;

import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Vector;

import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;

import org.whvcse.upload.extend.Toolkit;
import org.whvcse.upload.impl.Upload;

/**
* 文 件 名 : jsp文件上传下载<br>
* 
* @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br>
*         文件编号: 20090526<br>
* @version 1.0 <br>
*          日 期: 2009.05.26 <br>
* 
*/
public class JspUpload implements Upload {
private static final long serialVersionUID = 1L;

private HttpServletRequest request = null;

private BufferedWriter writer = null;

/**
* @see #fileSize 允许上传的文件大小
*/
private long fileSize = 1024;

/**
* @see #fileName 文件名字
*/
private String fileName = null;

/**
* @see #bufferSize 设置缓冲区的大小
*/
private int bufferSize = 128;

/**
* @see #savePath 文件保存的路径
*/
private String savePath = null;

private int t = -1;

/**
* @see #check 文件约束
*/
private String[] check = null;

/**
* @see #encoding 文件编码
*/
private String encoding = "utf-8";

/**
* @see #showErrorMessage 是否显示错误信息
*/
private boolean showErrorMessage = true;

private byte[] buffer = null;

private String seperator = null;

private boolean userDefineName = false;

private String extendname;

private Vector ErrorMessage = null;

private long length = 0;

private boolean isShowLog = false;

public JspUpload() {

}

public JspUpload(String savepath) {
   this.savePath = savepath;
}

public JspUpload(HttpServletRequest request) {
   this.request = request;
}

public JspUpload(HttpServletRequest request, String path) {
   this.request = request;
   this.savePath = path;
}

public boolean isShowLog() {
   return isShowLog;
}

public void setShowLog(boolean isShowLog) {
   this.isShowLog = isShowLog;
   try {
    if (this.isShowLog) 
    {
     writer = new BufferedWriter(new OutputStreamWriter(
       new FileOutputStream(".//upload.log", true), System
         .getProperty("file.encoding")));
    }
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
   }

}

/**
* @deprecated
*/
public boolean destory() throws Exception {
   if (writer != null)
   {
    writer.close();
   }
   return true;
}

public boolean upLoad(HttpServletRequest request) throws Exception {
   boolean status = true;
   if (savePath == null) {
    errorMessage("未设置保存上传文件的路径!");
   }
   /*
   * if (this.fileName == null) { this.fileName = setFileName(); }
   */
   setRequest(request);
   status = execute();
   return status;
}

private void errorMessage(String message) throws Exception {
   if (isShowLog) {
    server("Exception" + message);
   }
   if (showErrorMessage) {
    ErrorMessage = new Vector();
    ErrorMessage.add(message);
    throw new Exception(message);
   }
}

public boolean upload() throws Exception {
   boolean status = true;
   /*
   * if (this.fileName == null) { this.fileName = setFileName(); }
   */
   if (this.request == null) {
    errorMessage(this.request.toString() + "不能为空!");
    return false;
   } else {
    status = execute();
   }
   return status;
}

public String getFileName() {
   return fileName;
}

/**
* 设置上传的文件名,若不设置此项,程序将自动分析文件获得文件名,建议设置<br>
* eg: test.txt
* 
* @param fileName
*            文件名
*/
public void setFileName(String fileName) {
   this.fileName = fileName;
   userDefineName = true;
}

public long getFileSize() {
   return fileSize;
}

/**
* 设置文件允许上传文件大小,默认为1024
* 
* @param fileSize
*            文件大小
*/
public void setFileSize(long fileSize) {
   this.fileSize = fileSize * 1024;
}

public HttpServletRequest getRequest() {
   return request;
}

/**
* 
* @param request
*            HttpServletRequest
*/
public void setRequest(HttpServletRequest request) {
   this.request = request;
}

public String getSavePath() {
   return savePath;
}

/**
* 文件存储路径,必须设置此项.
* 
* @param savePath
*            文件存储路径,必须设置此项.
*/
public void setSavePath(String savePath) {
   this.savePath = savePath;
}

/**
* 
* @return 返回约束数组.
*/
public String[] getCheck() {
   return check;
}

/**
* 为上传文件添加约束,即不允许上传的文件类型<br>
* eg:exe bmp
* 
* @param s
*            存放约束的字符串数组.若连续两次设置此项,将覆盖前一次设置.默认无.
* @return 已有的约束的数目.
*/
public int addCheck(String[] s) {
   if (check == null) {
    check = s;
   }
   return check.length;
}

private boolean execute() throws Exception {
   FileOutputStream out = null;
   boolean status = true;
   try {
    buffer = new byte[bufferSize];
    request.setCharacterEncoding(getEncoding());
    // 获取流对象.
    ServletInputStream in = request.getInputStream();
    // 获取一行标志.
    t = in.readLine(buffer, 0, buffer.length);
    if (t != -1) {
     seperator = new String(buffer, 0, t);
     seperator = seperator.substring(0, 28);
     t = -1;
    }
    // 扩展名.filename="f:\exercise\c++.cpp"
    do {
     t = in.readLine(buffer, 0, buffer.length);
     String s = new String(buffer, 0, t);
     int index = s.indexOf("filename=\"");
     if (index != -1) {
      s = s.substring(index + 10);
      // s=f:\exercise\c++.cpp"
      index = s.indexOf("\"");
      s = s.substring(0, index);
      String temp = s;

      if (!userDefineName) {
       this.fileName = Toolkit.parse(temp, true);
       // setFileName(Toolkit.parse(temp, false));
      }
      // s=f:\exercise\c++.cpp
      index = s.lastIndexOf(".");
      extendname = s.substring(index);
      if (check != null) {
       for (int i = 0; i < check.length; i++) {

        if (extendname.equals("." + check[i])) {
         errorMessage("上传的文件不符合规范,请重新上传!");
         break;
        }
       }
      }
      /*
      * if (!userDefineName) { this.fileName = this.fileName +
      * s.substring(index); // s=.cpp }
      */
      t = -1;
     }
    } while (t != -1);
    int point = this.fileName.lastIndexOf(".");
    if (point != -1) {
     // 读取文件内容.
     out = new FileOutputStream(this.savePath + "\\" + this.fileName);
    } else {
     out = new FileOutputStream(this.savePath + "\\" + this.fileName
       + extendname);
    }
    t = in.readLine(buffer, 0, buffer.length);
    String s = new String(buffer, 0, t);
    int i = s.indexOf("Content-Type:");
    if (i == -1) {
     errorMessage("上传的不是文件");
     status = false;
     return status;
    } else {
     // 去掉一个空行.
     in.readLine(buffer, 0, buffer.length);
     t = -1;
    }
    long trancsize = 0;
    t = in.readLine(buffer, 0, buffer.length);
    while (t != -1) {
     s = new String(buffer, 0, t);
     if (s.length() > 28) {
      s = s.substring(0, 28);
      if (s.equals(seperator)) {
       break;
      }
     }
     if (fileSize != -1) {
      if (trancsize >= (getFileSize())) {
       File f = new File(this.savePath + "\\" + this.fileName
         + extendname);
       f.delete();
       errorMessage("上传文件过大!");
      }
     }
     out.write(buffer, 0, t);
     trancsize += t;
     t = in.readLine(buffer, 0, buffer.length);
    }
    length = trancsize;
   } catch (Exception e) {
    status = false;
    File f = new File(this.savePath + "\\" + this.fileName + extendname);
    f.delete();
    errorMessage(e.getMessage());
   } finally {
    if (status) {
     out.close();
    }
   }
   if (isShowLog) {
    server(request.getRemoteAddr() + " upload " + this.savePath + "\\"
      + this.fileName);
   }
   return status;
}

public boolean isShowErrorMessage() {
   return showErrorMessage;
}

public void setShowErrorMessage(boolean showErrorMessage) {
   this.showErrorMessage = showErrorMessage;
}

public String getEncoding() {
   return encoding;
}

/**
* 设置文件编码,可不设置.
* 
* @param encoding
*            文件编码.
*/
public void setEncoding(String encoding) {
   this.encoding = encoding;
}

/**
* 
* @deprecated 该方法已废弃.
*/
private String setFileName() {
   Calendar dt = Calendar.getInstance();
   String str = "" + dt.get(Calendar.YEAR) + dt.get(Calendar.MONTH)
     + dt.get(Calendar.DAY_OF_MONTH);
   str = str + dt.get(Calendar.HOUR) + dt.get(Calendar.MINUTE)
     + dt.get(Calendar.SECOND);
   return str;
}

public int getBufferSize() {
   return bufferSize;
}

/**
* 设置程序缓冲区的大小.
* 
* @param bufferSize
*            缓冲区大小
*/
public void setBufferSize(int bufferSize) {
   this.bufferSize = bufferSize;
}

public String getLastError() {
   String message = null;
   if (ErrorMessage == null) {
    message = null;
   } else {
    message = (String) ErrorMessage.get(0);
    ErrorMessage.remove(0);
   }
   return message;
}

public String toString() {
   return JspUpload.class.getName();
}

/**
* 
* @return 文件实际大小.KB
*/
public long length() {
   return length / 1024;
}

public String server(String s) throws Exception {
   writer.write(new Date().toString() + " "+s);
   writer.newLine();
   return s;
}

}
package org.whvcse.upload.impl;

import java.io.Serializable;

import javax.servlet.http.HttpServletResponse;

/**
* 文 件 名 : jsp文件上传下载<br>
* 
* @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br>
*         文件编号: 20090526<br>
* @version 1.0 <br>
* 日 期: 2009.05.26 <br>
* 
*/
public interface Download extends Serializable {
/**
* 释放系统资源.
* @return 析构情况
* @throws Exception 运行异常.
*/
public boolean destory() throws Exception;
/**
* 执行下载方法.
* @param response HttpServletResponse
* @return 执行情况
* @throws Exception 运行异常
*/
public boolean download(HttpServletResponse response) throws Exception;
/**
* 获得最后一次错误信息
* @return 最后一次错误信息.
*/
public String getLastError();
/**
* 
* @return 程序名.
*/
public String toString();
/**
* 启用下载日志,若启用日志选项,使用玩需调用destory()释放资源
* @param s 日志信息
* @return
* @throws Exception
*/
public String server(String s) throws Exception;
}

package org.whvcse.download;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Vector;

import javax.servlet.http.HttpServletResponse;

import org.whvcse.upload.extend.Toolkit;
import org.whvcse.upload.extend.Toolkit2;
import org.whvcse.upload.impl.Download;

/**
* 文 件 名 : jsp文件上传下载<br>
* 
* @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br>
*         文件编号: 20090526<br>
* @version 1.0 <br>
*          日 期: 2009.05.26 <br>
* 
*/
public class JspDownload implements Download {
private static final long serialVersionUID = 1L;

/**
* HttpServletResponse
*/
private HttpServletResponse response = null;

/**
* 文件路径
*/
private String filepath = null;

private FileInputStream in = null;

/**
* 文件名
*/
private String fileName = null;

/**
* 文件类型
*/
private String contentType = null;

/**
* 文件大小
*/
private int sendSize = 128;

/**
* 配置文件路径.默认.//config//web.xml 设置Mime类型.
*/
private String configpath = ".//config//web.xml";

private BufferedWriter writer = null;

private boolean showErrorMessage = true;

/**
* 错误信息.
*/
private Vector ErrorMessage = null;

private boolean isShowLog = false;

private boolean isSetConfig = false;

private boolean isShowChinese = false;

public JspDownload() {

}

/**
* 
* @param s
*            配置文件路径,该方法能解析配置文件,根据配置文件初始化各变量.
* @return 配置文件信息。
*/
public String load(String s) {
   return s;
}

public String getConfigpath() {
   return configpath;
}

public void setConfigpath(String configpath) {
   isSetConfig = true;
   this.configpath = configpath;
}

public JspDownload(String filepath, String mime) {
   this.filepath = filepath;
   this.contentType = mime;
}

public boolean isShowChinese() {
   return isShowChinese;
}

public void setShowChinese(boolean isShowChinese) {
   this.isShowChinese = isShowChinese;
}

public JspDownload(HttpServletResponse response) {
   this.response = response;
}

public JspDownload(HttpServletResponse response, String filepath,
    String mime) {
   this.response = response;
   this.filepath = filepath;
   this.contentType = mime;
}

/**
* @deprecated
*/
public boolean destory() throws Exception {

   if (in != null) {
    in.close();
   }
   if (writer != null) {
    writer.close();
   }
   return true;
}

/**
* 下载文件.
*/
public boolean download(HttpServletResponse response) throws Exception {
   if (this.response == null) {
    this.response = response;
   }
   if (this.filepath == null) {
    ErrorMessage("未设置文件的路径");
   }
   /*
   * if (this.contentType == null) { String ct =
   * Toolkit.getContextType(this.filepath); if (ct != null) {
   * setContentType(ct); } else { ErrorMessage("未设置文件Mime类型"); } }
   */

   String mime = null;
   try {
    mime = Toolkit2.getContextType(this.filepath, this.configpath);
    if (mime != null) {
     setContentType(mime);
    } else {
     ErrorMessage("未设置Content-Type");
    }
   } catch (RuntimeException e) {
    ErrorMessage(e.getMessage());
   }

   if (this.response == null) {
    ErrorMessage("HttpServletResponse初始化失败");
   }
   return execute();
}

/**
* 下载文件.调用前必须设置HttpServletResponse
*/
public boolean download() throws Exception {
   if (this.filepath == null) {
    ErrorMessage("未设置文件保存路径");
   }
   String mime = null;
   try {
    mime = Toolkit2.getContextType(this.filepath, this.configpath);
    if (mime != null) {
     setContentType(mime);
    } else {
     ErrorMessage("未设置Content-Type");
    }
   } catch (RuntimeException e) {
    ErrorMessage(e.getMessage());
   }

   if (this.response == null) {
    ErrorMessage("HttpServletResponse初始化失败");
   }
   return execute();
}

private boolean execute() throws Exception {
   boolean status = true;
   OutputStream out = response.getOutputStream();
   byte[] buffer = new byte[this.sendSize];
   File fileload = new File(this.filepath);
   // 客户端使用保存文件的对话框.
   if (this.fileName == null) {
    this.fileName = Toolkit.parse(this.filepath, true);
   }
   if (isShowChinese) {
    response.setHeader("Content-disposition", "attachment;filename="
      + Toolkit2.toChinese(this.fileName));
   } else {
    response.setHeader("Content-disposition", "attachment;filename="
      + this.fileName);
   }
   // 设置Mime类型.
   response.setContentType(this.contentType);
   // 通知文件的长度.
   long fileLength = fileload.length();
   String length = String.valueOf(fileLength);
   response.setHeader("Content_Length", length);
   // 读取文件.
   try {
    in = new FileInputStream(fileload);
    int n = 0;
    while ((n = in.read(buffer)) != -1) {
     out.write(buffer, 0, n);
    }
    out.flush();
   } catch (RuntimeException e) {
    ErrorMessage(e.getMessage());
    status = false;
   } finally {
    if (in != null) {
     in.close();
    }
    if (out != null) {
     out.close();
    }
   }
   if (isShowLog) {
    server(" down " + this.filepath);
   }
   return status;

}

/**
* 返回最后一次发生错误的描述.<br>
* 
* @see #getLastError() 返回最后一次错误的描述.
*/
public String getLastError() {
   String message = null;
   if (ErrorMessage == null) {
    return message = null;
   } else {
    message = (String) ErrorMessage.get(0);
    ErrorMessage.remove(0);
   }
   return message;
}

private void ErrorMessage(String message) throws Exception {
   if (isShowLog) {
    server("Exception" + message);
   }
   if (showErrorMessage) {
    ErrorMessage = new Vector();
    ErrorMessage.add(message);
    throw new Exception(message);
   }
}

public String getFilepath() {
   return filepath;
}

/**
* 设置文件路径.<br>
* 
* @param filepath
*            文件路径.
*/
public void setFilepath(String filepath) {
   this.filepath = filepath;
}

/**
* @deprecated 返回文件Mime类型.<br>
* @return 文件Mime类型.
*/
public String getMime() {
   return contentType;
}

/**
* @deprecated 设置文件Mime类型.<br>
* @param mime
*            文件Mime类型.
*/
public void setMime(String mime) {
   this.contentType = mime;
}

public HttpServletResponse getResponse() {
   return response;
}

public void setResponse(HttpServletResponse response) {
   this.response = response;
}

/**
* 异常是否已经显示.
* 
* @return 异常是否已经显示.
*/
public boolean isShowErrorMessage() {
   return showErrorMessage;
}

/**
* 是否显示异常信息.<br>
* 
* @param showErrorMessage
*            是否显示异常.
*/
public void setShowErrorMessage(boolean showErrorMessage) {
   this.showErrorMessage = showErrorMessage;
}

@Override
public String toString() {
   return JspDownload.class.getName();
}

public boolean isShowLog() {
   return isShowLog;
}

public void setShowLog(boolean isShowLog) {
   try {
    this.isShowLog = isShowLog;
    if (this.isShowLog) {
     writer = new BufferedWriter(new OutputStreamWriter(
       new FileOutputStream(".//down.log", true), System
         .getProperty("file.encoding")));
    }
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
   }

}

public int getSendSize() {
   return sendSize;
}

public void setSendSize(int sendSize) {
   this.sendSize = sendSize;
}

public String getFileName() {
   return fileName;
}

public void setFileName(String fileName) {
   this.fileName = fileName;
}

public String getContentType() {
   return contentType;
}

public void setContentType(String contentType) {
   this.contentType = contentType;
}

public String server(String s) throws Exception {
   writer.write(new Date().toString() + s);
   writer.newLine();
   return s;
}

}
package org.whvcse.upload.extend;

/**
* 文 件 名 : jsp文件上传下载<br>
* 
* @author 孟德军 CopyRright (c) 2009: <a href='mak0000@msn.com'>mak0000</a> <br>
*         文件编号: 20090526<br>
* @version 1.0 <br>
* 日 期: 2009.05.26 <br>
* 
*/
public class Toolkit {
/**
* 
* @param filename
*            文件路径.
* @param isshowextendname
*            是否解析扩展名.
* @return 文件名
*/
public static String parse(String filename, boolean isshowextendname) {
   String name = null;
   int index = filename.lastIndexOf(".");
   int extendindex = filename.lastIndexOf("\\");
   if (index != -1 && extendindex != -1) {
    if (isshowextendname) {
     name = filename.substring(extendindex + 1);
    } else {
     name = filename.substring(extendindex + 1, index);
    }
   }
   return name;
}

/**
* 
* @param filename
*            文件名
* @return Mime类型
*/
public static String getContextType(String filename) {
   String file = parse(filename, true);
   String Mime = null;
   if (file != null) {
    if (file.lastIndexOf(".html") != -1
      || file.lastIndexOf(".htm") != -1) {
     Mime = "text/html";
    }
    if (file.lastIndexOf(".txt") != -1) {
     Mime = "text/plain";
    }
    if (file.lastIndexOf(".gif") != -1) {
     Mime = "image/gif";
    }
    if (file.lastIndexOf(".jpg") != -1
      || file.lastIndexOf(".jpeg") != -1) {
     Mime = "image/jpeg";
    }
    if (file.lastIndexOf(".tar") != -1) {
     Mime = "application/x-tar";
    }
    if (file.lastIndexOf(".gz") != -1) {
     Mime = "application/x-gzip";
    }
    if (file.lastIndexOf(".avi") != -1) {
     Mime = "video/x-msvideo";
    }
    if (file.lastIndexOf(".mpg") != -1
      || file.lastIndexOf(".mpeg") != -1) {
     Mime = "video/mpeg";
    }
    if (file.lastIndexOf(".xml") != -1) {
     Mime = "text/xml";
    }
    if (file.lastIndexOf(".css") != -1) {
     Mime = "text/css";
    }
    if (file.lastIndexOf(".ttf") != -1) {
     Mime = "application/octet-stream";
    }
    if (file.lastIndexOf(".pdf") != -1) {
     Mime = "application/pdf";
    }
    if (file.lastIndexOf("zip") != -1) {
     Mime = "application/zip";
    }

   }
   return Mime;
}

/**
* 
* @param s
*            需要转换的编码.
* @return base64编码后的字符串.
*/
public static String Encode(String s) {
   String old = null;
   if (s == "" || s.equals("")) {
    old = "";
   }
   try {
    old = new sun.misc.BASE64Encoder().encode(s.getBytes());
    // old=new sun.misc.BASE64Decoder().decodeBuffer(arg0)
   } catch (Exception e) {
    e.printStackTrace();
   }
   return old;
}

/**
* 
* @param s
*            需要转换的编码.
* @return 解码后的字符串.
*/
public static String DeEncode(String s) {
   String old = null;
   if (s == "" || s.equals("")) {
    old = "";
   }
   try {
    old = new String(new sun.misc.BASE64Decoder().decodeBuffer(s));

   } catch (Exception e) {
    e.printStackTrace();
   }
   return old;
}
}


package org.whvcse.upload.extend;

import java.io.UnsupportedEncodingException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

public class Toolkit2 extends Toolkit {
/**
* 自动从配置文件中解析文件所属的Mime类型.
* 
* @param filename文件名
* @param path
*            配置文件路径
* @return 解析后的Mime类型
* @throws Exception
*             配置文件错误.
*/
public static String getContextType(String filename, String path)
    throws Exception {
   String Mime = null;
   String extension = null;
   if (filename.equals(null) || path.equals(null) || filename == ""
     || path == "") {
    throw new Exception("加载文件错误,文件名或配置文件路径不能为空,请检查配置文件!");
   }
   int index = filename.lastIndexOf(".");
   extension = filename.substring(index + 1);
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   Document document = builder.parse(path);
   NodeList list = document.getElementsByTagName("mime-mapping");
   Element element = null;
   for (int i = 0; i < list.getLength(); i++) {
    element = (Element) list.item(i);
    // System.out.println(extension);
    // System.out.println(extension.equals("ai"));
    if (extension.equals(element.getElementsByTagName("extension")
      .item(0).getFirstChild().getNodeValue())) {
     Mime = element.getElementsByTagName("mime-type").item(0)
       .getFirstChild().getNodeValue();
     break;
    }

   }
   return Mime;
}

/**
* 
* @param source
*            需要转换的字符串.
* @return 中文编码.
*/
public static String toChinese(String source) {
   String newString = null;
   if (source == null) {
    newString = "";
   } else {
    try {
     newString = new String(source.getBytes("UTF-8"), "GB2312");
    } catch (UnsupportedEncodingException e) {
     e.printStackTrace();
    }
   }
   return newString;
}

/**
* 
* @param source
*            需要转换的字符串.
* @param charset1
*            元编码
* @param charset2
*            新编码
* @return
*/
public static String charset(String source, String charset1, String charset2) {
   String newString = null;
   if (source == null) {
    newString = "";
   } else {
    try {
     newString = new String(source.getBytes(charset1), charset2);
    } catch (UnsupportedEncodingException e) {
     e.printStackTrace();
    }
   }
   return newString;
}
}


 
 

 

 

 

分享到:
评论

相关推荐

    jspsmartupload jsp smartupload 上传下载源代码及实例

    jspsmartupload jsp smartupload 上传下载源代码及实例jspsmartupload jsp smartupload 上传下载源代码及实例

    关于JSP文件上传下载源代码

    这个项目标题“关于JSP文件上传下载源代码”表明我们将讨论如何在JSP环境中实现文件上传和下载的功能。 首先,我们需要理解JSP文件上传的基本流程。通常,文件上传是通过HTML表单完成的,表单中包含一个`...

    jsp文件上传源代码

    "jsp文件上传源代码"这个标题表明我们正在讨论如何在JSP中实现文件上传的功能,这在很多web应用中是必不可少的,例如用户提交个人资料时上传头像,或者在企业系统中上传文档等。 文件上传功能通常涉及到HTTP协议中...

    简单JSP文件上传源代码smartupload

    简单 JSP 文件上传 源代码 smartupload 简单 JSP 文件上传 源代码 smartupload 简单 JSP 文件上传 源代码 smartupload 简单 JSP 文件上传 源代码 smartupload

    JSP上传文件源代码

    jsp上传的实现其实很简单,把这里的代码粘到用到的地方就OK啦。

    Spring完整的上传下载源代码

    在这个源代码中,Controller是处理文件上传和下载的核心组件。 2. **MultipartFile接口**:这是Spring MVC提供的一个接口,用于处理文件上传。在表单提交时,可以将文件字段声明为MultipartFile类型,Spring MVC会...

    jspsmart下载上传源代码

    **JSpsmart下载上传源代码详解** JSpsmart是一款针对Java Web开发的文件上传和下载组件,它提供了简单易用的API,可以帮助开发者快速实现文件的上传和下载功能。这个组件特别适合那些需要处理大量文件交互的Web应用...

    jsp上传实例源代码

    【JSP上传文件实例源代码详解】 在Java服务器页面(JSP)中实现文件上传功能是一项常见的需求,尤其是在开发Web应用程序时。这个“jsp上传实例源代码”提供了一个实际操作的例子,展示了如何允许用户从他们的计算机...

    JSP下载文件源代码

    通过以上分析可以看出,该示例代码提供了一个简单的文件下载功能实现方案,使用JSP结合SmartUpload插件来完成。这种方法不仅易于实现,而且具有较高的灵活性和可扩展性。对于需要快速添加文件下载功能的项目来说,这...

    jsp上传下载文件源代码,通过struts.xml控制在100M以内

    【标题】"jsp上传下载文件源代码,通过struts.xml控制在100M以内"涉及的核心技术主要包括JSP(JavaServer Pages)、Struts框架以及文件上传与下载的处理。Struts是Apache软件基金会的一个开源项目,它为Java Web应用...

    jsp文件管理源代码

    【JSP文件管理源代码】是一个基于Java Web技术的项目,主要使用了JSP(JavaServer Pages)作为前端展示和Servlet进行服务器端处理。这个项目的核心功能是提供一个文件管理系统,用户可以进行文件的上传、下载、查看...

    15个JSP项目实例技术源代码

    本资源"15个JSP项目实例技术源代码"提供了一系列实际应用场景的JSP项目示例,对于学习和掌握JSP技术具有很高的参考价值。 ### JSP基础知识 1. **JSP语法结构**:JSP页面由静态内容(HTML、CSS、JavaScript)和动态...

    JSP文件上传视频和源代码

    本教程将深入讲解如何在JSP中实现视频文件的上传功能,并提供相关的源代码供学习和参考。 一、JSP文件上传基础 在JSP中进行文件上传,通常我们会用到Servlet和Apache的Commons FileUpload库。Servlet是Java Web应用...

    简单的上传文件的JSP源代码

    总结来说,简单的文件上传JSP源代码包括前端HTML表单、后端JSP处理逻辑以及必要的服务器配置。通过理解这一过程,开发者可以创建一个基础的文件上传系统,满足用户上传文件的需求。在实际项目中,还需要考虑安全性、...

    struts2文件上传下载源代码

    这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`...

    struts1.2 图片上传下载 源代码

    在这个"struts1.2 图片上传下载 源代码"中,我们可以学习到如何利用Struts1.2框架来实现这一功能。 首先,我们需要了解Struts1.2中的ActionForm类。ActionForm是模型层与控制器层之间的桥梁,用于接收和封装用户的...

    jsp文件下载源代码

    ### JSP文件下载实现原理与源代码解析 #### 背景介绍 在Web开发过程中,经常需要处理文件上传和下载的功能。对于Java Web开发者来说,利用JSP(JavaServer Pages)来实现文件的下载是一种常见的方式。本文将详细...

    jsp留言板源代码.rar

    【标题】"jsp留言板源代码.rar"所涉及的知识点主要集中在Java Server Pages(JSP)技术上,这是一个基于Java的动态网页开发技术。通过这个压缩包,我们可以学习到如何使用JSP来创建一个简单的在线留言板系统。以下是...

    7个JSP小项目源代码和笔记资料汇总源码整理

    【标题】"7个JSP小项目源代码和笔记资料汇总源码整理"涉及的是Java Web开发中的一个重要技术——JSP(JavaServer Pages),它是一种动态网页开发技术,结合了HTML、JavaScript和Java代码,用于构建服务器端的交互式...

    servlet与JSp核心编程源代码

    - Chapter11和Chapter12可能涉及到了MVC(Model-View-Controller)设计模式,JSP自定义标签,或者更高级的话题,如使用Servlet和JSP进行会话管理、异常处理和文件上传下载。 每个章节的HTML文件可能包含了详细的...

Global site tag (gtag.js) - Google Analytics