文档章节

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>");	
	}
}

 

© 著作权归作者所有

共有 人打赏支持
夜来风雨急
粉丝 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
0
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.8K
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

没有更多内容

加载失败,请刷新页面

加载更多

docker多容器部署lnmp环境

环境:RHEL7.5 ip:192.168.10.102,主机名:lb02 一、创建web、数据库目录 web网站目录为:/wwwroot,属主属组:www [root@lb02 ~]# mkdir /wwwroot[root@lb02 ~]# useradd -s /sbin/nolo...

人在艹木中
24分钟前
1
0
eclipse运行springboot项目报错‘找不到或无法加载主类’

这是一个很烦躁的问题~,往往困住大家好长时间,然后各种百度。借此,咱将这个问题有可能产生的原因进行一下总结。若有不完善之处欢迎大家在下面留言指出~~ Duang!问题出现 然后开始尝试解决...

Code辉
45分钟前
1
0
springboot oauth2 跨域设置

@Overridepublic void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/security/**") .authentica......

昆虫大侠
47分钟前
1
0
08-利用思维导图梳理JavaSE-泛型

08-利用思维导图梳理JavaSE-泛型 主要内容 1.泛型的基本概念 1.1.定义 1.2.使用前提 1.3.使用泛型的好处 2.泛型的使用 2.1.泛型类定义 2.2.泛型对象定义 2.3.泛型中的构造方法 2.4.泛型方法的...

飞鱼说编程
48分钟前
0
0
Docker 部署 Spring Boot 项目指南

仅想在Docker里运行一个Spring Boot项目,捣鼓了许久。。。 本文主要适用于Windows环境下的Docker 一、运行环境 Windows 10 Maven 3.5 Docker 18.06.1-ce-win73 (19507) 二、创建Spring Boot...

AmosWang
54分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部