1.最终效果:
2. 代码结构分析:
- JAVA代码共4个文件:
主要功能分别如下:
- 编码过滤器
- 展示文件
- 下载文件
- 上传文件
- JSP页面共两个文件:
主要功能分别如下:
- 主页页面展示(上传、下载、查询等)
- 拖拽上传图片的处理JSP页面
- 静态文件和JAR包:
3. 代码分析:
- SmartUploadServlet.java:
- 使用SmartUpload类进行上传
- 保存路径为eclipse的workspace下
- 文件目录采用Hash打散保存
- 文件名使用UUID_文件名格式保存
- SmartDownloadServlet.java:
- 根据前台传回的参数,查询硬盘中是否存在该文件,存在则使用SmartDown.download()方法返回文件到前台,实现下载
- ListFileServlet.java:
- 遍历保存在硬盘的所有文件,以Map类型返回文件名和文件路径到home-smart.jsp
- 使用两种遍历:1:遍历所有;2:根据前台传来参数kw,按照kw进行正则匹配文件名,符合的文件才返回,以此实现搜索功能。
- home-smart.jsp:
- 前端页面展示
- 处理请求,并传到相应Servlet进行处理
- imgUpload.jsp:
- 上传拖拽文件的处理页面,使用的是comm组件(当时用smart组件没有成功就用的comm)