论坛首页 入门技术论坛

jspSmartUpload 上传组件的应

浏览 6005 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-11-20  

<%@ page contentType="text/html;charset=GBK"%>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<font size=5 color=#FF0000> <b>文件上传----使用jspsmart upload组件</b> </font>
<br>

<form action="uploadfile" method="post" enctype="multipart/form-data">
<p>文件名称: <input type="file" name="file1" size="20" maxlength="80">
</p>
<p>文件名称: <input type="file" name="file2" size="20" maxlength="80">
</p>
<p>文件名称: <input type="file" name="file3" size="20" maxlength="80">
</p>
<p>上传路径: <input type="text" name="path" size="30" maxlength="50"><br>
</p>

<p>附加内容: <input type="text" name="other" size="30" maxlength="50">
</p>
<p><input type="submit" value="上传"> <input type="reset"
value="重置"></p>
</form>

<font size=5 color=#FF0000> <b>文件下载----使用jspsmart upload组件</b> </font>
<br>
<form action="downloadfile" method="post">
<p>下载文件的名称: <input type="text" name="downloadFileName" size="20"
maxlength="80"></p>
<input type="submit" value="下载">
</body>
</form>
</html>


一个Servlet

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
import java.util.Random;

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.SmartUpload;

import connDB.ConnDB;
import dao.DbDAO;

public class ServletUpload extends HttpServlet {
private ServletConfig config;

final public void init(ServletConfig config) throws ServletException {
  this.config = config;
}

protected void doGet(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
 
  ConnDB conndb = new ConnDB();
  DbDAO dao = new DbDAO();
 
  PrintWriter out = response.getWriter();
  out.println("<HTML>");
  out.println("<BODY BGCOLOR='white'>");
  out.println("<H1>jspSmartUpload : Servlet Sample</H1>");
  out.println("<HR>");
  // 变量定义
  int count = 0;
  SmartUpload mySmartUpload = new SmartUpload();
  try {
   mySmartUpload.initialize(config, request, response);
   mySmartUpload.upload();
   //for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
   // com.jspsmart.upload.File myfile = mySmartUpload.getFiles().getFile(i);
    com.jspsmart.upload.File myfile = mySmartUpload.getFiles().getFile(0);
    String fileName = myfile.getFileName();

    String othername = null;
    String littlename = myfile.getFileExt();
    Random rd = new Random();
    Calendar time = Calendar.getInstance();

    othername = String.valueOf(time.get(Calendar.YEAR))
      + String.valueOf(time.get(Calendar.MONTH))
      + String.valueOf(time.get(Calendar.DAY_OF_MONTH))
      + String.valueOf(time.get(Calendar.HOUR_OF_DAY))
      + String.valueOf(time.get(Calendar.MINUTE))
      + String.valueOf(time.get(Calendar.SECOND))+"."+littlename;   
    myfile.saveAs("/upload/"+ othername,1);
    //mySmartUpload.SAVE_VIRTUAL;
    //count = mySmartUpload.save("/upload", 1);
    // count = mySmartUpload.save(null);
   //}
   
   String sql = "update car set url = '"+"upload/"+othername+"'";
   dao.addImg(sql);
    out.println("add success! <BR>");
  
    //out.println("add falure!!!!");
  
   conndb.close();
   out.println(count + " file uploaded.");
  } catch (Exception e) {
   out.println("Unable to upload the file.<br>");
   out.println("Error : " + e.toString());
  }
  out.println("<jsp:forward path ='success.jsp'>");
  out.println("</BODY>");
  out.println("</HTML>");
}

protected void doPost(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  doGet(request, response);
}
}

来源:www.sharejava.cn

 

   发表时间:2008-11-20  
这个组件早就淘汰了,不要再发这类连练习都用不到的东西了。
0 请登录后投票
   发表时间:2008-11-20  
JSPSmart很好使,就几个JAVA文件。
很轻的,大家都喜欢~
0 请登录后投票
   发表时间:2008-11-20  
yongboy 写道
JSPSmart很好使,就几个JAVA文件。
很轻的,大家都喜欢~

同意你的观点
0 请登录后投票
   发表时间:2008-11-20  
多少年了啊,还有人用这个东西?
0 请登录后投票
   发表时间:2008-11-20  
不使用这个东西有如下几个原因:
1是这个组件早已经停止开发了,现在连当初的发布网站都没有了
2是这个组件本身是不开源的,而且有中文乱码问题。自身无法修复,必须反编译修改代码才可以修复。
所以这个东西实在是没什么需要
0 请登录后投票
   发表时间:2008-11-22  
魔力猫咪 写道
不使用这个东西有如下几个原因:
1是这个组件早已经停止开发了,现在连当初的发布网站都没有了
2是这个组件本身是不开源的,而且有中文乱码问题。自身无法修复,必须反编译修改代码才可以修复。
所以这个东西实在是没什么需要


1 停止开发,和使用有关系么?
2 中文乱码,也不是什么问题,轻松就能解决。

SmartUpload 是先将上传文件存储到内存中,文件上传结束后再写道硬盘中。
不明白的朋友也可以参考我写的文章 http://stephen830.iteye.com/category/44849
0 请登录后投票
   发表时间:2008-11-23  
stephen830 写道
魔力猫咪 写道
不使用这个东西有如下几个原因:
1是这个组件早已经停止开发了,现在连当初的发布网站都没有了
2是这个组件本身是不开源的,而且有中文乱码问题。自身无法修复,必须反编译修改代码才可以修复。
所以这个东西实在是没什么需要


1 停止开发,和使用有关系么?
2 中文乱码,也不是什么问题,轻松就能解决。

SmartUpload 是先将上传文件存储到内存中,文件上传结束后再写道硬盘中。
不明白的朋友也可以参考我写的文章 http://stephen830.iteye.com/category/44849

没有关系吗?
终止开发,表示这个组件是没有人维护的。如果和其他组件发生兼容性问题的话,根本没法寻求技术支持。
中文乱码只是这个东西的一个常见问题。这个组件设计时间较早,可能还有其他问题。而且这个中文乱码问题目前网上找到的解决方案都是反编译然后修改代码的。而这样就违反了法律。这个组件虽然免费,但是不是开源的。你反编译就是违法。现在免费开源的有的是,干嘛非找不自在。
而且它和各种框架组合也是问题。Struts、JSF等都有自己的上传组件,根本用不着它。这个东西也就是当年纯JSP页面时代风光过一阵而已。
0 请登录后投票
   发表时间:2008-11-23  
魔力猫咪 写道
stephen830 写道
魔力猫咪 写道
不使用这个东西有如下几个原因:
1是这个组件早已经停止开发了,现在连当初的发布网站都没有了
2是这个组件本身是不开源的,而且有中文乱码问题。自身无法修复,必须反编译修改代码才可以修复。
所以这个东西实在是没什么需要


1 停止开发,和使用有关系么?
2 中文乱码,也不是什么问题,轻松就能解决。

SmartUpload 是先将上传文件存储到内存中,文件上传结束后再写道硬盘中。
不明白的朋友也可以参考我写的文章 http://stephen830.iteye.com/category/44849

没有关系吗?
终止开发,表示这个组件是没有人维护的。如果和其他组件发生兼容性问题的话,根本没法寻求技术支持。
中文乱码只是这个东西的一个常见问题。这个组件设计时间较早,可能还有其他问题。而且这个中文乱码问题目前网上找到的解决方案都是反编译然后修改代码的。而这样就违反了法律。这个组件虽然免费,但是不是开源的。你反编译就是违法。现在免费开源的有的是,干嘛非找不自在。
而且它和各种框架组合也是问题。Struts、JSF等都有自己的上传组件,根本用不着它。这个东西也就是当年纯JSP页面时代风光过一阵而已。


这是一般人典型的拿来主义,不求甚解的表现。对于一个简单的文件上传功能都这样担心因为没人维护而不敢使用这个组件,这一点不符合作为从事软件开发人的作为,既然选择从事软件开发,你就要学会去研究它,否则还要这个职业做什么,大家都作搬运工算了。 至于你说的反编译违反法律,诚然在法律上可能如此,但这个组件本身已经被源作者所放弃。至于所说的Strutc,JSF框架,不是任何人一开始就使用的。

引用
这个东西也就是当年纯JSP页面时代风光过一阵而已。
汗,这也有过时!希望你能好好的研究下你现在用的框架中的上传功能,看看与这个有什么大区别,只是换了件外套,你就觉得是新东西了。


特此申明:以上所说的不针对任何人,只是现今中国软件开发人的一种通病,拿来主义,不求甚解。遇到问题,就google/baidu,不会自己去深入研究和理解。

这也是为什么我们用的绝大多数都是国外人写的组件以及国外人做的框架!
0 请登录后投票
   发表时间:2008-11-23  
昏死。居然上纲上线了。
这个东西本来就不是合适学习的东西。如果要学习文件上传,可以用Apache的FileUpload。开源产品,既可以和其他框架集成,也可以直接使用。放着合法的资源不用,非要自己反编译。而且反编译的代码肯定比源代码难以理解,学习成本要高很多。
还有,谁说人家放弃了?反正我是没有听说过这个事情。人家把网站关了不维护了也不等于就可以随便处理。
如果你开发中用,出了问题你兜着?明知道这是淘汰品还往系统中加,不是白痴吗!
至于你说什么“担心因为没人维护而不敢使用这个组件,这一点不符合作为从事软件开发人的作为,既然选择从事软件开发,你就要学会去研究它”,如果是私下因为钻研,无可厚非,而且同样要注意法律问题。工作中如果非等你把用到的框架的源代码全钻研一遍才用,黄花菜都成化石了。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics