網站首頁 個人文檔 個人總結 工作總結 述職報告 心得體會 演講稿 講話致辭 實用文 教學資源 企業文化 公文 論文

java web實習報告

欄目: 實習報告 / 發佈於: / 人氣:3.13W

目錄

java web實習報告
第一篇:java web 開發技術實驗報告模版第二篇:java web課程設計實訓報告第三篇:java web郵件學習第四篇:java web總結第五篇:java web總結更多相關範文

正文

第一篇:java web 開發技術實驗報告模版

項目綜合實踐報告 題目:html+css 旅遊門户網站設計

班級:計算機2014(1)姓名:丁一學號:954211完成日期:2014.9.14

一、分析設計

用文字、圖表等説明設計思路及設計結果。

二、主要源代碼

html

css

三、效果圖

屏幕抓圖

四、調試過程

(調試過程中碰到的問題及解決方法)

五、實驗結論

1、實驗結果圖

2、實驗心得體會

第二篇:java web課程設計實訓報告

java web課程設計實訓報告

我們進行了為期一週的java web的課程實訓。在這次實訓中,我覺得我學到了很多東西。這次,老師給我們安排了一個項目,是關於商店購物的。首先,我們劃分了幾個小組,每組4-6人,每個人有每個人的工作,每個人的工作完成後整合到一起,這個項目就完成了。我在我們小組的工作是寫一段刪除商品的java代碼。因為我的基礎比較差,所以我分擔的工作比較少,下面是我做的一段代碼:

public void deleteproduct(string id) {

statement stmt = null;

connecttodb();

int tempid =

eint(id);

try {

stmt =

testatement();

ute("delete from

shop_info where product_id=" + tempid);

} catch (exception e) {

tstacktrace();

} finally {

close(, stmt, null); }}

總而言之,這次實訓對我的幫助很大,我工作會很有從中學到了什麼是團隊協作,正所謂團結就是力量,不僅如此,我還學到了很多的專業知識,積累了一些經驗。我想,對於我以後的工作會很有幫助,希望還能有更多像這樣的機會讓我能夠鍛鍊我自己。

第三篇:java web郵件學習

上傳文件總結:

1、 驗證是否要處理的是上傳文件

ltipartcontent(request)

2、 創建diskfileitemfactory 對象並對其初始化設置

diskfileitemfactory factory = new diskfileitemfactory();

izethreshold(20 * 1024);

epository(epository());

3、 創建servletfileupload 對象並設置其編碼方式

servletfileupload upload = new servletfileupload(factory);

eaderencoding("gbk");

4、 開始獲取上傳文件的集合:

formlists = erequest(request);

5、 設置上傳文件允許的大小

int size = 2 * 1024 * 1024;

6、 循環遍歷formlists集合來根據其元素的類型(普通表單域還是文件域)進行賦值還是上傳功能 iterator iter = ator();

while (ext()) {

fileitem formitem = (fileitem) (); 7、 是文件域則執行上傳:

具體做法:(1)、獲取文件路徑全名:string name = ame();

(2)、判斷文件名後綴是否符合要求:!with("mp3")

(3)、判斷文件大小是否符合要求ize() > size

if/else(4)、都符合要求則上傳:

第一步:判斷文件的名稱不能為空(ame())、大小不能為0

(ize()),如果不符合要求則continue執行下一循環

第 二步: 獲取文件的單純文件名稱: tring(indexof("")

+ 1, th());

第 三步: 設置保存到的服務器地址:filedir ("file/") + "" + 單純名稱;file savefile = new file(服務器地址);

第 四步: 上傳: e(savefile);

、 是普通表單域則將表單項的值賦值給相關對象變量,如(更多內容請訪問好範 文網:)javabean(每一次循環將該次對應的表單項的值付

給適當的變量對象)

string formname = ieldname(); 獲取普通表單項的名稱

string con = tring("gbk");

用ls(““)來判斷

下載文件具體方法:

1、 獲取服務器下載地址並將此地址字符串進行編碼:

string path=arameter("path");

2、 創建下載目錄:

file file = new file(path);獲取普通表單項的值並編碼 path=new string(ytes("iso-8859-1"));

3、 創建文件字節輸入流

inputstream in = new fileinputstream(file);

4、 創建輸出流對象

outputstream os = utputstream();

5、 設置該輸出流的應大頭、編碼等配置

eader("content-disposition", "attachment;filename="

+ new string(ame()ytes("gbk"),"iso-8859-1"));

eader("content-length", th() + ""); haracterencoding("gbk");

6、 開始下載:

int data = 0;

while ((data = ()) != -1)

{ e(data); }

7、 關閉輸入輸出流

e();

e();

郵件接收的方法:

dao:

1、 創建郵件接收類:store

思路:創建properties類並添加屬性->創建session對象->創建store對象並連接到服務器和編寫關閉方法

2、 獲取全部已讀郵件的名稱集合的方法 返回string

3、 獲取全部已讀或未讀郵件的內容的方法返回list(包含郵件信息和附件狀態,但不包含具體附件內容) 思路: 獲取store對象->獲取pop3folder對象->打開pop3folder郵件夾->創建fetchprofile預提取對象並對其添加兩個常用屬性->定義message[]對象數組並設為null->獲取全部已讀郵件的uid字符串->若字符串不為空則->轉換為數組並進行排序->根據要求的已讀或者未讀條件來獲取全部已讀或未讀郵件信息給message[] (ch)->後退三步-若字符串為空則->獲取全部未讀郵件信息message[]---?開始提取上述郵件數組中每一個郵件的詳細信息->循環遍歷message[]數組->定義mimemessage對象並賦值為數組元素->獲取郵件id、發件人、郵件時間->根據編碼類型獲取郵件主題->由自定義方法獲取此郵件的附件對象(string[])->message[i]lags()ystemflags()ring();->如果判斷返回的郵件有附件,則獲取附件設置為1,否則設置為0(來控制頁面中的附件圖標的顯示)->將此郵件信息對象添加到list中。

4、 向數據庫中添加已讀郵件的標記的方法:iduid address

5、 獲取指定郵件中附件的方法:此方法中重點是對郵件內容的編碼處理,故這裏重點介紹主要功能語法: 思路:(1)定義該郵件名稱對應的所有附件連接字符串為超鏈接(附件之間用空格隔開)(string,由多個”附件序號=&附件名稱=&郵件序號”組成),定義郵件名稱字符串(已知條件)

(2) multipart multipart = (multipart) ontent();得到該郵件所有的內容集合,然後對其遍歷以獲取每一個multipart中每一個bodypart->判斷此bodypart是否為附件,若是附件則獲取該附件的名稱 並添加到(1)中的連接字符串中,連接字符串中附件序號為遍歷變量j

最後: int counts = ount();

bodypart對象的個數 //返回mimemultipart對象中保存的//關閉流 ontenttype("application/octet-stream");

for (int i = 0; i < counts; i++) {} getmailattach(odypart(i), emailv);

並返回string[] obj = { 郵件主題內容, filename1 };

6、 對輸入的utf7編碼的內容進行轉碼的方法

servlet:

下載附件servlet:

思路:設置ontenttype("text/html;charset=gbk")、

haracterencoding("gbk")->創建httpsession對象->創建servletoutputstream對象->獲取頁面傳遞變量:附件序號、附件名稱;獲取session變量"message"->將附件名稱進行編碼處理:filename=new

string(ytes(),"iso-8859-1")->eader("content-disposition","attachment;filename="+filename)->由”message”獲取multipart對象->由multipart對象獲取bodypart對象->由bodypart對象獲取inputstream對象->開始下載:

int c=0;

while((c=())!=-1){e(c);}

收取郵件servlet(郵件的全部具體信息):

1、 郵箱登陸的驗證方法:

思路:獲取表單傳遞值的host username pwd->用dao(1)中的方法進行用户驗證如果正確->創建httpsession對象->用ttribute的方法保存登陸的用户信息(以上三個)->

e();

2、 獲取當前分頁頁面中已讀或未讀的全部郵件的集合(包含郵件信息和附件狀態,但不包含具體附件內容) 思路:創建httpsession對象,並獲session變量host username pwd和request變量"flag"和"page"-> ttribute("flag", flag)->根據request變量”page”來判斷是否已經開始分頁瀏覽->若沒有則先執行dao(3)方法獲取已讀或未讀的全部郵件集合,然後執行自定義分頁類中的初始化方法獲取上述集合中的第一頁中的郵件集合,並ession()ttribute("pagination", 分頁類的實例化);->若已經開始分頁,則將當前頁page賦值為已經存在的session類型的分頁類對象中的getpage方法中返回的page,並且執行自定義分頁類中的類似初始化方法的獲取當前頁面集合的方法(具體看程序)

3、 查看郵件詳細信息:(獲取指定郵件的信息)

思路:同dao(3)中的方法相似 不同之處是:dao(3)查詢的是全部已讀或未讀 而本案查詢的是指定的郵件id tools:

本案中主要為分頁類的編寫:

1、 初始化獲取第一頁的集合

2、 獲取已分頁的當前頁面的集合

3、 獲取全部記錄數

4、 獲取最大頁數

5、 獲取當前頁數

6、 獲取分頁導航

第四篇:java web總結

java web 總結

運行原理

(1)用户通過客户端瀏覽器向服務器發送請求。

(2)jsp文件將jsp引擎編譯成java的class文件,即servlet。

(3)將產生的servlet加載到內存執行。

(4)servlet的運行結果以html(或xml)形式通過web服務器返回客户端的瀏覽器。

項目設計

(1)公開目錄(2)web_inf目錄(3)class目錄

的基本語法

(1)腳本元素:聲明、腳本段、表達式。

(2)腳本段:<%%>

(3)聲明:<%!%>不會產生任何輸出內容→聲明全局變量。

(4)表達式:<%= %>

(5)el表達式:${ }

(6)指令元素:<% @ %>不在客户端可見

(7)page指令、include指令、taglib指令

page指令:language屬性、contenttype(text/html)、text/plain application/msword、application/x-msexecl、pageencoding、info、import屬性.

include指令:在jsp頁面中靜態包含一個文件 <@include file=""%>taglib指令: <%@taglib uri="標記庫的uri地址" prefix="前綴名"%> 指令元素翻譯階段執行,動作元素執行階段被執行。

<jsp:include>用於包含其他文件可以是靜態文件,也可以是動態文件。 <jsp:include>?</jsp:include>包含動態文件時

用<jsp:param>傳 (建一值)

考點:

4.指令與動作的區別(include)

1.執行時間不同

指令<%@ include file=" "%>是偏譯時包含靜態文件

動作<jsp:include page=" ">?</jsp:include>是運行時包含的文件

2.引入內容不同

指令<%@include file="relatirveuri"%>引入靜態文本()。

動作<jsp:include page="relativeuri" flash="true"/>引入執行頁面或severlet的應答文本。

內置對象

out,request,response,session,application,page,pagecontext,exception,config

request客户端向服務端發送請求。

response用於服務器端封裝jsp處理請求後產生的結果。

response對象的send redirect(url)方法相當於兩次請求。

而<jsp:forward>在網址不變情況下內部跳轉不同頁面,但依舊屬於同一次請求

ion和cookie的區別

1.存放地點不同

session存放在服務器端,cookie存放在客户端的硬盤裏

2.存活時間

session隨用户訪問服務器而產生,隨客户下線或超時而消失

3.安全性

session存放在服務器端,不能被修改,且隨客户端瀏覽器的關閉而消失,安全性較好。cookie存放在客户端,安全性較差。

7.數據庫

er

ermanager——加載驅動程序

etion——表示數據庫連接對象,對數據庫一切操作都在這個基礎上

ement——執行sql語句和返回結果

ltset——結果集用來暫時存放數據庫查詢操作結果

8.編寫程序的步驟

1.裝載驅動程序

ame("er")

2.定義所需連接數據庫的地址

string mysqlurl="l://host:port/dbname"

3.建立與數據庫的連接

connection conn= connection(url,"登錄數據庫用户名","

密碼")

4.聲明並執行sql語句

5.處理返回的結果

6.關閉對象

string driverstr="er"

string connstr="jdbc:mysql://localhost:3306/book";

class forname(driver str)

connection conn=onnection(connstr."root"."123") 第4步:建立語句對象

statement stmt=testatement()

第5步:聲明並執行sql語句

string sql="select*from book";

resultset rs=utequery( sql);

第6步:

statement接口的3個方法:1、resultset executequery(string sql)

2、int execute update(string sql)

3、boolean execute(string sql)

resultset的方法:1、boolean next()

2、get xxx()

第7歩:e()e()e()

注:關閉資源的順序與打開資源順序恰好相反。

第8步:異常處理

try{.........}catch(sqlexecption ex){.........}

bean 組件(可重用)

組件:是一個獨立的模塊,外界可以不瞭解內部如何實現,只需通過其提供的接口對組件進行訪問即可,組件可重用。

特點:1、實現代碼重複使用;2、易編寫,易維護,易使用。

bean類的編碼約定

1、類實現了alizable接口

2、必須放在某個package(包)中

3、類中如果有構造方法,那麼這個方法是共有的,並且無參數

4、所有屬性都是私有的(private修飾)

5、get xxx:用來獲取屬性,此方法是共有的

6、set xxx:用來設置屬性,此方法是共有的

7、對於boolean類型的成員變量允許使用“is”代替“get”和“set”

8、類中的普通方法不適合上面的命名規則,但這個方法必是public的。

3個標記:

<jsp:usebean>網頁中創建javabean實例

<jsp:setproperty>用於為bean中的屬性賦值

<jsp:getproperty>用於獲取bean中屬性的值

<jsp:usebean>id=”javabean實例名”class=”javabean對應的類名” <jsp:setproperty> 設置<jsp:usebean>的屬性

<jsp:getproperty>獲取javabean實例指令的屬性值,並將這個值轉換成字符串顯示到jsp頁面。

let的生命週期

(1)當客户第一次請求servlet時,servlet被加載到內存 容器會創建servlet實例,並調用其init()方法進行初始化工作。

(2)容器創建請求對象,然後調用servlet的service()方法為客户提供服務。

(3)當servlet不再被需求時,容器調用servlet的destory()方法將servlet實例銷燬。

let開發

引入let.* 和x,.*包

let過濾器

servlet過濾器是一種java組件,它位於客户端和處理程序之間

servlet過濾器工作原理

l1和model2

model1:jsp+javabean

model2:jsp+servlet+javabean

model1中,jsp頁面實現頁面顯示、業務邏輯和流程控制,數據處理由javabean完成。

優點:進行快速和小規模的應用開發時優勢非常明顯。

缺點:不利於web應用的擴展和更新;調試和排錯困難。

model2中,mvc模式--->模型-視圖-控制器.即把web應用的輸入輸出和處理流程按照和controller分成三層。

model1和model2的區別:

model1和model2實際上就是對採用jsp技術開發的web應用的不同模型的描述。model1採用jsp+javabean技術開發web應用,它比較適合小規模應用的開發,效率較高,易於實現,但由於在jsp頁面中內嵌了大量的java代碼,以至於當業務邏輯複雜時,代碼可維護性、可擴展性和可重用性就會下降;model2採用jsp+servlet+javabean技術開發web應用,該模型基於mvc模式,完全實現了頁面顯示和邏輯的分離,它充分利用了jsp和servlet兩種技術的優點,jsp更適合前台頁面的開發,而servlet更擅長服務器端程序的編寫,model2分工明確,更適合大型項目的開發和管理。

視圖(view)用於與用户交互,可以用實現。

15.模型(model)用於表示業務數據和實現業務邏輯,可以用javabean實現 控制器(controller)完成流程控制,它接收來自視圖層用户輸入的數據,並調用相應的模型進行處理,最後選擇合適的視圖去響應用户。控制層可以用servlet實現。

優點:mvc模式完全實現了頁面表示和業務邏輯的分離;

mvc優勢之一在於三層各司其職,互不干涉。

缺點:沒有明確的定義。

模型層為javabean,實現了數據的表示和業務邏輯,視圖層為jsp頁面,只負責顯示功能。

控制器為servlet,負責接收用户的請求,設置javabean屬性,調用javabean完成業務處理,最後將處理結果交給jsp頁面顯示。

16.自定義標籤

對隱式對象的操作、處理表單、訪問數據庫及其他企業級服務。

自定義標籤種類:

1.不帶有屬性和標籤體:<my prefix:sometag/>

2.帶有屬性沒有標籤體的標籤:<tag . myattribute:"test"/>

3.帶有屬性帶有標籤體:<myprefix:someteg myattribute="test"/>mybody

</myprefix:sometag>

表達式

基本語法${expr}

功能:對屬性對象的簡明訪問:${user}

對屬性對象的屬性訪問:${tname}

對屬性集合元素的訪問:對數組和list:${variable[index]}對map:${variable[key]}

對請求參數cookie等的簡單訪問.

請求參數${id}

cookie對象:${cookie}

18."."操作符和"[ ]"操作符

${ess}=${user[address]}

訪問數組和集合元素,需使用[ ]

${class[0]}=${class[0][name]}

${name}={%=arameter("username")%}

19."."與"[ ]"使用存在差異

1.當訪問的數據中包含一個特殊字符(如:"."或"_"時),就必須用"[ ]"操作符

2.當動態取值時必須使用"[ ]"操作符,"."操作符只能取到靜態的值

注:當"[ ]"操作符中的屬性名為常量時必須用''''引起,否則將會當做變量來處理.

標籤

1.<sql:set data source>標籤

2.<sql:query>執行數據庫查詢

3.<sql:update>執行數據庫更新

4.<sql:param>和<sql:dateparam>指明參數值

5.<sql:transaction>用於事務處理

21. tomcat的目錄結構及描述:

bin放置啟動和關閉tomcat的可執行文件和批處理文件

common放置在此目錄中的jar、class文件,可以被此服務器下所有的web應用使用

conf放置tomcat的主要配置文件

logs放置tomcat的日誌文件

server放置tomcat管理接口的應用

src放置tomcat相關的源代碼

temp放置tomcat臨時文件

webapps 放置tomcat應用的目錄

work放置jsp頁面翻譯成對應的servlet類的目錄

第五篇:java web總結

java web 總結

servlet的繼承層次很多,但是我們web開發常用的也就是servlet這個類,我們常用的 兩個請求方法是doget(),dopost(),還有從父類繼承過來的方法init()初始化,destroy()servlet銷燬時會被調 用,getservletconfig()獲得servletconfig對象,getservletinfo()返回有關servlet的信息,包括作 者、servlet版本等。

servlet的訪問必須在,怎麼配置會在下面舉例。 常用方法:

1、haracterencoding("utf-8");//設置用post傳遞給服務器的參數編碼方式

2、ontenttype("text/html;charset=utf-8");//設置發送給瀏覽器的內容編碼

3、httpsession session = ession();//獲得session會話ttribute("a","b");//給session作用域中存值可以這樣取值:ttribute("a");

4、servletcontext context = ervletcontext();整個web應用對象,或者用servletconfig對象ervletcontext()獲得

string str = nitparameter("encoding");//獲得全局參數

5、servletconfig config = ervletconfig("p1");//獲得某個servlet專用的配置對象

string str =nitparameter("p2");//獲得某個servlet的專有配置參數

6、string str = arameter("s");//獲得頁面傳過來的參數

7、string[] sa = arametervalues("sa");//獲得字符串數組

8、ttribute("r","寶寶");//往request作用域中存值。在頁面可以${r}這樣取出寶寶。

9、printwriter out = riter();//獲得標準輸出流,此流內部做了處理直接會輸出給瀏覽器。

10、equestdispatcher("/")ard(request,response);//轉發redirect("");跳轉

連接數據庫的基本過程

加載驅動程序

創建連接對象

創建語句對象

編寫sql語句

使用語句對象執行sql語句

如果有結果集對結果集進行處理

關閉結果集對象(如果有),關閉語句對象,關閉連接對象

如何加載驅動程序

ame(“驅動程序名字”):

如何創建連接

通過drivermanager的getconnection方法,有3個參數,第一個參數是url,第二個參數是用户名,第三個參數是口令。

http 是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分佈式超媒體信息系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和 擴展。目前在www中使用的是http/1.0的第六版,http/1.1的規範化工作正在進行之中,而且http-ng(next generation of http)的建議已經提出。

http協議的主要特點可概括如下:

1.支持客户/服務器模式。

2.簡單快速:客户向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有get、head、post。每種方法規定了客户與服務器聯繫的類型不同。由於http協議簡單,使得http服務器的程序規模小,因而通信速度很快。

3.靈活:http允許傳輸任意類型的數據對象。正在傳輸的類型由content-type加以標記。

4.無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客户的請求,並收到客户的應答後,即斷開連接。採用這種方式可以節省傳輸時間。

5.無狀態:http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶

能力。缺少狀態意味着如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時它的應答就較快。

默認推薦訪問其他精彩內容:

java web 流程

java web複習

java web 大題(新)

java web測試題

java實習報告