天天看點

java學習階段小結(中級)

1 html   ==>  iframe   form(action , method(get/post)  , enctype)   frameset  (***)

2 css    ==>  #id  .class   input    (包含選擇)  (***)

3 javascript : (*****)

javascript分三部分:ecmascript BOM  DOM

javascript解析順序 (從上到下順序解析)

javascript(基本文法:變量\資料類型(String Number Boolean Object Undefined Function)(typeof instanceOf construcor) 語句 for while  [try catch])

函數:3種方式: function語句 函數直接量(new function)  構造函數(Function) (差別 解析順序、作用域)

      arguments(1接受函數的實際參數 2調用自己的用于遞歸)

      call apply (綁定作用域)

    this(總是指向目前函數的調用者)

      執行環境、作用域鍊、閉包

引用類型:Object(Array/Date/...)

      for(var attr in obj)    //枚舉對象

      delete user.id  //删除對象的屬性

面向對象:學會寫一個簡單的類(Person)   Map(模拟)  去掉數組的重複項(js對象特性 天然的hashmap)

prototype 原型:1 執行個體共享   2:擴充對象的屬性和方法  

繼承:1原型繼承Sub.prototype = new SubInstance();

       2模闆繼承利用call綁定目前父類(函數)

       3混合繼承(原型+混合)

bom: window的常用方法和屬性(open opener showModalDialog dialogArguments retrunValue)  setTimeout/setInterval

dom: 加載過程: 解析html 然後順序執行  節點的概念(node:元素節點 屬性節點 文本節點)節點都有三個屬性(nodeType nodeName nodeValue)

       直接引用:  getElementById getElementsByName getElementsByTagName

       間接引用:  childNodes parentNode firstChild... nextSibling...

       操作節點:  appendChild removeChild insertBefore ....

表單(正則) (*****)

4: XML(**) 了解XML(組織資料、之前[資料互動]/現在[架構的配置檔案]) XML解析(jdom/dom4j)   (DTD)

5: http:用戶端發送一次請求 伺服器作出一次響應(自己要會看請求和響應的資訊[firebug])

6: servlet(所有的知識點都非常重要) (******)

   建立一個web project的時候 一定注意的問題: 1 字元集  2 項目的改名字

   servlet就是一個普通的java類 實作了特殊的接口(extends HttpServlet) 重新2個方法(doGet/doPost) 配置xml

   tomcat: bin conf(server.xml(配置tomcat伺服器) web.xml(針對于項目的)) lib  temp logs   webapps(咱們的項目都釋出到這裡)   work

   servlet mapping : 一個servlet 可以對應多個mapping(/aa/bb   /aa/*  *.do)

   servlet生命周期: (伺服器啟動的時候解析你項目裡的web.xml) 第一次通路servlet的url的時候初始化了 init destroy ... 單例兩種簡單的模式

   如果想啟動時加載servlet   loadonstarup   init-param (...)

   request / response / servletConfig / servletContext

   session  cookie (兩周之内自動登入)

7: jsp:(*****) 九大内置對象

    request/response/config/page/pageContext/session/application/exception/out

   jstl(if choose forEach) el(*****)

8: ajax...(*****)(new XMLHttpRequest(); ==> open(method,url,async) ==> 回調函數(onreadystatechange[request.readyState==4 status==200]) )  send(null);

9: jquey (****)

自己補充的:

1.el表達式,必須以“$”和“{”開頭,以“}”結尾;

2.el存取資料的方法很簡單,例如${username}意為取出某一範圍内名稱為username的變量,查找順序為pageScope,requestScope,sessionScope,applicationScope

3.js中判斷資料類型是用typeof,java中是用instanceof。當然js中也可以使用instanceof,但不常用。

4.js中函數有三種形式,

function test1(){  

    alert('第一種形式:function語句形式');  

};  

var test2 = function(){  

    alert("第二種形式,函數直接量形式,表達式");  

};  

var test3 = new Function("x","y","return x+y");  

    alert(test3(2,3));  

//這是構造函數的形式,建立一個function類的執行個體對象  

解析順序是function語句最先,即第一種function方法。而作用域則是構造函數Function為頂級作用域。

5.prototype作用:①實力共享②擴充對象的屬性和方法③繼承

6.js中數組的定義

var a = [];
var b = new Array();
           

7.js中eval()是用來執行字元串的。如alert(eval("2+2"));

8.json裡邊不僅可以定義屬性,還可以定義方法。如:

var user = {uname:"哈哈",pwd:"123",sleep:function(){
	alert("我要睡了");
}}
           

想調用時可以這麼用user.sleep();

9.對于節點中表單的操作,單選按鈕和複選框的操作,一般采用周遊,因為單選按鈕和複選框都是一個組。

10.對于dom表單驗證這塊,可以

①在送出按鈕這兒添加事件

<input type="submit" value="送出" οnclick="return check(this.form)">
           

當傳回true的時候就送出,false就不送出。

②在表單添加事件

<from οnsubmit="return check(this)">
           

11.在servlet中,處理複選框内容可以用getParameterValues()

setContentType("text/html;charset=utf-8");//中間為分号,不是逗号
           

request.setCharacterEncoding設定請求實體的編碼,隻對post有效,對get無效。要讓對get方式送出的資料也有效,可以改動tomcat配置檔案server.xml,對connection元素增加一個屬性:useBodyEncodingForURL="true",用這些來解決中文亂碼問題。

12.将所有servlet放入一個容器統一管理,servletContext

請求轉發:

request.getRequestDispatcher("1.jsp").forward(request,response);//兩個請求
           

重定向:

response.sendRedirect("2.jsp");//1個請求
           

13.儲存以前操作的狀态

用戶端儲存cookie,伺服器端儲存session

①用戶端儲存cookie流程

a)伺服器端寫代碼:

Cookie ck = new Cookie("a","hello");//設定cookie的name為a,value為hello,類似于鍵值對
response.addCookie(ck);//給浏覽器添加cookie
           

b)響應頭中就會有一個Cookie:a=hello

c)浏覽器收到後,先放到記憶體中。如果cookie設定了有效期,則會寫到硬碟的檔案中。

d)浏覽器以後通路伺服器時,就會自動攜帶(在請求頭中攜帶)有效的cookie資訊

②伺服器端如何儲存資訊(session的跟蹤機制)

a)伺服器會new一個session對象,同時給這個session對象指定一個id

b)通過響應頭設定sessionId

c)浏覽器收到sessionId這個資訊,下次通路一定會攜帶sessionId

d)伺服器收到sessionId後,根據sessionId找到對應的session對象。然後,就可以檢視對象裡邊的内容。進而确定我們之前進行了什麼操作,即實作了狀态的儲存。

14.servlet生命周期

①加載

分兩個時機1.第一次請求的時候,以後請求就不再加載;2.如果配置了<load-on-startup>,則在啟動時加載

②初始化

調用init

③調用

先調用srvice,再用service調用doGet/doPost

④銷毀

調用destroy