jsp 实现文本文件上传

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


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gybshen/article/details/51558811
个人分类: Java web
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭