佛山科学技术学院-javaweb上传、下载和用户会话的管理-实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int streamLength = (int)fs.length();
byte[] image = new byte[streamLength];
fs.read(image,0,streamLength );
fs.close();
response.setHeader("Content-Type","application/octet-stream");
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String message = "";
if (part.getSize() > 1024 * 1024) { //上传的文件不能超过1MB大小
part.delete();
message = "文件太大,不能上传!";
} else {
path = path + "\\member\\123";
File f = new File(path);
import javax.servlet.http.HttpServlet;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
1)文件上传功能
2)文件下载功能
3)会话管理
不知道怎么展示动态过程
源代码
FileUploadServlet
package com.kejian.servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
System.out.println("fileName= "+ftln(path + "\\"+fileName);
File file = new File(path +"\\" +fileName);
FileImageInputStream fs = new FileImageInputStream (file);
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
String loginAccount = request.getParameter("loginAccount");
String fileName = header.substring(stIndexOf("=") + 2, header.length() - 1);
//System.out.println("index = "+ (stIndexOf("\"")-1));
//System.out.println("last = "+ header.length());
佛山科学技术学院
实 验报 告
课程名称Web编程与设计
实验项目实验二在线教学网站的开发——上传、下载和用户会话的管理
专业班级姓 名学号
指导教师成 绩日期
一、实验目的
1、了解文件上传和下载的技术原理;
2、掌握会话机制及其实现方式;
3、掌握Servlet程序开发和调试的方法。
二、实验内容
在实验一所开发的在线教学网站系统的基础上,增添文件上传功能、文件下载功能和会话管理功能。
@WebServlet(name = "FileDownloadServlet", urlPatterns = { "/fileDownload.do" })
@MultipartConfig(location = "D:\\", fileSizeThreshold = 1024)
public class FileDownloadServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//返回Web应用程序文档根目录
request.setCharacterEncoding("utf-8");
rd.forward(request, response);
}
}
FileDownloadServlet
package com.kejian.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
if (!f.exists()) { //若目录不存在,则创建目录
f.mkdirs();
}
String header = part.getHeader("content-disposition");
//System.out.println("Header = " + header);
//System.out.println("增加后path = " + path);
String header = part.getHeader("content-disposition");
//System.out.println("header = "+header);
String fileName = header.substring(stIndexOf("=") + 2, header.length() - 1);
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
String path = this.getServletContext().getRealPath("");
Part part = request.getPart("uploadfilename");
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
DealUsernameServlet
import javax.servlet.http.HttpSession;
@WebServlet("/DealUsernameServlet")
public class DealUsernameServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
//最长时间
int saveTime = Integer.parseInt(savetimeString)*24*3600;
//System.out.println("保存时间为"+ saveTime);
//cookie
Cookie loginInfo = new Cookie("loginInfo", loginAccount+","+loginPassword);
1)文件上传功能
实现将文件从本地上传到服务器固定目录下。
2)文件下载功能
实现从服务器固定目录下载文件到本地。
3)会话管理
当用户再次登录时,直接进入考试页面,不需要再次通过登录界面识别用户。
三、实验步骤及结果分析
(包括程序源代码及注释、程序使用/功能说明、运行结果截图——要在图中体现你的学号名字、结果分析等几部分内容。)
//System.out.println("传过两次的账号为"+ loginAccount);
String loginPassword = request.getParameter("loginPassword");
String savetimeString = request.getParameter("savetime");
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("image/jpeg; charset=UTF-8");
String path = this.getServletContext().getRealPath("");
//System.out.println("path = "+path);
Part part = request.getPart("downloadfilename");
path = path + "\\member\\123";
//System.out.println("增加后path = "+path);
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
package com.kejian.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
System.out.println("filename="+fileName);
part.write(path + "\\" + fileName);
message = "文件上传成功!";
}
request.setAttribute("message", message);
RequestDispatcher rd = request.getRequestDispatcher("/fileUpload.jsp");
import javax.imageio.stream.FileImageInputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@WebServlet(name = "FileUploadServlet", urlPatterns = { "/fileUpload.do" })
@MultipartConfig(location = "D:\\", fileSizeThreshold = 1024)
public class FileUploadServlet extends HttpServlet {
response.setHeader("Content-Disposition","attachment;filename="+fileName);
response.getOutputStream().write(image);
response.getOutputStream().flush();
response.getOutputStream().close();
相关文档
最新文档