通过JSP实现:从网页上上载一个文本文件,能显示上传成功。之后点一个按钮能在网页上显示出该文本文件的大小(字节数)。

JSP文件上传和下 使用Servlet进行文件上传与下,用到commons-fileupload-1.3.3.jar和commons-io-2.6.jar两个jar包。 立即下载

通过JSP实现:从网页上上载一个文本文件,能显示上传成功。之后点一个按钮能在网页上显示出该文本文件的大小(字节数)。

1、启动tomcat,如图所示:
这里写图片描述
这里写图片描述
2、用Editplus编辑代码,代码如下:
yb.jsp

<%@ page contentType="text/html; charset=UTF-8" %>  
<%@ page import="java.io.*"%>  
<%@ page import="java.util.*"%>  
<%@ page import="javax.servlet.*"%>  
<%@ page import="javax.servlet.http.*"%>  
<html><head><title>upFile</title></head>  
<body bgcolor="#ffffff">  
<%  
//定义上载文件的最大字节  
int MAX_SIZE = 102400 * 102400;  
// 创建根路径的保存变量  
String rootPath;  
//声明文件读入类  
DataInputStream in = null;  
FileOutputStream fileOut = null;  
//取得客户端的网络地址  
String remoteAddr = request.getRemoteAddr();  
//获得服务器的名字  
String serverName = request.getServerName();  

//取得互联网程序的绝对地址  
String realPath = request.getRealPath(serverName);  
realPath = realPath.substring(0,realPath.lastIndexOf("\\"));  
//创建文件的保存目录  
rootPath = realPath + "\\upload\\";  
//取得客户端上传的数据类型  
String contentType = request.getContentType();  
try{  
if(contentType.indexOf("multipart/form-data") >= 0){  
//读入上传的数据  
in = new DataInputStream(request.getInputStream());  
int formDataLength = request.getContentLength();  
if(formDataLength > MAX_SIZE){  
out.println("<P>上传的文件字节数不可以超过" + MAX_SIZE + "</p>");  
return;  
}  
//保存上传文件的数据  
byte dataBytes[] = new byte[formDataLength];  
int byteRead = 0;  
int totalBytesRead = 0;  
//上传的数据保存在byte数组  
while(totalBytesRead < formDataLength){  
byteRead = in.read(dataBytes,totalBytesRead,formDataLength);  
totalBytesRead += byteRead;  
}  
//根据byte数组创建字符串  
String file = new String(dataBytes,"UTF-8");  
//out.println(file);  
//取得上传的数据的文件名  
String saveFile = file.substring(file.indexOf("filename=\"") + 10);  
saveFile = saveFile.substring(0,saveFile.indexOf("\n"));  
saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));  
int lastIndex = contentType.lastIndexOf("=");  
//取得数据的分隔字符串  
String boundary = contentType.substring(lastIndex + 1,contentType.length());  
//创建保存路径的文件名  
String fileName = rootPath + saveFile;  
//out.print(fileName);  
int pos;  
pos = file.indexOf("filename=\"");  
pos = file.indexOf("\n",pos) + 1;  
pos = file.indexOf("\n",pos) + 1;  
pos = file.indexOf("\n",pos) + 1;  
int boundaryLocation = file.indexOf(boundary,pos) - 4;  
//out.println(boundaryLocation);  
//取得文件数据的开始的位置  
int startPos = ((file.substring(0,pos)).getBytes()).length;  
//out.println(startPos);  
//取得文件数据的结束的位置  
int endPos = ((file.substring(0,boundaryLocation)).getBytes()).length;  
//out.println(endPos);  
//检查上载文件是否存在  
File checkFile = new File(fileName);  
if(checkFile.exists()){  
out.println("<p>" + saveFile + "文件已经存在.</p>");  
}  
//检查上载文件的目录是否存在  
File fileDir = new File(rootPath);  
if(!fileDir.exists()){  
fileDir.mkdirs();  
}  
//创建文件的写出类  
fileOut = new FileOutputStream(fileName);  
//保存文件的数据  
fileOut.write(dataBytes,startPos,(endPos - startPos));  
fileOut.close();  
out.println(saveFile + "文件成功上传.</p>");  
out.println("<p>文件大小为"+formDataLength/1024 + "KB.</p>"); 
}else{  
String content = request.getContentType();  
out.println("<p>上传的数据类型不是multipart/form-data</p>");  
}  
}catch(Exception ex){  
throw new ServletException(ex.getMessage());  
}  
%>  
</body>  
</html>

编辑了保存tomcat文件夹的webapps中的ROOT文件夹下面,命名为yb.jsp
upload.jsp

<%@ page contentType="text/html;charset=UTF-8"%>  
<html>  
<title>文件上传</title>  
<body>  
<form action="yb.jsp" method="post" enctype="multipart/form-data">   
<input type="file" name="upfile" size="15">  
<input type="submit" value="文件的大小为">  
</form>  
</body>  
</html>

编辑了保存tomcat文件夹的webapps中的ROOT文件夹下面,命名为upload.jsp
3、在浏览器中输入http://localhost:8080/upload.jsp ,效果图如图所示:
这里写图片描述
显示文件大小的效果图如图所示:
这里写图片描述

JSP读取TXT文件显示 工程名称:JSPreadTXT 工程作用:读取本地TXT文件显示JSP页面上 运行环境:Tomcat, JAVA EE6.0,搜狗高速浏览器 程序作者:Roy Liu 直接添加到MyEclipse中即可运行。 源程序内有代码注释。 已知BUG: 1、未输入文件地址时,会报错; 2、当TXT文件内容包含中文时,有时会显示乱码,解决方法:打开TXT文件,在“另存为”对话框中选择“UTF-8”格式); 3、当TXT文件名为中文时,无法读取,页面会显示空白内容; 4、经测试,只有搜狗告诉浏览器可以完整显示结果; 5、以下浏览器不显示测试结果:Internet Explorer, 360急速浏览器,Google Chrome, Mozilla Firefox, QQ浏览器,百度影音浏览器,Opera, Safari(其原因可能是浏览器并未返回文件的绝对地址,而只是返回了文件名)。 立即下载

相关推荐

简单的JSP文件上传.txt

简单的JSP文件上传.txt \简单的JSP文件上传.txt

JSP文件上传

JSP 提供了上传和下的功能,用户釆用此功能,可以轻松实现文件的传输。下面介绍文件上传与下的操作。

unber的博客 2666

彻底搞定java文件上传.txt

JAVA的文件上传遍一直是一个比较关注的问题,用的最多的算是三个(我就知道这三个)比较强的,一个是比较早的jspsmartupload,另一个身名族的commonupload,还有一个就是orellay的了.

JS 模态框实现保存成功提示

JS 文件函数编辑示例 $(function(){ var autoFormSubmit = function(e){ var _this = $(this); // closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上 var _form = _this.closest("form");

稚枭天卓 5640

JSP+Servlet实现用户登录状态的保存

编写一个用户登录页面(如果是ip地址为“192”开头的客户访问,则在页面显示该用户的ip地址),输入账号和密码,让用户选择“是否保存登录状态”,如果账号密码相等,则登陆成功,进入欢迎页面。 在登录时,如果保存了登录状态,下次登录时,如果访问登录页面,则进入欢迎页面。但是,客户如果没有经过登录就访问欢迎页面,则跳转到登录页面。以下为思路分析,其中,前端用Bootstrap框架实现,后台基于JS

潜力股wjk的博客 1万+

通过JSP实现:从网页上上一个文本文件,能显示上传成功。之后一个按钮能在网页显示文本文件大小字节数

1.启动tomcat 在tomcat的bin目录下找到startup.bat,双击打开。 2.用Editplus编辑代码,保存在E:\tomcat\apache-tomcat-7.0.88\webapps\ROOT该目录下。 (本次任务包含两部分代码,分别保存为uu.jsp和upload.jsp) uu.jsp代码如下: &amp;amp;lt;%@ page contentType=&amp;quot;te...

张海玲的博客 1036

JSPJSP学习(四)——上传文件JSP网页显示文件大小

发过火

杨贵安的博客 1122

通过JSP网页上上文件

本文目的:通过JSP实现网页上传一个文本文件,能显示上传成功,并且一个按钮能在网页显示文本文件大小字节数)。 1. 创建JSP文件 JSP可以通过HTML的form表单上传文件到服务器。 文件类型可以是文本文件、二进制文件、图像文件等其他任何文档。 1)在D:\apache-tomcat-9.0.8\webapps\ROOT(根据你安装的位置)目录中创建文件上传表单“uploa...

姚明明的博客 4248

JSP页面请求和响应

JSP页面请求和响应1、JSP内置对象2、out的方法3、out输的方法4、page对象5、request获取客户端信息的方法6、request获取表单数据的方法7、request处理中文的方法8、response重定向的使用9、session对象session 的常用方法10、application对象application 对象常用方法11、config对象config 对象常用方法12、p...

xiaobailin_q的博客 4403

JSP页面请求与响应以及保存页面状态

JSP内置对象简介 request 通过getParameter()方法能够得到请求的参数,请求类型(GET,POST,HEAD等)以及HTTPheaders(Cookies,Referer等)。request是ServletRequest而不是HTTPServletRequest的子类,但是request还没有Http之外其他可实际应用的协议。 该对象的作用域:为用户请求期间。respons...

qq_41827511的博客 319

java的文本框如何回车键触发按钮_如何测试一个网站的性能(并发数)?

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负,来在不同压力类别下测试它们的强度和分析整体性能。另外,JMet...

weixin_31545685的博客 121

JavaWeb

HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。文本:html,字符串…超文本:图片,音乐,视频,定位,地图…默认端口:80HTTPS:安全的协议默认端口:443(1).Servlet就是sun公司开发动态web的一门技术。(2).Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:一.编写一个类,实现Servlet接口;二.把开发好的Java类部署到web服务器中。

2301_76556912的博客 993

jmeter一个线程组多个请求_如何测试一个网站的性能(并发数)?

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负,来在不同压力类别下测试它们的强度和分析整体性能。另外,JMet...

weixin_39980575的博客 1646

如何测试一个网站的性能(并发数)?

击打开链接 JMeter网站并发性测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负,...

u012577904的博客 4843
上一篇: 将所学的英文生词做成一张表,自己设计好表的字段和结构,设法放入MySQL数据库中,通过JSP网页将表中将“以A开头的名词”(即可以可选字母开头、任意可选词性)统统查出来并显示在JSP网页上。
下一篇: 实现一个用JSP写的查询单词的网页
杨丙的博客
博客等级 码龄8年 78粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值