久久九九国产无码高清_人人做人人澡人人人爽_日本一区二区三区中文字幕_日韩无码性爱免费

SUN認(rèn)證考試常見知識(shí)點(diǎn)

時(shí)間:2024-09-30 13:07:19 SUN認(rèn)證 我要投稿
  • 相關(guān)推薦

2017年SUN認(rèn)證考試常見知識(shí)點(diǎn)

  Sun認(rèn)證Java程序員考試旨在觀察您通過應(yīng)用軟件分配進(jìn)行復(fù)雜編程的能力,之后還要測(cè)試您完成編程所需的知識(shí)。下面是小編整理的關(guān)于SUN認(rèn)證考試常見知識(shí)點(diǎn),歡迎大家參考!

2017年SUN認(rèn)證考試常見知識(shí)點(diǎn)

  day1

  JSP 定義:

  1)Java Server Page, Java EE 組件,本質(zhì)上是 Servlet。

  2)運(yùn)行在 Web Container.接收 Http Request,生成 Http Response(默認(rèn)協(xié)議是 Http 請(qǐng)求和響應(yīng))

  3)JSP 使得我們能夠分離頁面的靜態(tài) HTML 和動(dòng)態(tài)部分——我們需要的技術(shù)。

  4)使頁面可以混和html代碼、Java代碼以及JSP標(biāo)簽;允許訪問組件

  Servlet的缺陷(JSP出現(xiàn)的原因):

  1)寫靜態(tài)頁面必須部署后才能看到效果,很難控制頁面的外觀。

  2)從技術(shù)角度來說Servlet是Java代碼和HTML靜態(tài)代碼的混合代碼。

  3)從市場(chǎng)競(jìng)爭(zhēng)角度來說,微軟推出了ASP產(chǎn)品。

  JSP的改進(jìn):

  1)JSP是標(biāo)簽式的文本文件(區(qū)Servlet是Java文件)

  2)JSP不需要編譯(其實(shí)是由服務(wù)器監(jiān)測(cè)JSP文件的變化,再將其翻譯成 Servlet 代碼)

  服務(wù)器對(duì)其進(jìn)行編譯并在第一次請(qǐng)求時(shí)創(chuàng)建一個(gè)Servlet實(shí)例。所以,第一次訪問JSP頁面時(shí)會(huì)后延遲

  3)JSP不用寫配置文件

  4)JSP以靜態(tài)代碼為主,Java代碼為輔。Servlet反之。

  5)是J2EE藍(lán)圖的一部分(Servlet、JSP以及EJB是J2EE的三大組件)

  JSP從本質(zhì)上來說內(nèi)核還是Servlet,但與Servlet不是替代關(guān)系而是一種互補(bǔ)的關(guān)系。

  JSP適合于寫顯示層的動(dòng)態(tài)頁面,而Servlet則適合寫控制層的業(yè)務(wù)控制(頁面轉(zhuǎn)發(fā))。

  JSP往純標(biāo)簽方向發(fā)展,Servlet往純代碼方向發(fā)展,他們以Servlet內(nèi)核(請(qǐng)求響應(yīng)式的工作方式)往兩個(gè)方向發(fā)展。

  基本語法

  一、JSP的聲明(statement)

  用來定義在產(chǎn)生的類文件中的類的屬性和方法(成員變量)?陕暶黝(即是內(nèi)部類)。

  由于servlet是工作在多線程環(huán)境下,所以盡量不要在service方法體外聲明成員變量。

  //聲明時(shí)要加"!",屬于類成員,最先加載,可寫于任何位置;不加則是腳本的局部變量,必須調(diào)用前寫。

  如: //變量的聲明

  //變量的調(diào)用

  //函數(shù)的聲明

  //函數(shù)的調(diào)用

  聲明規(guī)則:

  1) JSP中聲明的變量和方法對(duì)應(yīng)于Servlet中的實(shí)例方法和實(shí)例變量。這些將被同時(shí)請(qǐng)求該頁面的所有用戶所共享;

  2) 在使用變量或方法前須先定義(不是說聲明變量的位置在頁面中要處于使用變量的前面,而是指變量不聲明不能使用);

  3) 聲明的變量或方法的作用域?yàn)楫?dāng)前頁面或包含的頁面;

  4) 語句間以分號(hào)分隔。

  二、JSP代碼段(Scriptlet)

  是一段可以在處理請(qǐng)求時(shí)間執(zhí)行的Java代碼?梢援a(chǎn)生輸出,也可以是一些流程控制語句。

  在代碼段中定義的變量為service方法中的局部變量。

  1._jspService()中的局部代碼:

  //在控制臺(tái)打印出,網(wǎng)頁上沒顯示

  //打印在網(wǎng)頁上

  問:能否在JSP腳本里定義方法?

  答:不能! //腳本相當(dāng)于方法,不能在方法里定義方法

  //可以聲明方法

  //編譯出錯(cuò);腳本不能定義方法

  2.比較:

  //成員變量

  //_jspService()方法中的局部變量

  //同一文件里,局部變量?jī)?yōu)先

  3.腳本小程序規(guī)則:

  1) 你使用的腳本語言決定了腳本小程序的規(guī)則;

  2) 語句間以分號(hào)分隔;

  3) 可以使用默認(rèn)的對(duì)象、import進(jìn)的類、declaration聲明的方法和對(duì)象以及useBean tag中聲明的對(duì)象。

  三、JSP表達(dá)式(expression)

  // "="號(hào)

  在JSP請(qǐng)求處理階段計(jì)算他的值,表達(dá)式生成的代碼是Service方法中的一個(gè)代碼片斷。

  JSP對(duì)于聲明的處理:1、計(jì)算表達(dá)式的值

  2、將值轉(zhuǎn)換成String

  3、用out.println發(fā)送標(biāo)簽;把數(shù)據(jù)輸出至頁面的當(dāng)前位置

  //out.println("Hello,JSP world");

  // out.println(name);

  //out.println(new java.util.Date());

  表達(dá)式規(guī)則:

  1) 你使用的腳本語言決定了腳本小程序的規(guī)則;

  2) 執(zhí)行的順序?yàn)閺淖蟮接?

  3) 分號(hào)不能用于表達(dá)式。

  四、JSP指令(direction)

  指令用于從JSP發(fā)送信息到容器上。用來設(shè)置全局變量,聲明類,要實(shí)現(xiàn)的方法和輸出內(nèi)容等。

  指令在JSP整個(gè)文件內(nèi)有效。它為翻譯階段提供了全局信息。

  // "@"符號(hào)

  指令包括:page、include、taglib

  1.page指令

  import、session、errorPage、isThreadSafe

  頁面的語言、內(nèi)容類型、字符集、頁面編碼

  language:java唯一值,表示腳本中使用的編程語言

  contentType:設(shè)置了內(nèi)容的類型和靜態(tài)頁面的編碼 (告訴瀏覽器以什么編碼顯示)

  pageEncoding:頁面本身的編碼格式 (寫頁面時(shí)用的編碼格式)

  上面的代碼等價(jià)于servlet里: response.setContentType("text/html; charset=gbk");

  import:導(dǎo)入其他的包和類; 其中,JSP默認(rèn)導(dǎo)入的包是java.lang.*

  //具體的包和類

  //包下的所有類

  //連寫,逗號(hào)分隔

  Session:指示當(dāng)前的jsp是否參與會(huì)話 (默認(rèn)為true; 參與會(huì)話)

  通過指令使當(dāng)前頁面與session不可會(huì)話:

  session="true"時(shí),可用內(nèi)建對(duì)象session直接訪問會(huì)話,例如:

  errorPage:

  isErrorPage:Jsp頁面中出現(xiàn)異常的處理方式

  對(duì)于有可能出現(xiàn)異常的頁面:

  //異常時(shí)會(huì)跳轉(zhuǎn)到處理異常的頁面;這頁面自己寫

  在有可能異常的地方打印原因: throw new Exception("數(shù)據(jù)庫連接出錯(cuò)");

  對(duì)于處理異常的頁面(error.jsp)里:

  ,其中使用把異常信息打印出來

  isThreadSafe——此屬性已經(jīng)不再使用(已廢棄)

  當(dāng)前Jsp頁面是否線程安全 default--->true

  //普通的Servlet,可以并發(fā)處理用戶請(qǐng)求

  //相當(dāng)于Servlet實(shí)現(xiàn)了SingleThreadModel

  2.include指令

  把目標(biāo)頁面的內(nèi)容包含到當(dāng)前頁面,產(chǎn)生頁面疊加以后的輸出效果 //相當(dāng)于將兩個(gè)頁面合并;編譯時(shí)就包含進(jìn)來

  //可插入任意位置

  3.taglib指令

  留在JSTL里講解。

  五、JSP中的注釋

  1.java格式注釋

  編譯器會(huì)忽略掉此類注釋中的內(nèi)容(客戶端的源碼看不見)

  2.html風(fēng)格注釋

  編譯器會(huì)執(zhí)行此類注釋中的代碼(客戶端的源碼看得見)

  等價(jià)于out.println("")

  這種注釋方式不好的地方就是當(dāng)頁面注釋信息太多的時(shí)候會(huì)增大服務(wù)器的負(fù)荷。

  還有注釋信息需要在網(wǎng)絡(luò)上傳輸,從而降低效率;內(nèi)部程序員的測(cè)試數(shù)據(jù)一般不能寫在這種注釋中,以免泄露。

  六、動(dòng)作(Action)

  JSP的動(dòng)作包括:

  forward、include、useBean、setProperty、getProperty

  1.forward動(dòng)作

  形式:

  等價(jià)于 Servlet中通過RequestDispatcher.forward();

  可以傳參數(shù)

  2.Include動(dòng)作

  形式:

  等價(jià)于 Servlet中通過RequestDispatcher.include();

  Include動(dòng)作也可以傳參數(shù)

  與比較:

  include動(dòng)作在運(yùn)行期處理(include指令編譯期),jsp:include包含的是所包含URI的響應(yīng),而不是URI本身。

  這意味著:jsp:include 對(duì)所指出的 URI 進(jìn)行解釋,因而包含的是生成的響應(yīng)。

  對(duì)于頁面是靜態(tài)內(nèi)容,這沒有太大的關(guān)系。但如果是動(dòng)態(tài)內(nèi)容,include動(dòng)作可傳參數(shù)。

  flush 屬性

  flush 指示在讀入包含內(nèi)容之前是否清空任何現(xiàn)有的緩沖區(qū)。

  JSP 1.1 中需要 flush 屬性,因此,如果代碼中不用它,會(huì)得到一個(gè)錯(cuò)誤。

  但是,在 JSP 1.2 中, flush 屬性缺省為 false。

  建議:由于清空大多數(shù)時(shí)候不是一個(gè)重要的問題,因此,對(duì)于 JSP 1.1,將 flush 設(shè)置為 true;

  而對(duì)于 JSP 1.2 及更高版本,將其設(shè)置為 false 或不設(shè)置(用默認(rèn)值)。

【SUN認(rèn)證考試常見知識(shí)點(diǎn)】相關(guān)文章:

SUN認(rèn)證考試科目01-11

SUN認(rèn)證考試簡(jiǎn)介03-16

SUN認(rèn)證考試流程01-15

SUN認(rèn)證考試項(xiàng)目01-11

sun java認(rèn)證考試介紹03-19

Sun Java認(rèn)證考試科目03-19

SUN認(rèn)證考試知識(shí)點(diǎn):java servlet生命周期03-17

Sun考試認(rèn)證題目解析201603-27

sun java認(rèn)證考試報(bào)考指南03-19