现在的位置: 首页 > 综合 > 正文

struts+SmartUpload实现的一个简易上传下载系统

2013年06月16日 ⁄ 综合 ⁄ 共 47312字 ⁄ 字号 评论关闭

 

一.用mysql建立数据库及其表

create database file set gbk;
create table user(id int not null primary key auto_increment,username varchar(20),password varchar(20));
create table file(fileid int not null primary key auto_increment,filesavename varchar(100),filename varchar(100),filetype varchar(100),filesize varchar(50),fileinfo text,fileuptime varchar(30),fileip varchar(30),filetimes varchar(30),filetag varchar(30));

二.源码实例

1.表现层页面

(1)login.jsp(登录页面)

 

(2)index.jsp(首页)

(3)uploadfile.jsp(文件上传页面)

 <%@ page contentType="text/html;charset=gbk" pageEncoding="gbk"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>
<%@ page isELIgnored="false"%>
<html>
 <head>
  <title>上传文件</title>
  <link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/style.css">
  <script type="text/javascript">
  function checkForm(form){
      if(form.file1.value.match(/^/s*/)&&form.file2.value.match(/^/s*/)){
      document.getElementById("messageid").innerHTML="<img src='<%=request.getContextPath()%>/image/error.gif'/><font color='red'>上传路径不能为空!</font>";
      return false;
      }else if(!form.file1.value.match(/^/s*/)){
      if(form.tag1.value.match(/^/s*/)){
      document.getElementById("tag1id").innerHTML="<img src='<%=request.getContextPath()%>/image/error.gif'/><font color='red'>关键字不能为空!</font>";
      }
      }
      return true;
  }
  </script>
 </head>
 <body bgcolor="#E1E1E1">
    <script type="text/javascript">
 history.go(1);
</script>
  <center>
  <form action="<c:url value='/fileUpDownLoad.do?method=uploadFile'/>" enctype="multipart/form-data"  method="post" >
  <table width="100%" border="1"  class="TableStyle">
   <tr class="column_title">
    <td >    
     <font color="#215DC6">●每个文件长度最大允许为20兆!</font><br>
       <div id="messageid">
        <c:if test="${!empty message}">
         <font color='red'>${message}</font>
        </c:if>
       </div>
       <b class="column_title">文件路径1:</b><br>
     <input type="file" name="file1" size="60" ><br>
     <b class="column_title">文件描述1:</b><br>
     <textarea rows="5" cols="69" name="fileinfo1"></textarea><br>
     <hr color="#049ED0">
     <b class="column_title">文件路径2:</b><br>
     <input type="file" name="file2" size="60" ><br>
     <b class="column_title">文件描述2:</b><br>
     <textarea rows="5" cols="69" name="fileinfo2"></textarea><br>
     <input type="submit"  value="上传文件"/>
     <input type="button" value="返回列表" onclick="window.opener.location.href='<c:url value="/fileUpDownLoad.do?method=getFileList"/>';window.close();"/>
     <input type="button"  onclick="window.close();"value="关闭">
     <br><br>
    </td>
   </tr>
   </table>
  </form>
  </center>
 </body>
</html>

 

(4)fileinfo.jsp(文件信息预览页面)

(5)zxc.js

2.公用类和javabean

(1)DBAccess.java(数据库连接)

(2)FileInfo.java(文件信息bean)

(3)PageListData.java(分页参数分装bean)

(4)StringHandler.java(字符串处理)

(5)User.java

(6)TextBufferedImage.java(验证码servlet)

3.数据层

(1)UserDAO.java

(2)FileDAO.java

4.业务逻辑层

(1)LoginAction.java

(2)FileUpDownLoadAction.java

5.过滤器

(1)EncodingFilter.java(处理字符编码)

(2)UserLoginFilter.java(session过滤器)