注:本文系做者在看了浪曦的風中葉老師的struts2視頻的我的總結,但願能幫助廣大struts2的初學者。
本講主要講解struts2的文件上傳機制的底層。
首先咱們仍是新建一個新的web project 取名爲upload_test
而後在WebRoot中新建兩個jsp頁面 upload.jsp 和result.jsp
代碼分別以下:
upload.jsp
html
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> web
<% app
String path = request.getContextPath(); jsp
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; post
%> ui
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> spa
<html> .net
<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'
加上這兩個內容後,再試一次 就成功了
struts2 核心攔截器2 (微微進階)——stru ...
upload_test.rar (3.1 KB)
下載次數: 116
評論 共 9 條 請登陸後發表評論
http://www.jianruishiyouyaowu.com
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
這篇文章我也沒有看出來與structs2有關係?
一塌糊塗~~~~
看不懂這些回覆的朋友怎麼理解的。
我覺着這個例子滿合適的,很是簡短,說明了原理,一看即明。
引用
請教這篇文章和struts2有什麼關係?
這個是講上傳的原理,不是struts2的上傳如何用。
引用
就兩個JSP文件 還號稱上傳的底層 我都很差意思說了。。
難道寫上一堆?初學者好理解嗎?
引用
別告訴我你的後臺是空的昂~~~最好能將java程序不寫在jsp頁面上~~
如今這樣不是更簡潔易懂嗎?
就兩個JSP文件 還號稱上傳的底層 我都很差意思說了。。
引用
本講主要講解struts2的文件上傳機制的底層。
請教這篇文章和struts2有什麼關係?
強烈建議:代碼格式太亂了,另外是否能夠把
<meta http-equiv="pragma" content="no-cache">
諸如此類的跟該程序無關的代碼去掉,那樣會更清晰些。
sharp_lover 寫道
別告訴我你的後臺是空的昂~~~最好能將java程序不寫在jsp頁面上~~
是的 呵呵
別告訴我你的後臺是空的昂~~~最好能將java程序不寫在jsp頁面上~~