`
guoyong123
  • 浏览: 56476 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论
  • jateide: 还有个TRACE级别。另外还有两个特殊级别:ALL 和 OFF ...
    Log4j级别

文件上传解决方案(基于jspsmartupload)

阅读更多

这个程序是苦于jspsmartupload而完成的,大家可以自已去下载jspsmartupload.jar包。

web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <description>This is the uploadfile</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>UploadServlet</servlet-name>
    <servlet-class>test.UploadServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>UploadServlet</servlet-name>
    <url-pattern>/servlet/UploadServlet</url-pattern>
  </servlet-mapping>
</web-app>
index.jsp文件


<html>
<head>
<title> Jspsmart.html </title>
<meta http-equiv ="Content-Type"  content ="text/html; charset=GB2312">
</head>
<body>
<center>该文件上传共有两种方法,一种是在jsp页面上进行上<br>
传,另一种是用servlet进行上传,只需要改form表单的action即可</center>
<h2> 文件上传范例 - jspSmart </h2>

<form name ="Form1" enctype ="multipart/form-data"  method ="post"  action ="servlet/UploadServlet">
<p> 上传文件 1: <input  type ="file"  name ="File1"  size ="20" maxlength ="20"></p>
<p> 上传文件 2: <input  type ="file"  name ="File2"  size ="20" maxlength ="20" ></p>
<input type ="submit"  value ="上传">
<input type ="reset"alue ="清除">
</form>
<br>
<a href="download.jsp">下载测试</a>
</body>
</html>

jspsmart文件

<%@ page import="com.jspsmart.upload.*" %>
<%@ page contentType="text/html;charset=GB2312" %>

<html>
<head>
<title>CH9 - Jspsmart2.jsp</title>
</head>
<body>

<h2>文件上传范例 - jspSmart</h2>

<jsp:useBean id="mySmartUpload" scope="page" class="SmartUpload"/>
<%
//计算文件上传个数
int count=0;

//SmartUpload的初始化,使用这个jspsmart一定要在一开始就这样声明
mySmartUpload.initialize(pageContext);

//依据form的内容上传
mySmartUpload.upload();

//将上传的文件一个一个取出来处理
for (int i=0;i<mySmartUpload.getFiles().getCount();i++)
{
//取出一个文件
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);

//如果文件存在,则做存档操作
if (!myFile.isMissing()) {

//将文件存放于绝对路径的位置
myFile.saveAs("C:\\upload\\" + myFile.getFileName(),SmartUpload.SAVE_PHYSICAL);

//显示此上传文件的详细信息
out.println("FieldName = " + myFile.getFieldName() + "<BR>");
out.println("Size = " + myFile.getSize() + "<BR>");
out.println("FileName = " + myFile.getFileName() + "<BR>");
out.println("FileExt = " + myFile.getFileExt() + "<BR>");
out.println("FilePathName = " + myFile.getFilePathName() + "<BR>");
out.println("ContentType = " + myFile.getContentType() + "<BR>");
out.println("ContentDisp = " + myFile.getContentDisp() +"<BR>");
out.println("TypeMIME = " + myFile.getTypeMIME() +"<BR>");
out.println("SubTypeMIME = " + myFile.getSubTypeMIME() + "<BR>");
count ++;
}
}

// 显示应该上传的文件数目
out.println("<BR>" + mySmartUpload.getFiles().getCount() + " files could be uploaded.<BR>");

// 显示成功上传的文件数目
out.println(count + "file(s) uploaded.");
%>

</body>
</html>

UploadServlet.java文件(这是一个servlet)

package test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.File;
import com.jspsmart.upload.SmartUpload;

public class UploadServlet extends HttpServlet {

 /**
  * Constructor of the object.
  */
 public UploadServlet() {
  super();
 }

 /**
  * Destruction of the servlet. <br>
  */
 public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
  // Put your code here
 }

 /**
  * The doGet method of the servlet. <br>
  *
  * This method is called when a form has its tag value method equals to get.
  *
  * @param request the request send by the client to the server
  * @param response the response send by the server to the client
  * @throws ServletException if an error occurred
  * @throws IOException if an error occurred
  */
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  request.setCharacterEncoding("GBK");
  response.setCharacterEncoding("GBK");
  PrintWriter out = response.getWriter();
  out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
  out.println("<HTML>");
  out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
  out.println("  <BODY>");
  out.print("    This is ");
  out.print(this.getClass());
  out.println(", using the GET method");
  out.println("  </BODY>");
  out.println("</HTML>");
  out.flush();
  out.close();
 }

 /**
  * The doPost method of the servlet. <br>
  *
  * This method is called when a form has its tag value method equals to post.
  *
  * @param request the request send by the client to the server
  * @param response the response send by the server to the client
  * @throws ServletException if an error occurred
  * @throws IOException if an error occurred
  */
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/html");
  request.setCharacterEncoding("GBK");
  response.setCharacterEncoding("GBK");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>JspSmartUploadSaveServlet</title></head>");
        out.println("<body bgcolor=\"#ffffff\">");
        saveFile(request, response, out);
        out.println("<p>文件保存完成" + request.getMethod() +".<a href=\"index.html\">继续上传文件</a></p>");
        out.println("</body>");
        out.println("</html>");
        out.close();
 }
 
    private void saveFile(HttpServletRequest request,HttpServletResponse response, PrintWriter out) {
  //上传的文件个数
  int count = 0;
  //文件描述
  String FileDescription[] = {null, null, null};
  SmartUpload mySmartUpload = new SmartUpload();
  
  ServletConfig servletConfig = getServletConfig();
  try {
  //SmartUpload之初始化,一定要初始化才可以使用
  mySmartUpload.initialize(servletConfig, request, response);
  //进行相应处理
  mySmartUpload.upload();
  //最大文件//20mb
  mySmartUpload.setMaxFileSize(20 * 1024 * 1024);
  } catch (Exception e) {
  }
  
  //取得所有文件信息
  File myFile;
  for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
  //产生1个File对象
  myFile = mySmartUpload.getFiles().getFile(i);
  
  //如果文件存在,则把他存入指定位址
  if (!myFile.isMissing()) {
    try { //save file
        myFile.saveAs("c:\\upload\\" + myFile.getFileName(),SmartUpload.SAVE_PHYSICAL);
    } catch (Exception ex) {
        System.out.println(" error---" + ex.getMessage());
    }
  
    out.println("<font color = \"red\">您上传的第" + count +
                "个的文件 :</font><BR> ");
    out.println("文件名称为 :" + myFile.getFileName() + "<BR>");
    out.println("文件类型为 :" + myFile.getContentType() + "<BR>");
    out.println("文件说明为 :" + FileDescription[i] + "<BR>");
    count++;
  
  }
  }

}

 /**
  * Initialization of the servlet. <br>
  *
  * @throws ServletException if an error occure
  */
 public void init() throws ServletException {
  // Put your code here
 }

}

 

分享到:
评论

相关推荐

    jspsmartupload组件源码.zip_ jspSmartUpload_jsp_jsp 上传文件_jspSmartUplo

    **JSpsmartupload组件**是一个基于Java的上传文件解决方案,主要应用于JSP(Java Server Pages)环境中。这个组件提供了一种简单且强大的方式来处理用户通过网页上传的文件。在标题和描述中提到的,该组件的核心是用...

    jspSmartUpload上传下载

    通过以上内容,我们可以看到JSP SmartUpload为开发者提供了一个高效、便捷的文件上传解决方案。无论是新手还是经验丰富的开发者,都可以快速地集成并实现文件上传功能,从而提高项目的开发效率和用户体验。了解并...

    jspSmartUpload,上传下载,解决中文乱码jspSmartUpload,SmartUpload

    `jspSmartUpload`是一个基于Java的文件上传组件,它提供了强大的文件上传和管理功能,特别对于处理中文文件名有着独特的解决方案。在使用`jspSmartUpload`时,我们需要注意以下关键知识点: 1. **编码设置**:`jsp...

    jsp上传下载、jspsmartupload.jar、cos-26Dec2008.zip

    - 如`jspsmartupload.jar`库,它提供了一套完整的文件上传解决方案,封装了多部分请求的解析,简化了开发者的工作。 - `jspsmartupload.jar`支持大文件分块上传,有错误处理机制,可以处理文件大小限制、类型限制...

    jspsmartupload_jsp_

    【JSpsmartupload_jsp】是一个关于在Java Web开发中使用JspSmartUpload组件进行文件上传的源码示例。JspSmartUpload是早期广泛应用于JSP(Java Server Pages)中的一个强大且易于使用的文件上传库,它允许用户在Web...

    jspsmartupload.rar

    总的来说,JSPSmartUpload组件以其强大的功能和易用性,成为了JSP页面文件上传和下载的首选解决方案。它不仅简化了开发过程,还提高了应用程序的用户体验。无论是在企业级项目还是个人开发中,JSPSmartUpload都是一...

    jspSmartUpload使用详解

    `jspSmartUpload` 是一个基于Java的开源上传组件,它为JSP开发人员提供了一种简单易用的方式来处理文件上传功能。这个组件在早期的Web应用程序中尤其常见,因为其强大的功能和对多种浏览器的良好兼容性。在本文中,...

    上传文件图片,文件上传,jspSmartUpload组件源码

    【标题】"上传文件图片,文件上传,jspSmartUpload组件源码" 描述了一种基于JSP技术的文件上传解决方案,特别提到了`jspSmartUpload`组件,它是一个用于Java Web应用的文件上传库,方便开发者处理用户通过表单提交的...

    jspsmartupload包

    JSpsmartUpload 是一款功能强大且易于集成的文件上传解决方案,虽然随着网站的关闭,获取和使用变得稍有不便,但它仍然是很多旧项目中不可或缺的组件。通过理解其功能、工作原理以及如何在项目中应用,你可以有效地...

    jspsmartupload文件上传api+jar文件

    `jspsmartupload`是一个经典的Java Web文件上传组件,它在早期的Web开发中被广泛使用,尤其是在基于JSP和Servlet的应用中。这个组件提供了一种简单的方式来处理用户通过表单上传的文件,使得开发者无需深入理解HTTP...

    jspsmartupload上传例子

    `jspsmartupload上传例子`是一个基于Java Web的文件上传解决方案,主要利用JSP和Servlet技术来处理用户通过网页上传文件的需求。这个例子包括了必要的文档、库文件以及示例JSP页面,帮助开发者理解如何在项目中实现...

    jspSmartUpload组件zip压缩版

    **jspSmartUpload组件详解** ...不过,随着技术的发展,现代Web应用更多地转向了基于前端的文件上传解决方案,如使用`FormData`和`XMLHttpRequest`,但`jspSmartUpload`仍然是一个值得学习和参考的经典组件。

    jspSmartUpload上传文件

    JSPSmartUpload是早期流行的文件上传解决方案之一,由JSPUpload项目发展而来,它简化了文件上传的处理流程,使得开发者无需深入理解HTTP协议和Servlet规范的复杂细节。JSPSmartUpload支持多文件同时上传,提供了错误...

    jspsmartupload上传组件

    JSpsmartUpload是一款基于JSP和Java的上传组件,专为处理Web应用中的文件上传需求而设计。它提供了一套完善的解决方案,使得开发者能够轻松地在网页上实现文件上传功能,同时具备了错误处理、多文件上传、文件大小...

    jspSmartupload已解决中文问题

    总结来说,`jspSmartupload` 是一个处理JSP和Servlet文件上传的实用工具,它已经解决了中文文件名的编码问题,提供了一套完整的文件上传和下载解决方案。通过这个组件,开发者可以轻松地在应用中实现文件上传功能,...

    jspSmartUpload上传文件组件

    **jspSmartUpload上传文件组件详解** `jspSmartUpload`是一个基于Java的文件上传组件,它在...总的来说,`jspSmartUpload`提供了一套全面的文件上传解决方案,使得在Java Web应用中处理文件上传变得更加简单和高效。

    jspSmartUpload组件

    虽然现在有更多现代化的上传解决方案,但`jspSmartUpload`因其稳定性和兼容性,仍然在许多老旧项目中被广泛应用。学习和掌握`jspSmartUpload`的使用,对于理解和处理Web文件上传问题具有重要意义。

    jspsmartupload上传下载实例及详解

    JSPSmartUpload是专门为Java Servlet和JSP设计的文件上传解决方案,支持多文件上传、文件大小限制、文件类型检查等特性。它通过解析HTTP请求中的multipart/form-data数据来处理文件上传,使得开发者无需关心底层实现...

    JspSmartUpload自定义编码版

    总的来说,JspSmartUpload自定义编码版是针对中文乱码问题的一个解决方案,它简化了Java Web开发中的文件上传操作,同时也保证了上传文件名和数据的正确性。对于需要处理中文文件名的开发者来说,这是一个非常实用的...

    jspsmartupload.jar文件上传所需要的包

    `jspsmartupload.jar`是一个早期流行的文件上传组件,它为JavaServer Pages (JSP) 提供了便捷的文件上传解决方案。然而,需要注意的是,`jspsmartupload`官方现在已经不再提供下载服务,这可能给开发者带来了一定的...

Global site tag (gtag.js) - Google Analytics