自拍偷在线精品自拍偷|国产无码一区二区久久|最新版天堂资源中文官网|国产精品第一页爽爽影院|国产精品一区二区av不卡|久久久波多野av一区无码|国产欧美日本亚洲精品一4区|亚洲精品天堂在线观看2020

當(dāng)前位置:首頁 > 網(wǎng)站建設(shè) > 正文內(nèi)容

javaweb程序設(shè)計任務(wù)教程源代碼(java web程序設(shè)計任務(wù)教程源碼)

網(wǎng)站建設(shè)2年前 (2023-04-08)1174

本篇文章給大家談?wù)刯avaweb程序設(shè)計任務(wù)教程源代碼,以及java web程序設(shè)計任務(wù)教程源碼對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。

本文目錄一覽:

如何快速讀懂項目源碼javaWeb

一:學(xué)會如何讀一個JavaWeb項目源代碼 步驟:表結(jié)構(gòu)-web.xml-mvc-db-spring

ioc-log- 代碼

1、先了解項目數(shù)據(jù)庫的表結(jié)構(gòu),這個方面是最容易忘記 的,有時候我們只顧著看每一個方法是怎么進行的,卻沒

有去了解數(shù)據(jù)庫之間的主外鍵關(guān)聯(lián)。其實如果先了解數(shù)據(jù) 庫表結(jié)構(gòu),再去看一個方法的實現(xiàn)會更加容易。

2、然后需要過一遍web.xml,知道項目中用到了什么攔

截器,監(jiān)聽器,過濾器,擁有哪些配置文件。如果是攔截 器,一般負責(zé)過濾請求,進行AOP 等;如果是監(jiān) 可能是定時任務(wù),初始化任務(wù);配置文件有如使用了 spring

后的讀取mvc 相關(guān),db 相關(guān),service 相關(guān),aop 相關(guān)的文件。

3、查看攔截器,監(jiān)聽器代碼,知道攔截了什么請求,這

個類完成了怎樣的工作。有的人就是因為缺少了這一步, 自己寫了一個action,配置文件也沒有寫錯,但是卻怎么

調(diào)試也無法進入這個action,直到別人告訴他,請求被攔

4、接下來,看配置文件,首先一定是mvc相關(guān)的,如 springmvc

中,要請求哪些請求是靜態(tài)資源,使用了哪些 view 策略,controller 注解放在哪個包下等。 然后是db 相關(guān)配置文件,看使用了什么數(shù)據(jù)庫,使用了

什么orm框架,是否開啟了二級緩存,使用哪種產(chǎn)品作 為二級緩存,事務(wù)管理的處理,需要掃描的實體類放在什 么位置。最后是spring 核心的ioc

功能相關(guān)的配置文件, 知道接口與具體類的注入大致是怎樣的。當(dāng)然還有一些如 apectj 置文件,也是在這個步驟中完成

5、log

相關(guān)文件,日志的各個級別是如何處理的,在哪些 地方使用了log 記錄日志

6、從上面幾點后知道了整個開源項目的整體框架,閱讀 每個方法就不再那么難了。

7、當(dāng)然如果有項目配套的開發(fā)文檔也是要閱讀的。

javaweb 做一個通訊錄的小項目 求源代碼 急求。

先設(shè)計數(shù)據(jù)庫中通訊錄表格(字段有:id,聯(lián)系人姓名,手機號,備注),然后,hebinate實現(xiàn)數(shù)據(jù)庫表到j(luò)avabean的映射,同時也會生成對通訊錄表格的增刪改查的基本sql語句對應(yīng)的接口。然后你再寫一個Servlet,連接頁面自己數(shù)據(jù)庫操作接口即可

怎樣高效的閱讀JavaWeb項目源代碼

首先要理清楚代碼結(jié)構(gòu)和業(yè)務(wù)結(jié)構(gòu)(應(yīng)該有些文檔或者大的流程圖),這是閱讀具體代碼的前提。

閱讀Java?web項目的代碼:

你需要找到

View層的代碼:前端頁面、圖片、資源文件都在其中。

Controller層的代碼:控制試圖與模型層以及數(shù)據(jù)傳遞。

Service層的代碼:業(yè)務(wù)邏輯。

Dao層的代碼:數(shù)據(jù)庫訪問邏輯。

從web.xml?-?appcontext.xml?-?xxx

如何用Java實現(xiàn)Web服務(wù)器

一 HTTP協(xié)議的作用原理

WWW是以Internet作為傳輸媒介的一個應(yīng)用系統(tǒng) WWW網(wǎng)上最基本的傳輸單位是Web網(wǎng)頁 WWW的工作基于客戶機/服務(wù)器計算模型 由Web 瀏覽器(客戶機)和Web服務(wù)器(服務(wù)器)構(gòu)成 兩者之間采用超文本傳送協(xié)議(HTTP)進行通信 HTTP協(xié)議是基于TCP/IP協(xié)議之上的協(xié)議 是Web瀏覽器和Web服務(wù)器之間的應(yīng)用層協(xié)議 是通用的 無狀態(tài)的 面向?qū)ο蟮膮f(xié)議 HTTP協(xié)議的作用原理包括四個步驟

( ) 連接 Web瀏覽器與Web服務(wù)器建立連接 打開一個稱為socket(套接字)的虛擬文件 此文件的建立標(biāo)志著連接建立成功

( ) 請求 Web瀏覽器通過socket向Web服務(wù)器提交請求 HTTP的請求一般是GET或POST命令(POST用于FORM參數(shù)的傳遞) GET命令的格式為

GET 路徑/文件名 HTTP/

文件名指出所訪問的文件 HTTP/ 指出Web瀏覽器使用的HTTP版本

( ) 應(yīng)答 Web瀏覽器提交請求后 通過HTTP協(xié)議傳送給Web服務(wù)器 Web服務(wù)器接到后 進行事務(wù)處理 處理結(jié)果又通過HTTP傳回給Web瀏覽器 從而在Web瀏覽器上顯示出所請求的頁面

例 假設(shè)客戶機與 /mydir/l建立了連接 就會發(fā)送GET命令 GET /mydir/l HTTP/ 主機名為的Web服務(wù)器從它的文檔空間中搜索子目錄mydir的文件l 如果找到該文件 Web服務(wù)器把該文件內(nèi)容傳送給相應(yīng)的Web瀏覽器

為了告知 Web瀏覽器傳送內(nèi)容的類型 Web服務(wù)器首先傳送一些HTTP頭信息 然后傳送具體內(nèi)容(即HTTP體信息) HTTP頭信息和HTTP體信息之間用一個空行分開

常用的HTTP頭信息有

① HTTP OK

這是Web服務(wù)器應(yīng)答的第一行 列出服務(wù)器正在運行的HTTP版本號和應(yīng)答代碼 代碼 OK 表示請求完成

② MIME_Version

它指示MIME類型的版本

③ content_type 類型

這個頭信息非常重要 它指示HTTP體信息的MIME類型 如 content_type text/指示傳送的數(shù)據(jù)是HTML文檔

④ content_length 長度值

它指示HTTP體信息的長度(字節(jié))

( ) 關(guān)閉連接 當(dāng)應(yīng)答結(jié)束后 Web瀏覽器與Web服務(wù)器必須斷開 以保證其它Web瀏覽器能夠與Web服務(wù)器建立連接

二 Java實現(xiàn)Web服務(wù)器功能的程序設(shè)計

根據(jù)上述HTTP協(xié)議的作用原理 實現(xiàn)GET請求的Web服務(wù)器程序的方法如下

( ) 創(chuàng)建ServerSocket類對象 監(jiān)聽端口 這是為了區(qū)別于HTTP的標(biāo)準(zhǔn)TCP/IP端口 而取的

( ) 等待 接受客戶機連接到端口 得到與客戶機連接的socket

( ) 創(chuàng)建與socket字相關(guān)聯(lián)的輸入流instream和輸出流outstream

( ) 從與socket關(guān)聯(lián)的輸入流instream中讀取一行客戶機提交的請求信息 請求信息的格式為 GET 路徑/文件名 HTTP/

( ) 從請求信息中獲取請求類型 如果請求類型是GET 則從請求信息中獲取所訪問的HTML文件名 沒有HTML文件名時 則以l作為文件名

( ) 如果HTML文件存在 則打開HTML文件 把HTTP頭信息和HTML文件內(nèi)容通過socket傳回給Web瀏覽器 然后關(guān)閉文件 否則發(fā)送錯誤信息給Web瀏覽器

( ) 關(guān)閉與相應(yīng)Web瀏覽器連接的socket字

下面的程序是根據(jù)上述方法編寫的 可實現(xiàn)多線程的Web服務(wù)器 以保證多個客戶機能同時與該Web服務(wù)器連接

程序 WebServer java文件

//WebServer java 用JAVA編寫Web服務(wù)器

import java io *

import *

public class WebServer {

public static void main(String args[]) {

int i= PORT=

ServerSocket server=null

Socket client=null

try {

server=new ServerSocket(PORT)

System out println( Web Server is listening on port +server getLocalPort())

for ( ) {client=server accept() //接受客戶機的連接請求

new ConnectionThread(client i) start()

i++

}

} catch (Exception e) {System out println(e) }

}

}

/* ConnnectionThread類完成與一個Web瀏覽器的通信 */

class ConnectionThread extends Thread {

Socket client //連接Web瀏覽器的socket字

int counter //計數(shù)器

public ConnectionThread(Socket cl int c) {

client=cl

counter=c

}

public void run() //線程體

{try {

String destIP=client getInetAddress() toString() //客戶機IP地址

int destport=client getPort() //客戶機端口號

System out println( Connection +counter+ connected to +destIP+ on port +destport+ )

PrintStream outstream=new PrintStream(client getOutputStream())

DataInputStream instream=new DataInputStream(client getInputStream())

String inline=instream readLine() //讀取Web瀏覽器提交的請求信息

System out println( Received +inline)

if (getrequest(inline)) { //如果是GET請求

String filename=getfilename(inline)

File file=new File(filename)

if (file exists()) { //若文件存在 則將文件送給Web瀏覽器

System out println(filename+ requested )

outstream println( HTTP/ OK )

outstream println( MIME_version )

outstream println( Content_Type text/ )

int len=(int)file length()

outstream println( Content_Length +len)

outstream println( )

sendfile(outstream file) //發(fā)送文件

outstream flush()

} else { //文件不存在時

String notfound=

Error file not found

outstream println( HTTP/ no found )

outstream println( Content_Type text/ )

outstream println( Content_Length +notfound length()+ )

outstream println( )

outstream println(notfound)

outstream flush()

}

}

long m =

while (m ) {m ++ } //延時

client close()

} catch (IOException e) {

System out println( Exception +e)

}

}

/* 獲取請求類型是否為 GET */

boolean getrequest(String s) {

if (s length() )

{if (s substring( ) equalsIgnoreCase( GET )) return true

}

return false

}

/* 獲取要訪問的文件名 */

String getfilename(String s) {

String f=s substring(s indexOf(′ ′)+ )

f=f substring( f indexOf(′ ′))

try {

if (f charAt( )==′/′)

f=f substring( )

} catch (StringIndexOutOfBoundsException e) {

System out println( Exception +e)

}

if (f equals( )) f= l

return f

}

/*把指定文件發(fā)送給Web瀏覽器 */

void sendfile(PrintStream outs File file) {

try {

DataInputStream in=new DataInputStream(new FileInputStream(file))

int len=(int)file length()

byte buf[]=new byte[len]

in readFully(buf)

outs write(buf len)

outs flush()

in close()

} catch (Exception e) {

System out println( Error retrieving file )

System exit( )

}

}

}

程序中的ConnectionThread線程子類用來分析一個Web瀏覽器提交的請求 并將應(yīng)答信息傳回給Web瀏覽器 其中 getrequest()方法用來檢測客戶的請求是否為 GET getfilename(s)方法是從客戶請求信息s中獲取要訪問的HTML文件名 sendfile()方法把指定文件內(nèi)容通過socket傳回給Web瀏覽器

對上述程序的getrequest()方法和相關(guān)部分作修改 也能對POST請求進行處理

三 運行實例

為了測試上述程序的正確性 將編譯后的WebServer class ConnectionThread class和下面的l文件置于網(wǎng)絡(luò)的某臺主機的同一目錄中(如 主機NT SRV的C JWEB目錄)

程序 l文件

這是用JAVA寫出的WEB服務(wù)器主頁

年 月 日

首先在該主機上用java命令運行WebServer class

C jwebjava webserver

然后在客戶機運行瀏覽器軟件 在URL處輸入WebServer程序所屬的URL地址(如 ) 就在瀏覽器窗口顯示出指定的HTML文檔

注意 不能缺省端口號 如缺省 則運行該主機的正常WEB服務(wù)器

lishixinzhi/Article/program/Java/hx/201311/26626

關(guān)于javaweb程序設(shè)計任務(wù)教程源代碼和java web程序設(shè)計任務(wù)教程源碼的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

掃描二維碼推送至手機訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://m.thonggone.com/post/15851.html

“javaweb程序設(shè)計任務(wù)教程源代碼(java web程序設(shè)計任務(wù)教程源碼)” 的相關(guān)文章

唐山網(wǎng)站建設(shè)的簡單介紹

唐山網(wǎng)站建設(shè)的簡單介紹

本篇文章給大家談?wù)勌粕骄W(wǎng)站建設(shè),以及對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、網(wǎng)站制作行不行啊,卓優(yōu)科技怎么樣??? 2、唐山哪個網(wǎng)絡(luò)公司設(shè)計的網(wǎng)站好看???求網(wǎng)站建設(shè)。 3、唐山網(wǎng)站建設(shè)哪家公司好呢 網(wǎng)站制作行不行啊,卓優(yōu)科技怎么樣??? 網(wǎng)站制作很好的呀...

ae光效插件有哪些(ae插件)

ae光效插件有哪些(ae插件)

本篇文章給大家談?wù)刟e光效插件有哪些,以及ae插件對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、AE 軟件的插件 自行下載對應(yīng)AE版本插件 Trapcode ; Optical Flare 2、AE里的發(fā)光特效有哪些? 3、AE 插件vegas 下載 4、用...

pr模板是什么格式(PR的模板是怎么做出來的)

pr模板是什么格式(PR的模板是怎么做出來的)

本篇文章給大家談?wù)刾r模板是什么格式,以及PR的模板是怎么做出來的對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、如何套用pr模板? 2、pr動態(tài)文字模板怎么使用? 3、pr字幕模板的功能是什么意思 4、Premiere模板的作用? 5、pr套版是啥意思...

su素材庫免費下載(su素材百度云)

su素材庫免費下載(su素材百度云)

今天給各位分享su素材庫免費下載的知識,其中也會對su素材百度云進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、能發(fā)個SU常用插件以及素材么,和建筑有關(guān)的,或者下載的鏈接也行,在下面,提問不讓留,,, 2、求一個素材網(wǎng)站,主要是平面設(shè)計素材,如PSD、C...

考研復(fù)試英語自我介紹模板中文(考研復(fù)試的英語自我介紹模板)

考研復(fù)試英語自我介紹模板中文(考研復(fù)試的英語自我介紹模板)

本篇文章給大家談?wù)効佳袕?fù)試英語自我介紹模板中文,以及考研復(fù)試的英語自我介紹模板對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、考研復(fù)試英語自我介紹 2、求研究生復(fù)試的英語自我介紹 3、考研復(fù)試英語面試英語自我介紹經(jīng)典模板帶中文翻譯資料 4、研究生復(fù)試 英語自我...

兒童安靜書素材百度網(wǎng)盤(低幼安靜書素材)

兒童安靜書素材百度網(wǎng)盤(低幼安靜書素材)

今天給各位分享兒童安靜書素材百度網(wǎng)盤的知識,其中也會對低幼安靜書素材進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、2周歲的小孩子適合看什么書 2、2-6歲幼兒互動安靜書,小鼠波波創(chuàng)意拓展,寶貝再也不看手機。 3、哪里可以免費下載兒童故事? 4、...