原创作者: radovi
阅读:5322次
评论:9条
更新时间:2011-05-26
注:本文系作者在看了浪曦的风中叶老师的struts2视频的个人总结,希望能帮助广大struts2的初学者。
本讲主要讲解struts2的文件上传机制的底层。
首先我们还是新建一个新的web project 取名为upload_test
然后在WebRoot中新建两个jsp页面 upload.jsp 和result.jsp
代码分别如下:
upload.jsp
然后是result.jsp页面:
这样的基本课可以上传了
点击文件后点击提交 那么跳转到了result.jsp页面 可是没有任何信息输出 这是怎么回事呢
这里要注意的是 在文件上上传的表单中必须要包含两个内容
method='post' 还有 enctype='multipart/form-data'
加上这两个内容后,再试一次 就成功了
本讲主要讲解struts2的文件上传机制的底层。
首先我们还是新建一个新的web project 取名为upload_test
然后在WebRoot中新建两个jsp页面 upload.jsp 和result.jsp
代码分别如下:
upload.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action='result.jsp' name='upload'> username : <input name='name' type='text'><br> file : <input name='file' type='file' > <br> <input type='submit' value='submit' name='submit'> </form> </body> </html>
然后是result.jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%@ page import='java.io.*' %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'result.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% InputStream is = request.getInputStream(); // 新建一个inputstream对象 注意应该在这个页面中导入java.io.*包 BufferedReader bu = new BufferedReader( new InputStreamReader(is)); // 将输入的内容转换成字符流 String buffer = null; while( (buffer = bu.readLine()) != null ) //如果还有内容 怎继续输出 { out.print(buffer+"<br>"); } %> </body> </html>
这样的基本课可以上传了
点击文件后点击提交 那么跳转到了result.jsp页面 可是没有任何信息输出 这是怎么回事呢
这里要注意的是 在文件上上传的表单中必须要包含两个内容
method='post' 还有 enctype='multipart/form-data'
加上这两个内容后,再试一次 就成功了
9 楼 1351539356 2011-04-03 23:49
http://www.hshxjx.com
http://www.jrsy100.com
http://www.6699ok.com
http://www.50suncity.net
http://www.wabjw.com
http://wenwen.soso.com/z/q274894589.htm
8 楼 虚弱的java 2011-02-19 14:53
7 楼 cokin_tkj 2010-07-30 15:30
6 楼 ynstudio 2010-02-08 19:47
我觉着这个例子满合适的,非常简短,说明了原理,一看即明。
这个是讲上传的原理,不是struts2的上传如何用。
难道写上一堆?初学者好理解吗?
现在这样不是更简洁易懂吗?
5 楼 xici_magic 2009-12-16 15:10
4 楼 yangqianyu222 2009-06-12 11:06
请教这篇文章和struts2有什么关系?
3 楼 yangqianyu222 2009-06-12 10:57
诸如此类的跟该程序无关的代码去掉,那样会更清晰些。
2 楼 radovi 2009-03-13 12:57
别告诉我你的后台是空的昂~~~最好能将java程序不写在jsp页面上~~
是的 呵呵
1 楼 sharp_lover 2009-03-13 09:44