还有忘了说,tomcat4.0下面没有shared/lib这个目录

解决方案 »

  1.   

    上传<%@ page contentType="text/html; charset=gb2312" language="java"
    import="java.sql.*,javax.sql.*,javax.naming.*,java.util.*,java.text.*,com.jspsmart.upload.*"%>
    <%
    SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd");
    java.util.Date ss=new java.util.Date();
    String strDate=sim.format(ss);
    SimpleDateFormat sim1=new SimpleDateFormat("yyyy");
    String strYear=sim1.format(ss); //for tomcat
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      java.sql.Connection cn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=WebDB;user=sa;Password=passwd");
    /*
    //for weblogic  
    javax.naming.Context ctx=new InitialContext();
       javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("WebDB");
            java.sql.Connection cn=ds.getConnection();
    */
            java.sql.Statement stm=cn.createStatement();
    // 新建一个SmartUpload对象
    SmartUpload su = new SmartUpload();
    // 上传初始化
    su.initialize(pageContext);
    // 设定上传限制
    // 1.限制每个上传文件的最大长度。
    // su.setMaxFileSize(10000);
    // 2.限制总上传数据的长度。
    // su.setTotalMaxFileSize(20000);
    // 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
    su.setAllowedFilesList("htm,txt,html,doc,xls");
    // 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。
    // su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
    // 上传文件
    su.upload();
    // 将上传文件全部保存到指定目录,count是上传的文件个数
    int count = su.save("/upload"); // 利用Request对象获取参数之值
    //out.println("TEST="+su.getRequest().getParameter("TEST")+"<BR><BR>"); // 逐一提取上传文件信息,同时可保存文件。
    String strDocName,strDescribe,strContent;
    int iEntryId,iTitleId,iIndex;
    ResultSet rs=stm.executeQuery("select max(entry_id) from entry");
    rs.next();
    iEntryId=rs.getInt(1)+1;
    rs.close(); strDescribe=su.getRequest().getParameter("textfield");
    iTitleId=Integer.parseInt(su.getRequest().getParameter("select")); //su.getFiles().getCount();
    com.jspsmart.upload.File file = su.getFiles().getFile(0); // 若文件不存在则继续 if (!file.isMissing())
    {
    strDocName=(String)file.getFileName();
    iIndex=strDocName.indexOf(".");
    strContent=strDocName.substring(0,iIndex);
       String strSql = "insert into entry values('" + strDescribe
       + "'," + iTitleId +"," + iEntryId +",0,'"+strYear+"',1,'/upload/"
       + strDocName +"','"+strContent+"','"+strDate+"')";
       stm.executeUpdate( strSql ); // 显示当前文件信息
    out.println("<TABLE BORDER=1>");
    out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
    + file.getFieldName() + "</TD></TR>");
    out.println("<TR><TD>文件长度(Size)</TD><TD>" +
    file.getSize() + "</TD></TR>");
    out.println("<TR><TD>文件名(FileName)</TD><TD>"
    + file.getFileName() + "</TD></TR>");
    out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
    + file.getFileExt() + "</TD></TR>");
    out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
    + file.getFilePathName() + "</TD></TR>");
    out.println("</TABLE><BR>"); // 将文件另存
    // file.saveAs("/upload/" + myFile.getFileName());
    // 另存到以WEB应用程序的根目录为文件根目录的目录下
     //file.saveAs("/upload/" + myFile.getFileName(),su.SAVE_VIRTUAL);
    // 另存到操作系统的根目录为文件根目录的目录下
    // file.saveAs("c:\\temp\\" + myFile.getFileName(),su.SAVE_PHYSICAL); }
       if(stm!=null) stm.close();
       if(cn!=null) cn.close();
    %>//-------------------------------------------------------------------------------
    下载
    <%@ page contentType="text/html;charset=gb2312"
    import="java.net.*,com.jspsmart.upload.*" %><%
    // 新建一个SmartUpload对象
    SmartUpload su = new SmartUpload();
    // 初始化
    su.initialize(pageContext);
    // 设定contentDisposition为null以禁止浏览器自动打开文件,
    //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
    //doc时,浏览器将自动用word打开它。扩展名为pdf时,
    //浏览器将用acrobat打开。
    //su.setContentDisposition(null);
    // 下载文件
    try
    {
    String cc=(String)request.getParameter("DocName");
    String filename=new String(cc.getBytes("ISO8859_1"),"gb2312");
    if(filename!=null) su.downloadFile(filename);
    }
    catch(IOException e)
    {
    Throwable tt=new Throwable();
    String s=tt.getMessage();
    }
    %>
      

  2.   

    把smartupload的jar文件加到CLASSPATH中
    CLASSPATH=%CLASSPATH%;d:/lib/jspupload.jar
    即可
      

  3.   

    我把com已经压缩成了jar文件,也加到了CLASSPATH中,但是在servlet中import引用的时候就是不出来,怎么办??
      

  4.   

    首先在DOS环境中输入
    echo %CLASSPATH%
    看一看环境变量CLASSPATH是否包含jspupload的jar文件其次确认com/jspsmart/upload目录下有file.class、files.class、request.class、smartUpload.class和SmartUploadException.class这几个文件吗?实在不行,可能是你的CLASSPATH加得不对(例如加在setenv.cmd之类的文件里)
    一劳永逸的解决办法:
    我的电脑-右键-属性-高级-环境变量-系统变量-新建
    在变量名中输CLASSPATH
    在变量值中加d:\lib\jspupload.jar
    ***注意不要加%CLASSPATH%,因为这里的环境变量是在系统初始化时设置的
    然后注销或重启
    再然后......
    .
    .
    .
    .
    .
    .
    就可以了!!