文档章节

Servlet3 文件上传demo

夜来风雨急
 夜来风雨急
发布于 2017/08/27 11:51
字数 327
阅读 7
收藏 0
点赞 0
评论 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
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
关于servlet3异步处理特性的问题

看了一下servlet3关于异步处理的新特性,感觉用处不是那么大。如果我们能对项目请求数和业务执行时间做比较透彻的分析,是不是完全可以通过对web容器的配置调整达到servlet3异步处理的效果?...

胖子程序猿
2016/01/26
60
0
eclipse maven创建servlet3.0项目

1、打开Eclipse4.2,新建一个Maven项目     1)选择maven的archetype为maven-archetype-webapp     2)填写项目信息   2、完善项目目录结构     1)手工添加 src/main/java、s...

开源中国搬砖小能手
2013/09/06
0
0
zyUpload界面绝佳、体验超棒的HTML5上传插件

一、概述 在上一篇文章已经把zyFile骨骼部分讲完了,接下来要讲的是整个插件的血肉部分,zyUpload处理的东西比较多,比如:对文件格式、大小的过滤,设置文件上传状态等。今天我把java版的源...

Louis_88
2015/12/14
530
0
servlet3异步原理与实践

一、什么是Servlet servlet 是基于 Java 的 Web 组件,由容器进行管理,来生成动态内容。像其他基于 Java 的组件技术一样,servlet 也是基于平台无关的 Java 类格式,被编译为平台无关的字节...

新栋BOOK
2017/10/23
0
0
java使用smartupload组件实现文件上传的方法

本文实例讲述了java使用smartupload组件实现文件上传的方法。分享给大家供大家参考。具体分析如下:文件上传几乎是所有网站都具有的功能,用户可以将文件上传到服务器的指定文件夹中,也可以...

关河
2016/02/04
461
0
servlet3异步原理与实践

一、什么是Servlet servlet 是基于 Java 的 Web 组件,由容器进行管理,来生成动态内容。像其他基于 Java 的组件技术一样,servlet 也是基于平台无关的 Java 类格式,被编译为平台无关的字节...

新栋BOOK
2017/10/24
0
5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
14分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
29分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
66
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部