總體回顧 重要知識點

2021-09-05 11:21:50 字數 4976 閱讀 9117

* jsp本質是乙個servlet,所以它不是前台的,而是後端的內容。

* 展示給使用者的最好是html介面,效率高,完成的效果好,jsp可以用來公司管理系統,方便獲取

* web四大域物件:

* servletcontext:生命週期是在伺服器啟動建立,關閉銷毀(正常關閉)

* session:瀏覽器第一次訪問伺服器servlet,如果servlet呼叫getsession則建立。

* 關閉方式:

1.預設時間 30分鐘

2.seesion.invilidata()

3.伺服器正常關閉

* httpservletrequest:響應瀏覽器訪問web伺服器。(它是乙個一次請求,瀏覽器觸發,伺服器接收。)

* pagecontext:在jsp頁面的乙個類似於servletcontext的域物件,在html頁面不使用

* servlet

* 介面servlet

* 生命週期方法:

1.init //只執行一次

2.service //每次訪問都會被執行

3.destory //只執行一次

* 繼承結構體系: servlet-> genericservice->httpservlet(分發在httpservlet中,將七種方法進行判斷)

* http請求: 七種 get/post/put/delete

* servlet配置方式:

1.xml

/web-inf/web.xml

* * demo (標識名)

* com.itheima.itcast.servlet (全路徑)

* * /demo (虛擬路徑)

2.註解

@webservlet("/a")

3.url-pattern路徑配置

* /a

* /user/a

* /user/*

* *.do

!! * /*.do(不能這麼操作)

1.獲取請求引數

* getparameter("引數名")

* getparametermap("引數名")

* getparametervalues("引數名")

2.獲取servletcontext

* getservletcontext()

3.作為域物件進行訪問資料

* setattribute("鍵",值)

* getattribute("鍵")

* removeattribute("鍵")

4.能請求進行**

* request.getrequestdispatcher("/服務端絕對訪問路徑").forward(request,response)

5.獲取請求行:

* getrequesturi()

* getrequesturl()

* getmethod()

* getcontextpath()

6.獲取請求頭

* getheader("請求頭")

* 路徑問題:

* 相對路徑(不以/開頭)

* ./ 當前目錄

* ../上一級目錄

* 絕對路徑(用於請求**)

* 服務端絕對路徑(請求**)

* /訪問資源路徑

* 瀏覽器端絕對路徑

* /虛擬目錄/訪問資源路徑

* response(響應)

* 設定響應行:

* setstatus(狀態碼)

1.200:連線正常

2.404:客戶端異常

3.500:伺服器端異常

4.其他的還有:302,304...

* 設定響應頭

setheader("響應頭","頭的內容")

setcontenttype("text/html;charset=utf-8")

* 設定響應內容

getwriter().writer("")

getoutputstream().write("".getbytes())

* 重定向

sendredirect("/瀏覽器端絕對路徑")

* 重定向和請求**的區別:

1.路徑不一樣

2.位址列**發不會發生改變,重定向會發生改變)

3.請求次數

4.共享資料

* 域物件/url重寫 --將url位址拼接攜帶資料,參照response課程中重點圖

1.cookie:

* cookie來自伺服器,儲存在瀏覽器端。

* 傳送:

cooke c=new cookie("名字","值") -- 建立cookie

c.setmaxage(10); //單位是秒 -- 設定存活時間

c.setpath("/虛擬目錄") -- 這個的意思是cookie的作用範圍。

* 如果要設定cookie的有效訪問路徑,必須以虛擬目錄開頭。

response.addcookie(cookie物件) 傳送cookie

* 接收:

cookie cookies=request.getcookies();

cookie.getname()

cookie.getvalue()

* cookie原理:

請求頭:

cookie

響應頭:

set-cookie

2.session 基於伺服器會話技術

* session依賴於cookie(set-cookie/請求頭cookie)

* session建立

httpsession session=request.getsession (一旦第一次執行該方法,會建立乙個session,session物件會提供乙個id,該id會以cookie的形式回寫到瀏覽器jsessionid) 格式: set-cookie:jsessionid=2c23ff5cf6abf728...

* 面試題:訪問a.html/a.jsp/a.servlet 誰會在第一次訪問的時候就會建立session。

* 答:html不會建立session。servlet不會建立session。jsp第一次訪問一定會建立session

* 域物件:

* setattribute("鍵",值)

* getattribute("鍵")

* removeattribute("鍵")

* seesion的持久化:

* 鈍化活化

* 通過jsessionid=2c23ff5cf6ab...的cookie來進行持久化,setmaxage()

* session的銷毀:

* 預設銷毀時間 30分鐘

* 伺服器正常關閉

* sessioninvilidate()

1.域物件:

* setattribute("鍵",值)

* getattribute("鍵")

* removeattribute("鍵")

2.獲取檔案的mime型別

* getmimetype("檔名.字尾名")

3.獲取檔案的絕對磁碟路徑

* getrealpath("檔名稱")

* 檔名稱

* web目錄

getrealpath("1.txt")

* web-inf

getrealpath("/web-inf/1.txt")

* src

getrealpath("/web-inf/classes/1.txt")

1. jsp:

* 常用標籤:

* <% %>

* <%=%>

* <%!%>

* jsp指令:

* page

* taglib

* include

* jsp注釋:

* <%-- 內容 --%>

* jsp 9大內建物件

* session

* request

* pagecontext

* config

* response

* page

* out

* exception

2.el表示式:

* $* jstl:taglib/jar

* -- test

* -- 普通for迴圈

* var

* begin

* end

* step

* varstatus

-- 增強for迴圈

* var

* items

* varstatus

1.建立:

* proxy.new proxyinstance(類載入器,實現介面,new invocationhander()

* })

* 通過ajax去傳送非同步請求

* 獲取要提交的表單的引數:

* var params=$("#表單").serialize();

* 在查詢資料庫的時候,如果查不到指定物件的內容則會直接報錯,可以手動抓取。

* 先關閉掉tomcat再clean,不然關不掉,因為tomcat檔案在target中,如果tomcat一直在執行則無法clean;

* tomcat很多版本,tomcat在預設處理編碼集的時候預設utf-8,而tomcat7 的在處理的時候處理的編碼集是iso-8859-1(拉丁文編碼)

* string encodename=urlencoder.encode(name,"iso-8859-1") -- 將name編碼為%e5%bc%e4...

* string encodename=u

* domain中的user類和資料庫中的user表必須一致。不能少。

知識點小結回顧

1 jquery獲取頂層frame方式 body top.frames menu document 2 grep 2097 r 遞迴查詢包含2097 查詢內容 的檔案 3 escape採用iso latin字符集對指定的字串進行編碼,轉化成 xx 字元對應編碼的16進製制 格式的字元編碼。比如,空格...

JSP重要知識點

場合 頁面本身有中文的時候 解決辦法 servlet resp.setcontenttype text html charset gbk jsp page contenttype text html charset gb2312 注意 一定要寫在printwriter out resp.getwri...

JDBC重要知識點

1.cachedrowset 可以快取查詢到的結果集,即使你關閉流資源,依然可以使用結果集,還可以實現分頁功能 public cachedrowset pagequery string sql,int pagesize,int page throws exception 呼叫分頁結果 cachedr...