关闭

jsp 实现文本文件上传

278人阅读 评论(0) 收藏 举报
分类:

首先用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里面接口解决这个问题。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:41299次
    • 积分:628
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:7篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论