文档章节

Servlet3 文件上传demo

夜来风雨急
 夜来风雨急
发布于 2017/08/27 11:51
字数 327
阅读 7
收藏 0
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<title>Upload File</title>
</head>
<body>

<form action="fupload" method="POST" enctype="multipart/form-data">
    <table align="center" border="1" width="50%" >
        <tr>
            <td>选择要上传的文件:</td>
            <td><input type="file" name="file"></td>
        </tr>
        <tr>
            <td colspan="2" style="text-align: center;">
            	<input type="submit" value="上传"> &nbsp;&nbsp;
            	<input type="button" value="查看已上传文件列表" onclick="window.location='flist'">            	
            </td>
        </tr>        
    </table>
</form>

</body>
</html>
package zbh;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

import org.apache.catalina.core.ApplicationPart;

@SuppressWarnings("serial")
@MultipartConfig
@WebServlet(name="UploadFile", urlPatterns="/fupload")
public class UploadServlet extends HttpServlet {

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");

		PrintWriter out = response.getWriter();
		String path = this.getServletContext().getRealPath("/")+File.separator+"upload"+File.separator;
		Part p = request.getPart("file");
		ApplicationPart ap = (ApplicationPart) p;
		String fileName = ap.getSubmittedFileName();
		int path_idx = fileName.lastIndexOf("\\") + 1;
		
		fileName = fileName.substring(path_idx, fileName.length());
		
		String suffix = fileName.substring(fileName.lastIndexOf(".")+1,fileName.length());
		fileName = fileName.substring(0,fileName.lastIndexOf("."));
		System.out.println(fileName+"."+suffix);		
		p.write(path + fileName+"."+suffix);
		out.write("文件上传成功");		

	}
}




package zbh;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@SuppressWarnings("serial")
@WebServlet(name="UploadList", urlPatterns="/flist")
public class UploadList extends HttpServlet {

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");

		PrintWriter out = response.getWriter();
		String path = this.getServletContext().getRealPath("/")+File.separator+"upload"+File.separator;
		
		out.write("<html><head>");
		out.write("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>");
		out.write("<title>已上传文件列表</title></head><body>");
		
		File dir = new File(path);
		for(File file:dir.listFiles()){
			out.write(file.getName()+"<br/>");
		}
		
		out.write("</body></html>");	
	}
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: mysql5.7 安装
下一篇: JavaScript JSON 对象
夜来风雨急
粉丝 0
博文 55
码字总数 13074
作品 0
技术主管
私信 提问
java mvc框架--mint-mvc

mint mvc是一个纯粹的mvc框架,是在servlet之上做了浅层包装而做出来的,它做的事情很简单:接收请求->封装参数->将请求交给开发者这编写的逻辑处理->返回处理结果。 mint-mvc有如下特点: ...

水牛叔叔
2014/10/22
2.2K
0
jboot 上传文件,sevlet3.0 request.getParts() 报错问题

不想用jfinal的上传文件,因为servlet3已经支持文件上传,通过request.getParts(); 然后用Part .getInputStream 来写。 但是在调用request.getParts()时报错: UT010057: multipart config wa...

jimchow
08/05
156
0
springmvc - 文件上传

Springmvc 文件上传简介(https://linesh.gitbooks.io/spring-mvc-documentation-linesh-translation/content/publish/21-10/springs-multipart-file-upload-support.html) 使用servlet3 的 ......

中柠檬
2016/11/20
22
0
Spring 3.1 新特性一览表

经过接近大半年的RC,spring3.1终于release了 主要功能如rc版所示一样,非常值得升级 http://static.springsource.org/spring/docs/3.1.0.RELEASE/spring-framework-reference/html/new-in-...

红薯
2011/12/15
7.9K
6
Servlet3.0.1与dojo实现图片AJAX上传与下载,附lastmodified实现

开发环境 tomcat8, eclipse+maven,dojo1.9 Maven项目 首先需要生成一个webapp的maven项目。本次开发用到了tomcat的servlet api, jsp api以及jstl,因此需要在pom.xml中声明所需的依赖。为了不...

xpbug
2014/03/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
9分钟前
1
0
《读书是教师最好的修行》读后感优秀范文2200字

《读书是教师最好的修行》读后感优秀范文2200字: 作者:吴淑英;《读书是教师最好的修行》一书,收录了作者对50本经典书籍阅读后阐发的感受。作者10年来坚持每周阅读一本书,并写一篇读后感...

原创小博客
10分钟前
0
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
1
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部