第一篇:《JSP網站》實踐報告模版
《JSP網站》實踐報告
專業:信息與計算科學
班級:信息
姓名:牟林
指導教師:
**網頁開發(就業信息網)0802
200X年XX月----
摘要
在Internet飛速發展的今天,互聯網已成為人們快速獲取、發布和傳遞信息的重要渠道,正以一種前所未有的沖擊力影響著人類的活動。它在人們政治、經濟、生活等各個方面發揮著重要的作用。因此網站建設在Internet應用上的地位顯而易見,它已成為政府。企事業單位信息化建設中的重要組成部分,從而倍受人們的重視。
這次所設計的課題正是互聯網與社會生活之間的緊密關系的體現,現金的社會,人們已經離開不了網絡,網絡已經成為人與人之間交流的一種形式,它能夠把事情的復雜化轉為簡單化,拜托了時間和空間的限制。本文是為消費者提供一個網絡生活空間。通過該網頁展示了企業介紹、招聘信息、留言等一系列內容的介紹。瀏覽者可以直接在網上申請應聘。本文還介紹了網頁的結構分析和具體功能實現,網頁的界面和運作方式。
關鍵詞: JavaBean、JSP、SQLServer2000、目錄
一.1.1 **的目標和意義..............................1 二級標題(標題2)..........................1
1.1.1
二.2.1 三級標題(標題3)...........................1 目前國內外相關工作情況............................1 二級標題(標題2)..........................1
2.1.1
三.3.1 三級標題(標題3)...........................1 **網頁的總體設計.................................1 二級標題(標題2)..........................2
3.1.1
四.4.1 三級標題(標題3)...........................2 XX網頁的詳細規劃..............................2 二級標題(標題2)..........................2
4.1.1
五.5.1 三級標題(標題3)...........................2 測試....................................2 二級標題(標題2)..........................2
5.1.1 三級標題(標題3)...........................2
參考文獻.................................3一.**的目標和意義
本章內容提示:
給出課題背景與意義
課題要研究什么?解決什么問題?
你所分擔工作的描述
對社會經濟、科學(或學科)發展、技術進步等有什么意義?
1.1 二級標題(標題2)
1.1.1 三級標題(標題3)
最多三級標題,其它為正文。
二.目前國內外相關工作情況
本章內容提示:
現在有那些人在做與題目相關的研究工作?
運用(采用)了什么樣的方法?
你對現有的開發工具(如html asp.net等)有什么樣的評價?
分析你所選用的開發工具的特點和優勢。
目前的發展趨勢是什么?
2.1 二級標題(標題2)
2.1.1 三級標題(標題3)
最多三級標題,其它為正文。
三.**網頁的總體設計
本章內容提示:
整體方案設計
分析你所使用的技術。
畫出系統的功能圖等并進行文字說明。
3.1 二級標題(標題2)
3.1.1 三級標題(標題3)
最多三級標題,其它為正文。
四.XX網頁的詳細規劃
結合你所實現的功能,使用文字和代碼說明開發過程、開發的流程圖、界面等
4.1 二級標題(標題2)
4.1.1 三級標題(標題3)
最多三級標題,其它為正文。
五.測試
本章內容提示:
結果運行界面說明測試結果。
5.1 二級標題(標題2)
5.1.1 三級標題(標題3)
最多三級標題,其它為正文。
沈陽化工大學計算機學院實踐報告
JSP網站實踐參考文獻
在論文中引用其它文獻的內容,都要列于此。
注意:論文內容決不允許抄襲,但允許小部分(幾句話)的引用。
按引用文獻的順序,列于論文末。文獻是期刊時,書寫格式為:“作者,文章題目,期刊名,年份,卷號,期數,頁碼。文獻是圖書時,書寫格式為:作者,書名,出版單位,年月。
例:毛海軍,唐煥文.基于Agent的決策支持系統[J].計算機工程與應用,2001.37(15):12~13黃梯云.智能決策支持系統[M].北京:電子工業出版社,2001[美]Bruce Eckel著.京京工作室 譯.Java編程思想[M].北京:機械工業出版社,1999,4Corry, Mayfield, Cadman.COM/DCOM programming guide[M].Beijing, Tshinghua University Press,2000
第二篇:jsp校友錄網站
基于JSP校友錄系統的設計與實現 關鍵字:: 校友錄,信息,管理
計算機技術的快速發展,特別是計算機網絡的發展,它影響了人們生活的方方面面.各種在線服務系統,更是深刻的影響了人們的聯系方式,使得人們可以在遠隔千里之遙隨時通訊.過去的種種陳舊的聯系方式,已經不能滿足現代生活的需要.校友錄作為一種方便校友之間聯系的實用系統便應運而生.校友錄為校友之間進行交流和聯系提供了一個平臺.通過提供完善的校友錄服務和規范校友錄的管理,可以達到增進校友之間、校友與母校之間的感情,方便校友聯系的目的.本文主要介紹了數據庫管理網站的方案論證、結構特性設計及行為特性設計的實現過程,詳細論述了總體設計思想、數據庫設計和功能模塊設計.實現了班級留言、班級相冊、班級共享、紙條傳情、個人信息管理、管理員信息管理等功能.整個系統的設計過程中,充分考慮了數據庫的安全性、一致性、穩定性和可靠性的問 第一章概述 1.1 題目背景
計算機技術的快速發展,特別是計算機網絡的發展,越來越深刻的改變了人們生活的方方面面.使得人們能以更低廉的價格,開發出更方便、更實用的網絡工具.各種在線服務系統,更是深刻的影響了人們的聯系方式,使得人們可以在遠隔千里之遙隨時通訊.過去的種種陳舊的聯系方式,已經不能滿足現代生活的需要.校友錄作為一種方便校友之間聯系的實用系統便應運而生.校友錄為校友之間進行交流和聯系提供了一個平臺.通過提供完善的校友錄服務和規范校友錄的管理,可以達到增進校友之間、校友與母校之間的感情,方便校友聯系的目的.目前網絡上已經存在很多校友錄,像ChinaRen、網易、新浪、5460等,它們都有各自的特色,當然也有一不足.比如: ChinaRen的校友錄,速度快,但功能單一,突出留言功能;5640的 ,則功能比較新穎,界面樸素,但速度慢;新浪的功能較全,但界面很花哨,不易適應.所以我將設計一個校友錄管理網站,以友好的界面,快捷的操作完成強大的功能 1.2 項目內容
校友錄管理網站是基于SQL SERVER 2000數據庫系統開發的應用系統,它充分利用計算機及網絡的數據處理、數據協同、數據分析的能力,也從根本上加強并促進了同學間的信息交流、資源共享及有效的管理等,進而增強了交流和管理.項目的內容主要包括: 1)班級留言:普通文本留言 多彩HTML留言留言修改 2)班級:相片上傳相片評論 自動縮略圖 3)班級共享:共享文件上傳
4)紙條傳情:給具體某人的小紙條
5)班級管理和班級參數的設置更加方便 6)成員地址簿和班級留言的導出 7)個人信息管理、管理員信息管理 1.3 系統的設計與實現目標
1)操作界面友好、功能多、操作簡單,查詢功能強大 2)數據庫設計合理,減少冗余數據,提高系統效率
3)應用JSP技術,前臺采用Jbuilder作為編譯環境,后臺數據庫使用SQL Server 2000.第二章方案論證 2.1 總體設計思想
一個校友錄所應具備的基本功能,主要包括學校搜索、班級搜索、校友/同學搜索、班級留言、成員地址列表、班級相冊、班級共享、成員來訪記錄、個人信息、班級管理等功能.我采用JSP技術,封裝數據庫操作,所有的數據通過Bean來處理,JSP實現頁面的表現,這樣就把頁面的表現和頁面的邏輯相分離.(如下圖:)第三章結構特性設計 3.1 結構設計
這一章主要向大家介紹本系統所涉及的具體的數據庫結構,本系統后臺數據庫采用的是SQL Server 2000企業版,下面將做一下簡要的介紹.本系統主要涉及到的數據庫中的表有: 省份信息表:用于記錄省份的名稱和id號.城市信息表:用于記錄城市名稱,城市和省份的id號.省份信息表和城市信息表的關系是一對多的關系.安全信息表:用于記錄與安全信息相關的內容,安全碼是除有效證件之外最高級別的帳號保護措施.利用安全碼不僅可以修復登錄密碼,還可以修改密碼提示問題及答案、重新設置保密郵箱等.用戶注冊信息表:用于記錄用戶名,密碼等內容.用戶個人信息表:用于記錄用戶的個人詳細資料.紙條信息表:用于記錄用戶與用戶之間所傳遞的站內短消息內容,包括消息發送時間,內容及傳遞雙方的用戶名等.班級信息表:包括班級的創始人,創辦日期,班級宣言等班級相關信息.班級留言信息表:用于記錄班級的留言信息.成員信息表:包括成員名稱,所屬班級等相關信息.學校信息表:包括學校名稱,級別等相關信息.3.2 數據庫設計
數據庫指長期存儲在計算機內的、有組織的、可共享的數據集合.數據庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享.本系統的設計與實現了多個表用于信息存儲.下面將本系統數據庫設計中建立的表列出,運用這些表基本上能存儲系統運行涉及的數據.4.2 功能概要設計 4.2.1系統總體模塊
在校友錄管理網站中,用戶可以實現多種操作,像學校管理,班級管理和用戶管理.在學校管理中,用戶可以通過選擇所提供的城市和省份對學校進行創建和搜索等操作.在班級管理中,用戶除了可以創建、搜索班級之外,還可以對班級成員進行管理,并且還可以在班級管理中進行班級留言和班級相冊的操作.在用戶管理中,對于用戶的注冊、登錄、安全設置等方面做了詳細的操作.4.2.2學校管理模塊 l 創建學校
在該功能中用戶可以通過選擇學校類型,學校所在城市和地區,填寫學校全稱來建立一個新的學校.為了使同學和其他用戶能準確方便地找到自己所屬的學校,創建學校之前應該確認在校友錄中沒有自己所要創建的學校,對于不清楚的用戶可以先進行搜索.在選擇學校類型時,可以在下拉列表中選擇所要創建的學校是大學,大專,中學還是小學;在選擇學校所在城市和地區中,用戶可以先選擇所在的省份,再選擇所對應的城市,其中每個省份對應不同的城市;在填寫學校全稱時,界面會提示用戶在為學校命名時盡量注意規范.其中為學校命名時盡量使用全稱而不是簡稱,學校名在四到三十個漢字之間.搜索學校 如果用戶想搜索某個學校,則可以在該頁中選擇學校所在地區,城市,類別及名稱.在點擊搜索按鈕后,系統會根據所輸入的搜索條件列出全部滿足條件的學校,當符合條件的學校多于15個時,則可以利用翻頁功能上下查找,也可以精確定位到第幾頁.在選擇學校所在地區中,用戶通過下拉列表選擇學校所在在省份;在選擇學校所在城市中,用戶通過下拉列表確定所選省份中的某一城市;在選擇學校類別時,用戶可以在下拉列表中選擇所要創建的學校是大學,大專,中學還是小學;最后填寫學校名稱進行搜索.再搜索完成之后,如果顯示的學校列表中沒有自己所在的班級,則可以通過學校名稱進行查找或創建班級的操作.如果搜索的學校不在列表中,就應該檢查搜索選項以及學校名稱是否有誤,如果有誤應返回首頁重新搜索,如果確認搜索信息無誤且所需學校沒有出現在列表中,則可以進行創建學校的工作.l 搜索校友
用戶可以通過一定條件的查尋來搜索校友,在查尋時可以選擇學校所在的城市、省份來確定學校所在的地區,在確定學校之后,可以通過對班級的查尋來尋找校友所在的班級.這樣便完成了對校友逐級向下的查找過程.4.2.3班級管理模塊 l 創建班級
用戶在創建班級之前應該確認所要創始的班級不存在,在確認之后用戶可以在班級名稱文本框中輸入所需創建班級的名稱,在入學年份中用戶可以通過下拉列表框進行選擇.然后點擊注冊按鈕完成新班級的創建.l 搜索班級
搜索班級的功能和搜索學校的功能相似,用戶在入學年份中輸入入學時間,在班級名稱文本框中輸入所要搜索的班級名稱之后點擊搜索按鈕,則在下面的表格中出現符合條件的班級名稱,如果符合條件的班級數目超過15個,則可以使用分頁功能,上下查詢,也可以精確定位到某一頁進行查詢.如果所要搜索的班級沒有出現在列表中,則可以進行創建班級的工作.1課題來源
本課題為用JSP開發校友錄系統,本課題要用JSP技術并結合基于MVC模型的Struts框架來完成一個具有通用功能的校友錄系統,其中包括班級管理、留言板管理、班級成員管理。
2研究的目的和意義 2.1校友錄系統發展現狀
Internet是目前世界上最大的計算機互聯網絡,它遍布全球,將世界各地各種規模、各種形式的網絡連接成一個整體。這樣一個網絡文化氛圍對人類的活動產生了重大和深遠的影響。據估計,目前Internet上已有上百萬個Web站點,其內容范圍跨越了教育科研、文化事業、金融、商業、新聞出版、娛樂、體育等各個領域,其用戶群十分龐大,因此,建設一個好的Web站點對于一個機構的發展十分重要。
校友錄系統就是在這樣的情況下應運而生。基于網絡的校友錄系統一改傳統的紙質校友錄的消息陳舊、更新困難、不便于實時聯系等種種弊端,它讓我們可以隨時隨地的更方便的跟同學、校友、朋友聯系。目前網絡上校友錄系統的基本功能都大同小異,比如班級管理、成員管理、留言功能等都能基本滿足用戶的需要,差別最大的還是各校友錄系統所運用的技術。目前用ASP、PHP、JSP等技術開發的校友錄系統都有,他們各有各的優勢所在。但從網絡技術的發展來看,JSP技術是目前運用到的主流開發技術。它具有更明顯的優勢,這在后續的畢業設計論文中將會向您展示。
目前國內的校友錄系統眾多,主要的有5460、搜狐的chinaren、QQ校友錄以及各高校自己的校友錄系統。這些校友錄系統雖然運用技術不盡相同,但是他們的功能、目的都有著一些共同點。5460、chinaren、網易等校友錄系統運用的是JSP技術,這些服務對象比較廣泛、針對性較弱的校友錄系統提供的服務都是最普通的,他們能滿足絕大多數人的需求,使得分散于全國各地的校友們能找到這樣一個虛擬的集體組織,使得大家不用再為如何聯系自己長久未見的同學、朋友而發愁,校友錄提供的就是這樣一個方便聯系的平臺。某些高校校友錄系統可能創建時間比較早,他們運用的技術也相對較早一些,比如武漢大學和華中科技大學,他們的校友錄系統就是運用ASP技術來開發的。用PHP開發的系統有中國同事錄,還有大家比較熟悉的QQ校友錄,它是運用Shtml開發的。以上這些校友錄系統運用到了很多不同的技術,但是他們對社會的影響、給人們帶來的方便是一樣的。
2.2基于網絡的校友錄技術的發展帶來的影響
近年來計算機技術特別是計算機網絡技術的飛速發展,越來越深刻的改變了我們生活的方方面面。我們正在向信息時代邁進,對于應用者而言,網絡技術的發展帶給我們更多、更廣闊的信息資訊,它讓我們在足不出戶的時候也能及時的、準確的知道各種信息,對于開發者而言,它也使得我們能以更低廉的價格,開發出更方便、更實用的網絡工具。比如各種在線信息服務,更是深深的改變了我們傳統的聯系方式,使得我們可以在相隔千里的情況下隨時隨地通訊。過去的種種陳舊的聯系方式,已經不能滿足現代生活的需要,現在生活的節奏越來越快,信息更新也快,傳統的面對面的交流以及通過紙張來獲取信息的方法已經完全滿足不了我們聯系世界的需要,我們迫切需要的是能適應各種使用環境的多元化的功能豐富的通訊應用系統,這讓我們能在當今社會以更高的效率來面對人與人之間的聯系關系,校友錄系統就是這樣一個實現上述諸多功能的網絡系統。2.3校友錄系統的實用價值
校友錄作為一種方便校友之間聯系的實用系統便在這樣的情況下產生與發展起來的。目前Internet上的校友錄系統眾多,他們提供的功能與服務都大同小異,在技術上也日趨成熟。校友錄是為校友之間進行交流和聯系提供的一個平臺。通過提供完善的校友錄服務和規范校友錄的管理,可以達到增進校友之間、校友與母校之間的感情,方便校友聯系的目的。基于現在網絡上校友錄系統越來越多、所用技術各異的特點,我參考了一些校友錄系統(比如chinaren,QQ校友錄等),運用當前比較流行的JSP技術并配合STRUTS框架技術來編寫一個適合畢業設計課題任務功能需求的校友錄系統,使其具有比較通用的校友錄系統功能,在此基礎上添加具有實用性的其他附加功能。
3國內外校友錄系統的研究現狀和發展趨勢
當今信息技術的飛速發展使得人與人之間的聯系更加密切、更加頻繁,聯系方式也越來越多樣化。此時,一個良好的聯系方式,能從很大一個程度上提高工作效率,避免不必要的人力、財力、物力上的浪費。因此一個良好的在線系統能從多方面改變這個難題,校友錄系統便是其中一個。經過近年來的發展,國內外校友錄系統已經慢慢的趨于成熟,它根據當今人們對于校友之間聯系的需求開發了一系列的實用功能,基本上滿足了人們的需要。現在所要考慮的就是在增加功能的基礎上大大發展技術,使得系統在安全性、保密性、穩定性等方面更加完善。
4研究的主要內容及設計成果的應用價值 4.1 JSP校友錄系統目標
JSP校友錄是具有普通校友錄功能、為校友之間進行交流和聯系提供的一個平臺。利用當前廣泛運用的JAVA技術和JSP技術的優勢,加之Internet的飛速發展,我們編寫一個基于網絡的校友錄系統,通過提供完善的校友錄服務和規范校友錄的管理,以達到增進校友之間、校友與母校之間的感情,方便校友聯系的目的。
4.2系統功能簡介
JSP校友錄系統是以用戶為中心的人性化設計,總體來看,系統可以看作是用戶模塊和管理模塊兩大模塊的協調運作。(1)普通用戶功能包括:
●用戶登陸:用戶通過提交用戶ID和用戶密碼進行登陸,系統便會根據這些登陸資料,辨別出用戶的身份權限,根據用戶是否合法和合法用戶的權限級別,為不同級別的用戶提供個性化的用戶界面。
●用戶資料的修改:成功登陸的合法用戶有權限修改自己的個人資料。這些資料包括用戶的昵稱,真實姓名,性別、年齡,聯系電話,電子郵箱,工作地點、單位,通信地址,生日等一系列相關信息。●用戶的信息發布功能: ①資料查看功能:
用戶可以查看其他用戶的個人資料,包括用戶ID,昵稱,真實姓名,性別,年齡,用戶聯系電話,用戶郵箱地址等。②留言板功能:
通過留言板,用戶可以在班級頁面上留言,以此作為用戶間聯系的一種手段。留言板有字數限制,留言超過一定的時間,系統會自動刪除留言。留言板中將標示如下內容:留言用戶的ID,留言用戶聯系信息,留言日期,留言內容。(2)班級管理員功能:
班級管理員擁有相對普通用戶更多的操作權限,登陸之后,系統自動識別出管理員身份,并提供個性化的管理員操作頁面。班級管理員除了擁有以上普通用戶的相關功能、權限之外,還擁有班級管理的權限,他可以修改班級信息,班級公告,可以將班級中其他成員設定成管理員,可以添加/刪除班級成員,可以刪除留言板中的留言消息。4.3應用價值
通過該校友錄系統的開發,我們將會擁有一個隨時隨地聯系校友、同學、朋友的網絡平臺,它改變了我們傳統的校友錄的形式,使得校友錄由有形的實體轉變成為網絡中虛擬的集體組織,使得校友錄中的信息能夠不斷的更新、完善,使得不會因為信息的改變而失去與某人的聯系。基于網絡的校友錄讓大家在學習生活的同時與人保持聯系,他帶給我們最大的好處就是方便與快捷。
第三篇:JSP網站開發學習心得(最終版)
學習JSP網站開發心得體會
記得在第一節課上,老師您就跟我們講了“為什么學JSP ?”、“ JSP 學什么?”、“學JSP 有什么用?”,還有“ 如何學JSP ?”從老師對這些問題的講解中我確實體會到了JSP 在當今社會起到的重要作用和如何去學。在課上還了解了這門課程老師要講述的主要內容以及需要具備的相關知識。
學到了什么
我想簡單的談談我在JSP 網站開發這門課中都學到了什么,JSP 的全稱是Java Server Pages,它是一種動態網頁技術。我們需要配置的壞境有JDK, Tomcat,還要用到dreamweaver。JSP是由SunMicrosystems公司倡導、許多公司參與一起建立的一種動態技術標準。在傳統的網頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標簽,就構成了JSP網頁java程序片段可以操縱數據庫、重新定向網頁以及發送E-mail等,實現建立動態網站所需要的功能。所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網頁。
JSP在根本上是一個簡化的Servlet設計,他實現了HTML語法中的java擴張(以 <%, %>形式)。JSP與SERVLET一樣,是在服務器端執行的,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然后將執行結果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。
相比較其他主流動態網頁技術,JSP具有很多獨特的優勢,如 1.適用于任何平臺、支持者眾多 2.程序的執行效率高 3.擁有Java優勢 4.強大的服務器組件 5.強大的數據庫支持 下面是JSP與主流動態網頁技術比較
最開始我們學習了HTML 這種文本標記語言,學習起來感覺很輕松,用HTML可以做一些靜態網站,在我第一次用HTML做出第一個網頁時,我真的覺得好有成就感,好神奇啊!后面我們學到做動態網站,其中就涉及到JSP 內部對象及內部對象所對應的一些方法。再就是JSP與數據庫的聯系,怎么樣引用數據庫。通過以上所學到的知識我們可以基本上上做出一個比較實用的小網站,比如一個班級網站,在上面可以上傳下載一些學習資料,以及存儲班上同學的一些基本信息,給班上同學提供一個交流平臺等等。但是由于學習過程中沒有很認真的去學,而且是第一次接觸,所以技術還沒有那么成熟,而且身邊的同學大多貌似對這不感興趣,沒有志同道合的人,所以更讓我想做一個動態網站的決心減弱,哎,靜態網站實在有點拿不出手,所以只有寫這篇感想了。
學習反思
從這九個周的學習中,我覺得自己在這門課的學習上還存在很多不足,比如覺得學習基礎時很枯燥,雖然老師講的滿風趣的。其實我并沒有很認真的去學,基本上就是老師上課講了我就聽,下課并沒有去鞏固老師所講的內容。記得老師在第一節課的時候就說我們這門課要多操作,可是我并沒有按照老師的要求做。也許對于大多數人來說他就是一門選修課,也許他們就是為了混一下學分;也許他們也不知道他們要選哪一門課,看著這門課的名字比較牛,然后就選了;也許,從此以后他們就不會再碰他了;但是在這之中我更看重的是一種學習的態度,既然選了就要把他學好,即使不能學得很好,那也不能懈怠,因為我覺得自己選擇的路,跪著也要走完,所以在很多人都沒有去上課的情況下我還是基本上都去了,還有一個原因就是想在大學里多學一點知識,因為就像喬布斯在斯坦福大學的演講中講到:“你在向前展望的時候不可能將這些片斷串連起來,你只能在回顧的時候將點點滴滴串連起來。所以你必須相信這些片斷會在你未來的某一天串連起來。你必須要相信某些東西:你的勇氣、目的、生命、因緣。這個過程從來沒有令我失望,只是讓我的生命更加地與眾不同而已”然后我也覺得這門課程會在我以后的人生中起到一定的作用。
以上就是我通過這次JSP網站開發課程學習所得到的一些心得體會,雖然自只有九個周的學習時間但是我真的學到了很多知識,在這里真誠的謝謝老師了!
湯佳偉
計科2班 學號:1204211063
第四篇:JSP實習報告
JSp實習報告
實習內容:JSp
實習目的:通過JSp的學習,可以獨立的編寫留言板、上傳規格、考試系統、連接SQLserver數據庫、以及怎么樣配置運行jsp服務器
實習要求:懂得什么是JSp,運行原理,它的基本語法,內置對象,服務端的輸出緩沖區,文件流的讀取,jsp數據庫如:jdbc、odbc、mysql、oracle等,jsp與javaBeans,javaServlet等
JSp是JavaServerpages的縮寫,是由Sun公司倡導、許多公司參與,于1999年推出的一種動態網頁技術標準。JSp是一個建立安全的、夸平臺的先進動態網頁技術。
一、JSp工作原理
在一個JSp文件第一次被請求時,JSp引擎把該JSp文件轉換成為一個servlet。而這個引擎本身也是一個servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。JSp引擎先把該JSp文件轉換成一個Java源文件,在轉換時如果發現jsp文件有任何語法錯誤,轉換過程將中斷,并向服務端和客戶端輸出出錯信息;如果轉換成功,JSp引擎用javac把該Java源文件編譯成相應的class文件。然后創建一個該SERVLET的實例,該SERVLET的jspInit()方法被執行,jspInit()方法在servlet的生命周期中只被執行一次。然后jspService()方法被調用來處理客戶端的請求。對每一個請求,JSp引擎創建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSp文件,則JSp引擎會創建多個線程。每個客戶端請求對應一個線程。以多線程方式執行可大大降低對系統的資源需求,提高系統的并發量及響應時間.但應該注意多線程的編程限制,由于該servlet始終駐于內存,所以響應是非常快的。如果.jsp文件被修改了,服務器將根據設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內存中的servlet,并繼續上述處理過程。雖然JSp效率很高,但在第一次調用時由于需要轉換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由于系統資源不足的原因,JSp引擎將以某種不確定的方式將servlet從內存中移去。當這種情況發生時jspDestroy()方法首先被調用,然后servlet實例便被標記加入“垃圾收集”處理。jspInit()及jspDestory()格式如下:可在jspInit()中進行一些初始化工作,如建立與數據庫的連接,或建立網絡連接,從配置文件中取一些參數等,在jspDestory()中釋放相應的資源。
<%!
publicvoidjspInit()
{
System.out.println(“jspinit”);
}
%>
<%!
publicvoidjspDestory()
{
System.out.println(“jspDestory”);
}
%>
二、服務端的輸出緩沖區
缺省情況下:服務端要輸出到客戶端的內容,不直接寫到客戶端,而是先寫到一個輸出緩沖區中.只有在下面三中情況下,才會把該緩沖區的內容輸出到客戶端上:
該JSp網頁已完成信息的輸出
輸出緩沖區已滿
JSp中調用了out.flush()或response.flushbuffer()
輸出緩沖區的大小可以用:或response.setBufferSize()設置,如下:
設置輸出緩沖區的大小為1KB。或response.setBufferSize(1);
設置輸出緩沖區的大小為0,即不緩沖。或response.setBufferSize(0);
用response.getBufferSize()或out.getBufferSize()可取的輸出緩沖區的大小,單位為字節.用response.isCommitted()可檢查看服務端是否已將數據輸出到客戶端.如果返回值是TRUE則已將數據輸出到客戶端,是FALSE則還沒有.三、服務端輸出重定向
有以下3種方法可以做到輸出重定向:
RESpONSE.SETREDERECT(“URL”)該方法通過修改HTTp協議的HEADER部分,對瀏覽器下達重定向指令的,使瀏覽器顯示重定向網頁的內容.response.sendRedirect(“http://localhost:7001/index.html”);
下面的方法也能改變HTTpHEADER屬性,它的原理和1是一樣的.<%
response.setStatus(HttpServletResponse.SC_MOVED_pERMANENTLY);
StringnewLocn=“/index.html”;
response.setHeader(“Location”,newLocn);
%>
采用
(1)
<%@pagebuffer=“1kb”%>
<%
longi=0;
for(i=0;i<10;i++)
{
out.println(“@@@@@@@@@@@@@@@@@”);
}
%>
(2)
<%@pagebuffer=“1kb”%>
<%
longi=0;
for(i=0;i<600;i++)
{
out.println(“@@@@@@@@@@@@@@@@@”);
}
%>
說明:
1.方法(1),(2)可以使用變量表示重定向的地址;方法(3)不能使用變量表示重定向的地址。
Stringadd=“./index.html”;
無法重定向到index.html中去
Stringadd=http://localhost:7001/index.html
response.sendRedirect(add);
可以重定向到http://localhost:7001/index.html中去。
2.采用方法(1),(2)request中的變量(通過request.setAttribute()保存到request中的值)不能在新的頁面中采用,采用方法(3)能.綜上,我們應該采用(1),(2)重定向比較好.四、JSp基本配置:
第一步:下載j2sdk和tomcat:到sun官方站點(http://java.sun.com/j2se/1.4.2/download.html)下載j2sdk,注意下載版本為WindowsOfflineInstallation的SDK,同時最好下載J2SE1.4.2Documentation,然后到tomcat官方站點(http://;charset=gb2312“ %>
<% Class.forName(”com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance();
String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs“;
//pubs 為你的數據庫的String user=”sa“;
String password=”admin“;Statementstmt;
Connection conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement(ResultSet.TYpE_SCROLL_SENSITIVE,ResultSet.CONCUR_UpDATABLE);
String sql=”select job_id,job_desc from jobs“;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){ %>
您的第一個字段內容為:<%=rs.getString(1)%>
您的第二個字段內容為:<%=rs.getString(2)%>
<% } %>
<% out.print(”數據庫操作成功,恭喜你“);%>
<% rs.close();
stmt.close();
conn.close();
%>
將上面的JSp代碼保存為sql_test.jsp,放在/Root目錄下。
Servlet/JSp配置詳解
首先下載驅動程序:
然后就是安裝JDK,我是把它裝到從c:JDK目錄下面。
然后設置CLASSpATH的問題了:
正如操作系統利用pATH來搜索可執行程序一樣,Java運行環境也會遍歷CLASSpATH來查找類,即便是HelloWorld這樣簡單的程序,JVM也會遍歷CLASSpATH定義的每一個路徑,直到找到相應的文件為止。
相信大家用的系統不是2k就是Xp,然后就應當如下設置path:
我的電腦->屬性->高級->環境變量
然后在環境變量的path后面追加:C:JDKbin;.;C:JDKlib
也可以這樣配置:C:JDKbin;.;C:JDKlibdt.jar;C:JDKlibtools.jar
★記住:環境變量中的.切記不能少,它表示當前路徑,如果少掉出現的錯誤等會就說!
dt.jar是關于運行環境的類庫,tools.jar是關于一些工具的類庫
如果沒有配置:C:JDKbin,則會出現“javac?不是內部或外部命令,也不是可運行的程序或批處理文件。”這樣的錯誤。
下面我們就寫一個示例程序:
打開Editplus,新建一個Java文件,請照著如下輸入,要一字不漏,并且分清大小寫:
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println(”Hello,World!“);
}
}
然后把這個文件保存(ctrl+s)到HelloWorld.java,Java是分大小寫的,所以大小寫一定要分清,是HelloWorld.java不是helloworld.java或者其他。
運行:開始->運行->cmd
在控制臺中把目錄切換到當前目錄:
javacHelloWorld.java
javaHelloWorld
你就會在控制臺上看見輸出的Hello,World!
javac是編譯命令,它把HelloWorld.java編譯成HelloWorld.class
java就是解釋命令,JVM把HelloWorld.class解釋執行.在這個時候:
1、如果出現Exceptioninthread”main“java.lang.NoClassDefFoundError:HelloWorld
那就是你在環境變量中沒有加上那個.(dot)
2、如果出現Exceptioninthread”main“java.lang.NoSuchMethodError:main
或者HelloWorld.java:1:publicclasshelloworldmustbedefinedinafilecalled
”HelloWorld.java“.那就是你沒有分清大小寫的寫入這個HelloWorld,或者保存得時候沒有保存為HelloWorld.java。這個名字一定要跟publicclass的名字一樣
對于環境變量的問題就說到這里,下面我先所說怎么在Editplus里面編譯和運行,在Tools->參數設置->配置用戶工具
1.添加工具(添加應用程序)
菜單文字:CompileJavaprogram
程序:C:JDKbinjavac.exe
參數:文件名稱
初始目錄:文件目錄
2.添加工具(添加應用程序)
菜單文字:RunJavaprogram
程序:C:JDKbinjava.exe
參數:文件名稱(不含擴展名)
初始目錄:文件目錄
工具組名稱可以隨便添,比如DebugJavaprogram。
然后在Tools的下拉菜單中,你就會看見CompileJavaprogram以及RunJavaprogram這兩個選項,以后你就可以利用ctrl+1編譯和ctrl+2運行程序了
下面我們討論Servlet的運行環境:
要運行Servlet,則需要JSp/Servletcontainer,我用Tomcat。
http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip
然后把這個壓縮包解壓到:
C:Tomcat
然后再配置環境變量;添加三個系統變量:
JAVA_HOME:C:JDK
TOMCAT_HOME:C:Tomcat
CLASSpATH:%JAVA_HOME%lib;%TOMCAT_HOME%lib
Tomcat的環境變量就配置完畢了,下面檢驗Tomcat是否能夠運行:
在控制臺中轉到C:Tomcatbin這個目錄,運行startup,然后回出現一個窗口,連跳一大串東西,最后表示Server已經運行。
在瀏覽器中輸入http://localhost:8080,出現歡迎界面,則表示Tomcat沒問題了。然后和上面一樣,寫入你的第一個Servlet。
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassHelloWorldextendsHttpServlet
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
{
response.setContentType(”text/html“);
printWriterout=response.getWriter();
out.println(”<html><head><title>“);
out.println(”ThisismyfirstServlet“);
out.println(”</title></head><body>“);
out.println(”<h1>Hello,World!</h1>“);
out.println(”</body></html>");
}
}
然后照樣用javacHelloWorld.java來編譯這個文件,如果出現無法importjavax.servlet.*
那么就是應該把C:Tomcatcommonlib里面的servlet.jar文件拷貝到C:JDKjrelibext中,再次編譯,就沒有問題了!
然后在Tomcat目錄里面的C:TomcatwebappsROOT里面按如下的文件結構:
ROOTindex.html
ROOTwelcom.jsp
ROOTWEB-INFlibMyServlet.jar(如果你的servlet的.class打成了.jar文件,則放在lib下面)
ROOTWEB-INFclassesHelloWorld.class(把上面生成的HelloWorld.class文件放在這個里面)
然后在瀏覽器中輸入http://localhost:8080/servlet/HelloWorld,于是Server眾望所歸的報錯了:Error404--NotFound
出不來,然后繼續弄下面的Servlet必須使用C:TomcatwebappsROOTWEB-INF這個目錄下面的web.xml文件進行注冊,用Ep打開這個web.xml文件,在里面加入:
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/helloworld</url-pattern>
</servlet-mapping>
這樣的結構
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
表示指定包含的servlet類。而以下的結構:
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>
表示指定HelloServlet應當映射到哪一種URL模式。
在修改web.xml完畢過后,重新啟動Server,然后再輸入http://localhost:8080/servlet/HelloWorld,那么偌大一個Hello,World!等著你呢。
六、JSp和Servlet的區別:
SUN首先發展出SERVLET,其功能比較強勁,體系設計也很先進,只是,它輸出HTML語句還是采用了老的CGI方式,是一句一句輸出,所以,編寫和修改HTML非常不方便。后來SUN推出了類似于ASp的JSp,把JAVA代碼嵌套到HTML語句中,這樣,就大大簡化和方便了網頁的設計和修改。ASp,pHp,JSp都是嵌套型的SCRIpT語言。一個分布式系統應分為三層:表示層,業務邏輯層,數據存取層,在J2EE體系結構中,SERVLET用來寫業務邏輯層是很強大的,但是對于寫表示層就很不方便。JSp則主要是為了方便寫表示層而設計的。ENTITYBEAN實現數據存取層,SESSIONBEAN實現業務邏輯層。如果是簡單的應用系統,可采用JSp+BEANS的結構進行設計,JSp中應該僅僅存放與表示層有關的東西,也就是說,只放輸出HTML網頁的部份。而所有的數據計算,數據分析,數據庫聯結處理,統統是屬于業務邏輯層,應該放在JAVABEANS中。通過JSp調用JAVABEANS,實現兩層的整合。實際上,微軟的DNA技術,簡單說,就是ASp+COM/DCOM技術。與JSp+BEANS完全類似,所有的表示層由ASp完成,所有的業務邏輯由COM/DCOM完成。為什么要采用這些組件技術呢?因為單純的ASp/JSp語言是非常低效率執行的,如果出現大量用戶點擊,純SCRIpT語言很快就到達了他的功能上限,而組件技術就能大幅度提高功能上限,加快執行速度。另外一方面,純SCRIpT語言將表示層和業務邏輯層混在一起,造成修改不方便,并且代碼不能重復利用,采用組件技術就只改組件就可以了。對于復雜的應用,應該采用ENTITYBEAN實現數據存取層,SESSIONBEAN實現業務邏輯層,用JSp來調用SESSIONBEAN,由SESSIONBEAN調用ENTITYBEAN。即采用JSp+EJB來構建一個復雜的分布式系統。它比JSp+BEAN具有更高的吞吐量,可靠性,安全性。綜上所述,對簡單應用,可采用JSp+BAEN,對復雜的應用系統,應采用JSp+EJB,SERVLET變的無足輕重。用JSp完全可替代它。
實習心得:
JSp是一門新技術,他基于JavaServlet以及整個java體系的Web開發技術。從網上得知Java的中文問題歷史悠久,連綿不絕,至今也沒有完全解決,但是上有政策下有對策,我們總是有辦法搞定它的。跟Java相關的中文問題主要有兩類,一類是編程的問題,涉及到I/O,內碼轉換等。第二類是Java運行環境的配置,涉及字體,屬性配置等。覺得很有必要給自己寫個備忘錄之類的。
學習了JSp,感觸很深,這一技術是需要有一定基礎、而且動手能力強的學科。書上也強調一點是:要想真正地掌握JSp技術,必須有較好的java語言基礎,以及HTML語言方面的知識。想想的確對啊。
通過一周的實習JSp,這個實習,使我初步掌握和了解了JSp的基本運行原理、各個對象的結構和功能、怎樣連接數據庫、能自己手動寫code開發一些小網頁。并且,自己能夠組建一臺JSp服務器,而且還了解了安裝過程中,所要注意的事項。對于一些簡單的小問題,能夠自己動手排除。
我個人認為,這次實習對于我是非常有意義的,對我個人的影響比較大,對我的成長更有莫大的幫助。
第五篇:jsp實習報告
新疆農業職業技術學院
《Java程序設計》 教學實習報告
部 門:軟件技術學院 專 業:計算機網絡技術 班 級:2007高職網絡 姓 名:張 博 指導教師:李 欣
《JAVA程序設計》教學實習報告
一、實習時間:
2009 年 5 月 14日至 2009 年 5月 20 日
二、實習地點:第2微機室
三、實習目的
1、掌握搭建Java開發環境的方法;
2、通過團隊合作,提高溝通、交流能力,培養團隊合作精神;
3、嚴格按照Java語言編寫規約編寫代碼,養成遵守規約的習慣,增強編碼質量的意識;
4、教師面向對象程序實例的剖析,以及實際操作,理解面向對象編程的理念,并熟練編寫程序;
5、掌握Java程序的調試方法;
四、實習內容及方法
實訓一
相關環境搭建
實驗目的
1、熟悉JDK開發環境。
2、熟悉JCreator編輯器的使用。實驗內容
1、JDK開發環境及安裝
第一步:下載。從學校網站上找:ftp://10.1.1.16 選擇編程軟件中Java。第二步:安裝jdk。
第三步:安裝好后,選擇“開始”→“運行?”命令,在打開的“運行”窗口中輸入“cmd”命令并“確定”。在打開的命令行窗口中,分別執行java和javac命令。如下圖所表示
第四步:查看操作系統環境變量。選擇“我的電腦”的“屬性”,選擇“高級”中的“環境變量”。
第五步:設置環境變量及path環境變量的作用和設置。
編輯源文件
import java.io.*;public class HelloWorld1{ public static void main(String arg[]){ System.out.println(“Hello World!”);}} 輸出結果 實訓分析總結
什么是Java虛擬機?它的作用是什么?
Java虛擬機是一個想象中的機器,在實際的計算機上通過軟件模擬來實現。Java虛擬機有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應的指令系統。
作用:運行JAVA applet 小程序,沒了它,好多網站的功能無法使用,因為現在很多服務是通過它實現的。JAVA不編譯,他的字節碼要靠虛擬機才能運行。
實訓二 Java基礎-控制語句使用實例
實訓目的:
1、掌握Java語言中的三種基本的流程控制
2、理解數組的概念,數組的定義方法,數組的應用。實訓內容:
1、隨機輸入3個數,要求按降序排列。
import java.util.*;導入包 public class bidaxiao{ public static void main(String[] args){ int length = 3;int [] ints = new int[length];Scanner san = new Scanner(System.in);for(int i = 0;i < length;i ++){ System.out.print(“請輸入第” +(i + 1)+ “個數: ”);ints[i] = san.nextInt();} Arrays.sort(ints);System.out.println(“這” +length +“個數從大到小的排列順序為: ”);for(int i = length-1;i >= 0;i--){ System.out.print(ints[i] + “ ”);} } } 輸出結果:
2、編寫程序,用循環語句列出1到10的階乘值。
public class A{ public static void main(String args[]){
int i;long A=1;
for(i=1;i<=10;i++){ A*=i;
System.out.println(“!”+A);}}} 輸出結果:
3、編寫程序顯示一年的月份。月份要保存在數組中。
public class year{ public static void main(String args[]){ int[] a=new int[12];for(int i =1;i<=12;i++){
System.out.println(“一年的第”+i+“個月是”+i+“月”);} } } 輸出結果:
4、定義一個二維數組,從鍵盤輸入數據,要求求出最大值元素、最小值元素。
public class MaxArray { public static void main(String[] args){ int a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}};int max=0;int min=0;for(int i=0;i 實訓分析總結: 1、三種循環語句的數據流程圖如何執行? do-while 流程圖 for 流程圖 while 流程圖 2、三種循環語句的語法格式。while循環語句的語法格式: [initialization] while(loop-condition){ body;[iteration;]} for 循環語句的語法格式: for([initialization];[loop-condition];[iteration;]){ body;} 3、什么是數組?數組的定義形式? 數組是由相同的數據類型數據按順序組成的數據集合。數組的定義形式: 一維數組:type arrayName[ ] 或者 type[ ] arrayName 二維數組:type arrayName[ ][ ] 或者 type[ ][ ] arrayName 實訓三 類的封裝、繼承與多態性 實訓目的: 1、理解類、封裝、繼承多態的概念和類的對象的創建和使用。 2、理解方法的概念,方法的調用,參數的傳遞。 3、熟練掌握類的繼承。實訓內容: 1、編寫程序,給定圓的半徑和高度,計算圓柱體的體積,利用引用對象方法的形式表示。 import java.io.*;class tj{ private double r;private double h;public tj(double r,double h){ if(r>0)this.r=r;if(h>0)this.h=h;} public boolean setr(double r){ if(r>0){ this.r=r;return true;} else return false;} public double getr(){ return r;} public boolean seth(double h){ if(h>0){ return true;} else return false;} public double geth(){ return h;} public double tj(){ return 3.14*r*r*h;} public static void main(String args[])throws IOException{ BufferedReaderin=new BufferedReader(new InputStreamReader(System.in));System.out.println(“請輸入圓的半徑:”);double r=Double.parseDouble(in.readLine());System.out.println(“請輸入圓柱的高:”);double h=Double.parseDouble(in.readLine());tj v=new tj(r,h);System.out.println(“圓柱的半徑為:”+v.getr()+“t高為:”+v.geth());System.out.println(“圓柱的體積為:”+v.tj());} } 2、試設計一個Calculator類,并完成下列的各方法的程序設計: 定義add(a,b)方法,用來計算兩數之和。定義mul(a,b)方法,用來計算兩數的乘積。定義sub(a,b)方法,用來計算兩數之差。定義div(a,b)方法,用來計算a/b。 import java.io.*;class Calculator{ private double a;private double b;public Calculator(double a,double b){ if(a>0)this.a=a;if(b>0)this.b=b;} public boolean seta(double a){ if(a>0){ this.a=a;return true;} else return false;} public double geta(){ return a;} public boolean setb(double b){ if(b>0){return true;} else return false;} public double getb(){ return b;} public double add(){ return a+b;} public double mul(){ return a*b;} public double sub(){ return a-b;} public double div(){ return a/b;} public static void main(String args[])throws IOException{ BufferedReaderin=newBufferedReader(new InputStreamReader(System.in));System.out.println(“請輸入a的值:”);double a=Double.parseDouble(in.readLine());System.out.println(“請輸入b的值:”);double b=Double.parseDouble(in.readLine());Calculator c=new Calculator(a,b);//System.out.println(“"+c.geta()+”t“+c.getb());System.out.println(”a,b的和:“+c.add());System.out.println(”a,b的積:“+c.mul());System.out.println(”a,b的差:“+c.sub());System.out.println(”a,b的商:“+c.div());} } 輸出結果 3、請逐步完成下列的程序設計: (a)、設計一個父類Caaa,內含public兩個整數數據成員。 (b)、設計一個子類Cbbb,繼承自Caaa類,并加入set_num()方法,可用來賦值從父類繼承而來的成員num1,num2,和show()方法,用來顯示num1與num2的值。 (c)、在Caaa類里加入一個沒有參數的構造函數Caaa(),它可用來把num1和num2賦值初值為1。 (d)、在類里加入另一個有參數的構造函數Caaa(int a,int b),它可用來把num1賦值為a,把num2賦值為b。 (e)、在main()方法里編寫程序代碼,測試(c)和(d)的結果。不帶參數 class Caaa{ public int num1;public int num2;public Caaa(){ } public void setnum1(int num1){this.num1=num1;} public int getnum1(){return num1;} public void setnum2(int num2){this.num2=num2;} public int getnum2(){return num2;} public void printOtherInfo(){ System.out.print(”num1=“+num1);System.out.print(”tnum2=“+num2);System.out.println();}} class Cbbb extends Caaa{ } class Cbbbtest{ public static void main(String agrs[]){ Cbbb b=new Cbbb();b.setnum1(1);b.setnum2(1);b.printOtherInfo();}} 輸出結果 帶參數的 class Caaa { public int num1;public int num2;} class Cbbb extends Caaa { void set_num(int a,int b){ num1=a;num2=b;} void show(){ System.out.println(”num1=“+num1+”,“+”num2=“+num2);} } class app { public static void main(String args[]){ Cbbb bb=new Cbbb();bb.set_num(5,10);bb.show();} } 輸出結果 4、設計一個類,內含一個方法可以判別輸入的值為奇數還是偶數,如果為奇數就輸出“此數為奇數”,反之若為偶數就輸出“此數為偶數”。 import java.io.*;public class jo{private int a;public jo(int a){if(a>0)this.a=a;} public boolean seta(int a){ if(a>0){this.a=a;return true;} else return false;} public double geta(){ return a;} public static void main(String args[])throws IOException{ BufferedReaderin=new BufferedReader(new InputStreamReader(System.in));System.out.println(”請輸入a的值:“);double a=Double.parseDouble(in.readLine());if(a%2==1){ System.out.println(”此數為奇數“);} else{ System.out.println(”此數為偶數“);} }} 輸出結果 實訓分析總結: 1、什么是類?請寫出定義類的格式。 2、如何創建一個類和該類的對象? 1、什么是類?寫出定義類的格式,如何創建類的對象? 類是組成java程序的基本元素,一個java程序由若干個類組成。Java中使用關鍵字class聲明一個類,大括號用來指出類體的開始和結束。創建類:class Student{ 創建類的對象: //類的成員變量聲明 Student studeng=new Student //類的方法聲明} 2、類的成員變量和方法? 類的成員變量用來描述對象的狀態,也稱為屬性、數據或域。類的方法是用來描述對象的行為。 3、什么是繼承?什么是封裝? 像大客車和小轎車與車類之間存在的關系為繼承 封裝是指信息與實現細節的隱藏。 實訓四 簡單計算器模擬 實訓目的: 1、熟練掌握圖形用戶界面的設計和各組件的應用 2、能夠處理一般事件的響應 實訓內容: 1、設計一個窗口,內含一個按鈕,當按下此按鈕的時候,窗口的顏色會從原來的白色變成其他你所設置的顏色。 import java.awt.Button;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.Panel;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;public class button extends MouseAdapter { Frame f = new Frame();Panel P1 = new Panel();Button b1 = new Button(”綠色“);public static void main(String args[]){ button ct = new button();ct.init();} public void init(){ f.setLayout(new FlowLayout());f.add(b1);P1.setBackground(Color.red);P1.setVisible(true);b1.addMouseListener(this);f.setSize(200, 150);f.setVisible(true);} public void mousePressed(MouseEvent e2){ if(e2.getSource()== b1){ f.setBackground(Color.green);} } } 2、設計一個包含有文本框和標簽的窗口,在文本框中輸入一段文字,按回車后,將該段文字內容加入到標簽中顯示。 import java.awt.GridLayout;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class zhuanhuan { public static void main(String[] args){ JFrame jf=new JFrame();JPanel jp=new JPanel();final JLabel jl=new JLabel();final JTextField jtf=new JTextField();jf.add(jp);jp.setLayout(new GridLayout(2,1));jp.add(jl);jp.add(jtf);jtf.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.getKeyCode()==KeyEvent.VK_ENTER){ jl.setText(jtf.getText());} } });jf.setSize(144,144);jf.setVisible(true);} } 輸出結果 3、學生注冊系統 import java.util.*;//導入工具包 import java.awt.*;//導入抽象窗口工具包 import java.awt.event.*;//導入軟件包 import javax.swing.*;//導入輕量級的工具包 import java.io.*;//導入軟件包 class 學生 extends Panel { class ShowWin extends JFrame implements ActionListener{ LinkedList students_list=null;JTextField 學號文本框=new JTextField(), 姓名文本框=new JTextField(), 年齡文本框=new JTextField(), //創建新實例 班級文本框=new JTextField(), 刪除文本框=new JTextField();JButton b_add=new JButton(”添加學生“), b_del=new JButton(”刪除學生“), b_show=new JButton(”顯示學生名單“);JTextArea 顯示區=new JTextArea();students_list=new LinkedList();JPanel save=new JPanel();save.setLayout(new GridLayout(5,2));save.add(new Label(”輸入學號:“));save.add(學號文本框);//添加文本內容 save.add(new Label(”點擊添加:“));save.add(b_add);JPanel del=new JPanel();del.setLayout(new GridLayout(2,2));//刪除文本內容 del.add(new Label(”輸入刪除的學號:“));del.add(刪除文本框);del.add(new Label(”點擊刪除:“));del.add(b_del);JPanel show=new JPanel();show.setLayout(new BorderLayout());show.add(pane,BorderLayout.CENTER);show.add(b_show,BorderLayout.SOUTH);//顯示添加的商品清單 JSplitPane split_one,split_two;split_one=new JSplitPane(JSplitPane.VERTICAL_SPLIT,save,del);split_two=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_one,show);con.add(split_two,BorderLayout.CENTER);b_show.addActionListener(this);} public void actionPerformed(ActionEvent e){ if(e.getSource()==b_add){ String xuehao=null;String xingming=null;String nianling=null;String banji=null;banji=班級文本框.getText();學生 students=new 學生(xuehao,xingming,nianling,banji);students_list.add(students);try{ FileOutputStream file=new FileOutputStream(”students.txt“);ObjectOutputStream out=new ObjectOutputStream(file);out.writeObject(students_list);out.close();} catch(IOException event){} } else if(e.getSource()==b_del){ String xuehao=刪除文本框.getText();try{ FileInputStream come_in=new FileInputStream(”students.txt“);ObjectInputStream in=new ObjectInputStream(come_in);students_list=(LinkedList)in.readObject();in.close();} catch(ClassNotFoundException event){} catch(IOException event){} for(int i=0;i win.setVisible(true);//設置屬性(trun 顯示,false隱藏) win.addWindowListener(new WindowAdapter()//繼承WindowAdapter,然后又覆蓋 實訓分析總結: 1、布局管理器,它有什么用? JAVA是與平臺無關的,就是應用程序的界面的大小,位置與硬件沒關系,與平臺無關就是說你不能通過setSize()這樣的方法去設置窗體中組件的大小。由此問題產生了。 當一個窗體中有文本控件,又有標簽,還有按鈕,這時你怎么控制它們在窗體中的排列順序和位置呢,JAVA定義了布局管理器來處理這個問題 2、說明文本區和文本框的主要不同點。 文本區:是用戶輸入、編輯、格式化、查看文本數據的區域。單擊鼠標左鍵定位插入點。 文本框就是可以向其中輸入文字的框,比如百度。 實訓五 擴展—Java和JSP編寫要點練習 實訓目的: 1、理解JSP 運行環境要求。 2、掌握JSP建立與測試開發環境的方法 3、了解j2ee 實訓內容: 1、鏈接到指定的email地址 在網站中,你經常會看到“聯系我們”的鏈接,一點擊這個鏈接,就會觸發你的郵件客戶端,比如Outlook Express,然后顯示一個新建mail的窗口。用可以實現這樣的功能。 2、給定系統的自我學習后臺分析: 計算機圖書信息后臺維護系統分析 點擊刪除 點擊修改 它的路徑 路徑 http://localhost:8080/aaa/book/index.jsp http://localhost:8080/aaa/book/RequestAdd.jsp 實訓分析總結: 1、JSP文件的建立過程? 第一步 安裝JDK 第二步 安裝Tomcat 第三步 安裝Eclipse 第四步 安裝MyEclipse 第五步 破解MyEclipse 第六步 指定Eclipse+MyEclipse的JRE 和Tomcat 服務器 第七步 新建個項目來測試一下Eclipse+MyEclipse開發環境是否搭建成功 2、JSP的特點。 1.將內容的生成和顯示進行分離 2.強調可重用的組件 3.采用標識簡化頁面開發 五、結論 在為期一個星期的實習中,讓我收獲不少,并且發現自己存在的不足。通過這次實習我受益匪淺,知道JAVA的功能和使用方法以及編譯技術,以前只知道玩手機中的小游戲,并不知道是用JAVA做出來的,現在實習也使自己掌握了JAVA技術,也通過實習使我了解到我更多的不足,在做題時沒有一點點的思路,注意力不是很集中,在每項實訓中不是很認真的聽講,在調試程序的時候,發現不了問題的根本原因,一個簡單的程序少了那小小的一個標點都不行,發現了自己粗心大意的一面。在以后會多加努力的。 六、致謝 通過這次實習,我深感自己的不足,我對知識的渴望遠遠超過這些,我將努力學習知識,取長補短,為自己注入新鮮的血液。相信自己會在以后的實習工作中更加努力。 這次非常感謝老師在實習中對我們的指導,我們有什么不懂的問題都是老師悉心教導,不耐其煩的告知我們,和我們一起實習,在這里向老師說聲,您辛苦了。也非常感謝同學在學習上給予我的幫助。感謝學校為我們安排的這次實習。