本文實(shí)例講述了JSP入門之HelloWorld程序。分享給大家供大家參考,具體如下:
這里講述第一個(gè)JSP—HelloWorld!每一次的"初戀"都帶著神秘感,揭開JSP神秘的面紗!
JSP也是j2ee的一個(gè)規(guī)范。
JSP(java service Page),是由sun公司倡導(dǎo)、許多公司參與一起建立的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。
JSP與html的區(qū)別是在網(wǎng)頁(yè)中嵌入java代碼和JSP標(biāo)記,形成.jsp的文件。
JSP開發(fā)的web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。
剛學(xué)過了Servlet,后學(xué)的JSP,據(jù)說(shuō)是因?yàn)槲覀兪褂肧ervlet,在返回頁(yè)面給客戶端時(shí)太多的html代碼太繁瑣,并且一點(diǎn)改動(dòng)了servlet代碼就要重新編譯一次重新啟動(dòng)tomcat重新發(fā)送到客戶端比較繁瑣,并且我們?nèi)绻麑?duì)返回頁(yè)面進(jìn)行一些美化的話也不是很方便,于是人家sun公司就為程序員考慮周全了。
于是JSP應(yīng)運(yùn)而生。
那JSP運(yùn)行的機(jī)制呢?我們寫一個(gè)HelloWorld.jsp文件,啟動(dòng)tomcat服務(wù)器,便可運(yùn)行成功,但是這個(gè)過程是如何實(shí)現(xiàn)的?JSP與Servlet什么關(guān)系?JSP和ASP什么關(guān)系?下面我們一一來(lái)探討。
第一個(gè).jsp文件:
html>
head>
title>HelloWorldJSP~/title>
/head>
body>
%
out.println("HelloWorld");
%>
/body>
/html>
JSP頁(yè)面是如何實(shí)現(xiàn)的?機(jī)制?

其實(shí)就是當(dāng)你通過http請(qǐng)求一個(gè)JSP頁(yè)面是,首先Tomcat會(huì)講JSP編譯成為Servlet,然后執(zhí)行Servlet.
詳細(xì)說(shuō)說(shuō)這個(gè)運(yùn)行過程:
1. 首先web客戶端發(fā)送URL請(qǐng)求給Tomcat。服務(wù)器獲得請(qǐng)求,對(duì)請(qǐng)求字符串分析,如果后綴名是.jsp文件的,則Tomcat把調(diào)用JspServlet處理。JspServlet是
2. 如果JSP文件第一次被調(diào)用,則會(huì)把jsp編譯成servlet,如果jsp不是第一次調(diào)用則不會(huì)被編譯。Jsp文件在沒有修改的情況下,只會(huì)編譯一次。
3. Tomcat調(diào)用service()方法編譯jsp文件,創(chuàng)建一個(gè).java和.class文件。該java文件繼承自父類HttpJspBase類。

4. 創(chuàng)建HttpServletRequest類和HttpServletResponse類
5. 調(diào)用.java繼承父類的HttpJspBase類方法service(request,response)
6. 在service方法里面調(diào)用jspService(request,reponse)方法,渲染html返回給客戶端。
JSP和Servlet關(guān)系?
初次接觸JSP和Servlet,前面已經(jīng)說(shuō)了,JSP是后Servlet出現(xiàn)的。JSP的運(yùn)行機(jī)制也比較了解了,其實(shí)JSP就是Servlet,只不過一些重復(fù)的事情讓Tomcat去做了。JSP彌補(bǔ)了Servlet的不足之處,更加人性化了。
不同之處:
Servlet完全是java代碼構(gòu)成,擅長(zhǎng)流程控制和事務(wù)處理
JSP由HTML代碼和JSP標(biāo)簽構(gòu)成,可以方便地編寫動(dòng)態(tài)網(wǎng)頁(yè)。
因此實(shí)際中采用servlet來(lái)控制業(yè)務(wù)流程,而采用JSP來(lái)生成動(dòng)態(tài)網(wǎng)頁(yè)。
JSP相當(dāng)于JAVA和Html可以組合在一起的一個(gè)擴(kuò)展名為.jsp的文件。
JSP側(cè)重視圖,Sevlet主要用于控制邏輯。
希望本文所述對(duì)大家jsp程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- 使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問題及解決方法
- springMVC如何將controller中Model數(shù)據(jù)傳遞到j(luò)sp頁(yè)面
- 實(shí)例解析JSP中EL表達(dá)式的各種運(yùn)用
- JSP實(shí)現(xiàn)從數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)到Excel下載的方法
- JSP上傳excel及excel插入至數(shù)據(jù)庫(kù)的方法
- JSP 不能解析EL表達(dá)式的解決辦法
- JSP EL表達(dá)式詳細(xì)介紹
- jsp 不支持EL表達(dá)式,解決辦法
- JSP頁(yè)面無(wú)法識(shí)別EL表達(dá)式問題解決方案