標籤:樣式 刪除 cli 字串 etc lis 上下文 範圍 實現
狀態管理、Cookie、Session、URL重寫
HTTP協議:無狀態的串連(每次串連都是新的請求)
1、隱藏欄位 <input type=”hidden” name=”session” value=””/> 在響應中進行操作
2、Cookie 儲存到用戶端
3、Session 儲存到伺服器
4、使用者禁用Cookie:使用URL重寫 在URL後加上jsessionid=123;
Cookie原理
1、資料以“鍵-值”對的形式通過響應儲存在用戶端
Cookie cookie = new Cookie(“”,””);
response.addCookie(cookie );
到期時間:一個會話結束時
一個瀏覽器儲存Cookie;一個瀏覽器可以構造多個Cookie
讀取Cookie:
1、request.getCookies返回一個數組
2、儲存中文 Cookie cookie = new Cookie(“name”,URLEncode.encode(“中文”));
URLDecoder.decode(“value”);
Session原理:
1、每個Session對象有一個唯一的編號,SessionID
2、伺服器以Cookie方式儲存在Session中
3、在瀏覽器關閉的時候;因為Session儲存在伺服器中,當瀏覽器關閉時,SessionID帶不過去
4、session.setMaxInactiveInterval(時間);——發獃時間,到達的最大時間
預設時間為半小時(1800s)web配置中
Session.invalidate();——馬上銷毀session(相當於沒有建立Session)
web配置:<servlet-config>
<time-out>1</time-out> 分鐘為單位
</servlet-config>
5、在web.xml
<session-config>
<session-timeout>5</session-timeout> 分鐘數
</session-config>
6、瀏覽器關閉時並不意味著Session對象被刪除,儲存在伺服器(eclipsse伺服器)
7、Session持久化管理:存放在其中的對象以序列化的形式存放(儲存在檔案中)
8、響應:String url = response.encodeURL(“地址”);——派發
9、應當盡量使用維護時間短的域對象
JS考試
1、JAVAScript是只能在瀏覽器中啟動並執行語言
2、“=”:賦值 “==”:值 “===”:全相等(資料類型,值)
3、Alert、setTimeOut 屬於window函數
4、字串=字元數組
5、Length為屬性,size()為方法
6、Test:boolean(true,false) excute():返回匹配的值
7、JS中屬性的類別選取器:this.className = “和選取器的名字一樣”
8、元素節點:createElement() 文本節點:createTextNode() 注釋節點:createComment() 屬性節點:createAttribute()
9、瀏覽器對傳統事件的指派方法的支援比現代事件更好,現代事件有相容性
10、CSS優先順序:內聯>內嵌>外部樣式!Importtant>id>class>element>偽類>*
11、JS事件:滑鼠事件、鍵盤事件、HTML事件
12、重新整理頁面:觸發load事件和unload事件
13、Window.location.href=””;
14、綁定事件:onclick=”click()”;///but.onclick=click;
15、提交表單 document.forms[0].submit();
16、H1*{color:red} ——只要在h1下面的元素都為紅色
17、Display:none visibility:hidden
18、Var temp = null;alert(timeof temp);——Object
範圍對象:在Servlet裡可以用一個名字綁定一個對象setAttritute(“name”,name);
ServletContext(應用上下文)——整個Web應用程式 (String,Object);
httpSession(會話)——介面——一個會話互動過程
ServletRequest(請求)——一次請求過程
每個Servlet都有自己的Servletcontext();
得到全域變數
ServletContext sc = this.getServletContext();
ServletContext sc = this.getServletConfig(),getServletContext();
ServletContext sc = request.getSession().getServletContext();
sc.setAttribute(“text”,”mytext”);——聲明全域變數
線程不安全
會話範圍Session:對於同一個客戶的多個請求,session會跨這些請求持久儲存
HttpSession session = request.getSession();
session.setAttribute(“name”,”mySession”);
HttpSessionListener、HttpSessionActivationListener:需在web.xml中註冊
ServletContext/HttpSession/HttpServletRequest
有同樣的三種方法:setAttribute,getAttribute,removeAttribute
線程不安全
請求範圍:在請求範圍範圍之外就不能進行訪問
request.setAttribute(“name”,”name”);
安全執行緒:作用於一個請求之間(可用派發)
監聽器:session/request/application
Servlet被建立的時間:伺服器第一個被請求的時候
Web.xml <load-on-starup>-11</load-on-starup> 越小越先建立servlet
Web應用程式的改變事件:增加、刪除、修改
監聽容器:1.建立類2.實現介面3.註冊監聽器web.xml
<listener>
<listener-class>映射的路徑</listener-class>
</listener>
全域的變數的建立:伺服器啟動的時候
銷毀:伺服器關閉的時候
設定全域變數:web.xml
<context-param>
<param-name>name</param-name>
<param-value>root</param-value>
</context-param>
得到全域變數:
ServletContext sc = event.getServletContext();
String name = sc.getInitParameter(“name”);
sc.setAttribute(“myname”,name);
請求文本域:請求被建立的時候
打包檔案?壓縮檔。。
Servlet過濾器:中間組件,用於攔截來源資料和目的資料之間的訊息
(過濾二者之間傳遞的資料)
——可以變更要求的內容,或者重新佈建要求頭,然後在將請求傳遞給目標資源,響應也一 樣
多個過濾器組成過濾器鏈;
應用:
認證過濾;
登入和審核過濾;
映像轉換過濾;
資料壓縮過濾;
加密過濾;
令牌過濾;
資源訪問觸發事件過濾;
XSLT過濾;
MIME-type過濾;web伺服器中
所有的過濾器必須實現javax.servletFilter介面 javax:java擴充包
過濾器需部署在web.xml
<error-page>
<error-code>404</error-code> //錯誤類型
<location>error.html</location> //跳轉到錯誤頁面
</error-page>
<filter>
<filter-name>class名稱</filter-name>
<filter-class>class包名</filter-class>
//設定參數
<init-param>
<param-name>code</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>映射的名稱filter</filter-name>
<url-pattern>/需要過濾的servlet</url-pattren>
<dispatcher>REQUEST</dispatcher> //預設指對請求過濾
<dispatcher>FORWARD</dispatcher> //需要過濾一遍filter
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher> //對於錯誤進行過濾
</filter-mapping>
<!-- 為*時,全部都要過濾,甚至html
<url-pattern>/*</url-pattern> -->
容器建立:過濾器開啟;
容器關閉或者重載:過濾器關閉;
FilterCofig:得到初始化參數
多個filter:先進的後出
Filter-mapping的位置在前面,則filter在前面,先執行後返回
http://localhost:8080/Session/one.html
URI:統一標識符(後面一部分)
URL:版本號碼、連接埠號碼(所有)
URI是URL中的一部分
過濾器的封裝類:httpServletRequest/httpServletResponse
XML:可延伸標記語言 (XML)
JSP : JAVA server page (java伺服器頁面)
cookie session URL重寫 與考試