Servlet上传
来源:互联网 发布:熊猫tv淘宝买的竹子 编辑:程序博客网 时间:2024/05/17 02:32
1 写上传的jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>上传</title></head><body><!-- image/* text/css text/javascript --><form action="upload.do" method="post" enctype="multipart/form-data"><input type="text" name="username"/><!-- name是用来在后台servlet中获取当前文件内容,name的命名可以随意 --><input type="file" name="file"/><br/><!-- 是一个隐藏的控件 --><input type="hidden" id="token" name="token"/><input id="submit_btn" type="button" value="提交" onclick="submit1()"/></form><script type="text/javascript" src="js/jquery-3.1.1.js"></script><script type="text/javascript">$.get("token.do",function(data,status){$("#token").val(data);});function submit1(){$("#submit_btn").hide();alert("--");$("form").submit();}</script></body></html>
2 写UploadServlet
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Date;import java.util.Random;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;import com.mysql.fabric.xmlrpc.base.Data;@MultipartConfigpublic class UploadServlet extends HttpServlet{private Random random = new Random();@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//---}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//System.out.println("---" + req.getParameter("file"));String username = req.getParameter("username");String token = req.getParameter("token");Object defaultToken = req.getSession().getAttribute("token");System.out.println(token + "---" + defaultToken);//比较用户提交的Token和系统本身的TOken是否一致if (token != null && defaultToken!=null && token.equals(defaultToken.toString())){//一旦匹配成功,将系统中的Token销毁req.getSession().removeAttribute("token");System.out.println("---" + username);//获取从页面上传递过来的文件Part part = req.getPart("file");String name = part.getSubmittedFileName();System.out.println(part.getSubmittedFileName());System.out.println(part.getName());//获取当前时间的毫秒long time = new Date().getTime();int randomNum = random.nextInt(Integer.MAX_VALUE);name = time+"_"+randomNum+"_"+name;//创建输出流,用来在服务器磁盘上输出文件File file = new File("E:\\"+name);FileOutputStream fos = new FileOutputStream(file);//获取输入流InputStream is = part.getInputStream();byte[] buffer = new byte[1024];int len=0;while((len=is.read(buffer)) != -1){//将文件写入服务器磁盘fos.write(buffer, 0, len);}fos.flush();fos.close();is.close();} }}3 写TokenServlet
import java.io.IOException;import java.util.Random;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 制造Token的一个类 */public class TokenServlet extends HttpServlet{private Random random = new Random(); @Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//制造Tokenint token = random.nextInt(Integer.MAX_VALUE);req.getSession().setAttribute("token", token);resp.getWriter().write(String.valueOf(token));}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req,resp);}}
阅读全文
0 0
- Servlet上传
- Servlet上传
- Servlet上传的例子
- Flex + servlet 上传文件
- Ext+servlet上传
- 利用servlet实现上传
- JSP+servlet上传文件
- JSP+SERVLET实现“上传”
- servlet文件上传
- Servlet文件上传
- Servlet上传文件
- 文件上传servlet应用
- jsp servlet文件上传
- 文件上传Servlet实例
- Servlet文件上传代码
- java servlet 文件上传
- servlet中的文件上传
- 文件上传Servlet例子
- ARC转非ARC
- angularJs-自定义服务
- iOS开发类库 更新版
- 定时器
- Go学习笔记(一)
- Servlet上传
- dev master—detail 主表和明细的具体使用案例
- 单点登录SSO-6.27
- C语言之爱情红玫瑰
- 代码编写规范
- 'gbk' codec can't decode byte 0x94 in position 41:illegal multibyte sequence
- php汉字乱码转换,gbk和utf8互转
- [Java] Java反射的使用
- SQL基本安装步骤