您的位置:首页 > Web前端 > JavaScript

jsp 实现文本文件上传

2016-06-01 20:35 387 查看
首先用MyEclipse创建一个项目,我们修改WebRoot下的index.jsp文件。在index.jsp中添加一个表单用于文件上传。代码如下:

<body>
<form name="fileupload" enctype="multipart/form-data" action="ngst/UploadFile" method="post">
<input name="file" type="file"></input><br>
<input type="submit" value="上传" />
</form>
</body>


Html代码很简单吧!但是这里要注意的是在form中必须添加一个enctype="multipart/form-data",我们暂且不管它是什么意思,知道必须有它就行了。还有就是method的值为post。

然后我们新建一个servlet,命名为Upload。然后我们在它的doPost中添加java代码:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("dopost......");
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
InputStream is= request.getInputStream();//通过获取输入流对象
String savepath = "D:\\文件"; //设置文件的保存路径
File f = new File(savepath); //创建一个文件对象
if(!f.exists()){  //判断这个文件夹是否存在
f.mkdir(); //如果不存在创建这个文件夹
}
FileOutputStream fos = new FileOutputStream(savepath+"\\"+"file.txt"); //创建一个文件输出流对象
byte []b = new byte[1024]; //开辟一个缓存空间
int len=0;
while((len=is.read(b))!=-1) //读取数据
{
fos.write(b, 0, len); //写入数据(也就是写入到D:\文件\file.txt,这是我们前面设置的路径)
}
fos.close();//关闭数据流
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>文件上传</TITLE></HEAD>");
out.println("  <BODY>");
out.println("<h1>上传成功!</h1>");
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
就是这么简单,只要java IO那一块学的不错,应该不难吧!

让我们看一下在D:盘下是不是多了“文件”这个文件夹,打开里面是不是有一个file.txt,肯定是有的!

我们打开看一下:

------WebKitFormBoundaryz92qYDpa0WCuiuge
Content-Disposition: form-data; name="file"; filename="瀹為獙姝ラ.txt"
Content-Type: text/plain

实验步骤:
一、sql*plus的启动和关闭
1、通过oracle菜单启动sql*plus
在开始菜单找Oracle-OraDb11g_hone1下的应用程序开发,找到SQL Plus点击打开sql*plus。
输入你的用户名并按回车。
SQL*Plus将提示:请输入口令:
输入你的密码并按回车。
即可进入SQL*Plus的提示符:

------WebKitFormBoundaryz92qYDpa0WCuiuge--


我们发现文件的前三行和最后一行不是上传文件的内容,这是关于上传文件的一些信息,文件来自哪儿,文件名等。这是这种上传方式的一种弊端!由于这种弊端我们只能上传文本文件!

要想解决这个问题我们可以用apache官网发布的commons-fileupload-1.3.1.jar里面接口解决这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: