java基礎(chǔ)5

1.tomcat的使用

下載,解壓,傳建項(xiàng)目,運(yùn)行

tomcat單獨(dú)使用非常麻煩,我們需要在idea中寫代碼,然后手動(dòng)復(fù)制到tomcat中,運(yùn)行tomcat所以,我們將tomcat和idea連接起來

idea原生不住時(shí),項(xiàng)目過長,需要我們手動(dòng)更換項(xiàng)目名

servlet:用來接收客戶端傳遞過來的數(shù)據(jù)定義類,繼承HttpServlet,重寫doGet和doPost方法,在doGet中調(diào)試.dopost調(diào)用req.getparameter("名稱")

2.servlet

get請(qǐng)求一次,post請(qǐng)求兩次,get數(shù)據(jù)放在url后面,post數(shù)據(jù)放在body中,get請(qǐng)求不安全效率高,post請(qǐng)求安全,效率低

實(shí)現(xiàn)servlet的兩種方式:實(shí)現(xiàn)servlet接口,重寫方法,主要使用service方法.

繼承HttpServlet,重寫doGet和doPost方法

配置servlet的請(qǐng)求路徑的兩種方式:配置文件式:在web.xml中使用servlet標(biāo)簽配置名稱和類名,使用servlet-mapping標(biāo)簽配置名稱和路徑,注解式:在類的上面使用@WebServlet注解,注解的括號(hào)內(nèi)些上路徑

udp和tcp協(xié)議的區(qū)別:upd協(xié)議面向無連接,速度快,不安全,tcp協(xié)議面向有連接(三次握手),速度快,安全

tcp和http協(xié)議 的區(qū)別:http協(xié)議是tcp協(xié)議的封裝,tcp注重連接方式,http注重傳輸?shù)臄?shù)據(jù)格式

http協(xié)議1.1和2.0分別更新了什么

http1.1主要更新了kep-alive長連接,2更新了壓縮報(bào)頭,多路復(fù)用,主動(dòng)吐送


3.session

可以被同一個(gè)瀏覽器發(fā)出的多個(gè)請(qǐng)求共享,增刪改查 設(shè)置超時(shí)時(shí)間 銷毀session,超時(shí)時(shí)間:java代碼直接>項(xiàng)目web.xml中的配置>tomcat的web.xml配置,是根據(jù)瀏覽器發(fā)送來的JSWSSIONID的cookie來驗(yàn)證的,登錄狀態(tài)保持案例

當(dāng)客戶端發(fā)送一條請(qǐng)求到服務(wù)器, 并且使用到了session時(shí), 服務(wù)器就會(huì)創(chuàng)建一個(gè)session對(duì)象, 并將其存入到一個(gè)map集合中, 以session對(duì)象的id作為key, 對(duì)象本身作為value

之后, 當(dāng)請(qǐng)求返回時(shí), 服務(wù)器會(huì)通過http寫將session的id寫入到客戶端的cookie中, 名稱是 JSESSIONID=sessionid

之后客戶端發(fā)起的請(qǐng)求都會(huì)攜帶這個(gè)cookie到服務(wù)器, 當(dāng)新的請(qǐng)求要使用session時(shí), 服務(wù)端先根據(jù)請(qǐng)求帶過來的sessionid查找session,如果有就使用, 如果沒有就創(chuàng)建新的session, 并重復(fù)步驟2


常用方法

setAttribute:增改.getAttribute:查,removeAttribute:移除狀態(tài),setMaxinctveunterval:設(shè)置保存時(shí)間,invalidate:銷毀


cookie

瀏覽器的一個(gè)存儲(chǔ)技術(shù),可以讓瀏覽器幫助我們存儲(chǔ)一些少量的數(shù)據(jù),組成:name value path maxAge,url和path相同才認(rèn)定為重復(fù),url匹配的cookie才會(huì)發(fā)送到服務(wù)器,maxAge:負(fù)數(shù)內(nèi)存存儲(chǔ),瀏覽器關(guān)閉后,立即消失.整數(shù)表示具體時(shí)間,單位是秒,

path是規(guī)定了哪些請(qǐng)求可以攜帶當(dāng)前cookie到服務(wù)器

uri如果是以當(dāng)前cookie敵對(duì)路徑開始的,就可以攜帶當(dāng)前cookie

request和respone的區(qū)別

request存放著請(qǐng)求內(nèi)容,response存放返回給客戶端的數(shù)據(jù)



頁面跳轉(zhuǎn)

重定向

1,重定向是客戶端行為。

2,重定向是瀏覽器做了至少兩次的訪問請(qǐng)求。

3,重定向?yàn)g覽器地址改變。

4,重定向兩次跳轉(zhuǎn)之間傳輸?shù)男畔?huì)丟失(request范圍)。

5,重定向可以指向任何的資源,包括當(dāng)前應(yīng)用程序中的其他資源,同一個(gè)站點(diǎn)上的其他應(yīng)用程序中

的資源,其他站點(diǎn)的資源。注意:傳遞給HttpServletResponse.sendRedirect 方法的相對(duì)URL以“/”開頭,

它是相對(duì)于整個(gè)WEB站點(diǎn)的根目錄

response.sendRedirect("");

1,轉(zhuǎn)發(fā)是服務(wù)器行為

2,轉(zhuǎn)發(fā)是瀏覽器只做了一次訪問請(qǐng)求

3,轉(zhuǎn)發(fā)瀏覽器地址不變

4,轉(zhuǎn)發(fā)兩次跳轉(zhuǎn)之間傳輸?shù)男畔⒉粫?huì)丟失,所以可以通過request進(jìn)行數(shù)據(jù)的傳遞

5,轉(zhuǎn)發(fā)只能將請(qǐng)求轉(zhuǎn)發(fā)給同一個(gè)WEB應(yīng)用中的組件

注意:如果創(chuàng)建RequestDispatcher 對(duì)象時(shí)指定的相對(duì)URL以“/”開頭,它是相對(duì)于當(dāng)前WEB應(yīng)用程序的根

目錄。

request.getRequestDispatcher("").forward(request,response);

4.過濾器和監(jiān)聽器

所有請(qǐng)求在到達(dá)目的地之前,要先經(jīng)過過濾器,請(qǐng)求返回時(shí),在到達(dá)客戶端之前,還要經(jīng)過過濾器.將多個(gè)sevlet中相同的代碼提取出來,放到監(jiān)聽器中,以便于提高代碼的復(fù)用性

配置方式

配置文件式(web.xml),注解式(@WebFilter("攔截范圍"))wxml

多個(gè)過濾器的順序問題

配置文件式:從上往下,先配置的先執(zhí)行,注解式:類名自然順序

Listener

檢測

當(dāng)系統(tǒng)對(duì)應(yīng)的動(dòng)作執(zhí)行時(shí),相應(yīng)的監(jiān)聽器中的相應(yīng)方法就會(huì)執(zhí)行,優(yōu)點(diǎn):非侵入式檢測

url注意事項(xiàng)

/范圍,*.后綴名

5.什么是jsp

避免瀏覽器的緩存,動(dòng)態(tài)拼接頁面,

jsp內(nèi)容

jsp注釋:不會(huì)返回到瀏覽器,減少傳輸量,指令:page include taglib,動(dòng)作:jsp:include,九大內(nèi)置對(duì)象,域:一個(gè)控制數(shù)據(jù)的空間,jsp頁面中可以使用這個(gè)的四個(gè)域:pageContext,request,session,servletContext

el表達(dá)式

${名稱},可以回去對(duì)象中的屬性,集合中的元素

jstl:功能標(biāo)簽,先引入,在使用,c標(biāo)簽中 ifforEach

jsp9大內(nèi)置對(duì)象

request:

javax.servlet.http.HttpServlrtRequest

response:

javax.servlet.http.HttpServletResponse

session:

javax.servlet.http.HttpSession

application:

javax.servlet.ServletContext

exception:

java.lang.Throwable

page:

java.lang.Object當(dāng)前對(duì)象this

config:

javax.servlet.ServletConfig

pageContext :

javax.servlet.jsp.PageContext

out:

kavax.servlet.jsp.JspWriter

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容