国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JavaWeb之 JSP基礎

2019-11-14 22:04:22
字體:
來源:轉載
供稿:網友
javaWeb之 jsp基礎什么是JSP

JSP的全稱是javaserverpage,java服務頁面。是提供java服務的頁面~

那么和Servlet有什么區別呢?JSP的頁面既可以寫java代碼~也可以寫html代碼哦!!

JSP的特點

JSP的作用:JSP是主要用來開發動態資源的技術~

那么JSP怎么運行呢?我這里交給Tomcat服務器運行了~

Jsp運行的目錄

%tomcat%/work是tomcat服務器運行jsp頁面的臨時目錄。

那么我們來看看JSP的原理,JSP是怎么運行的~

我們用瀏覽器輸入:http://localhost:8080/day12/01.hello.jsp

第一次訪問時:               找到文件-翻譯-編譯-構造實例-調用方法

1)在day12web應用下找到01.hello.jsp文件

2)tomcat服務器將01.hello.jsp文件翻譯成java源文件。例如01.hello_jsp.java

3)tomcat服務器將java源碼編譯成class字節碼,例如01.hello_jsp.class

4)tomcat服務器構造01.hello_jsp類的實例,調用類中的方法。

第n次訪問時: 已經存在了jsp文件對應的class對象的一個實例,直接用該實例調用方法

tomcat服務器不再翻譯和編譯jsp文件

注意:                   jsp文件被修改,或jsp臨時文件被刪除,服務器都會重新翻譯和編譯jsp文件。

1)當修改了jsp文件時的第一次訪問,重新再翻譯和編譯jsp文件。

2)當刪除%tomcat%/work的jsp臨時文件的第一次訪問,重新再翻譯和編譯jsp文件。

Jsp的原理

問題:Jsp文件翻譯成的java源文件是什么類??

publicfinalclass hello extends HttpJspBase

publicabstractclassorg.apache.jasper.runtime.HttpJspBaseextends HttpServletimplements HttpJspPage{

    繼承自HttpServlet!!!

結論:Jsp就是一個servlet!!

注意

1)Jsp文件的html代碼,通過out.writer()方法寫出到瀏覽器。

2)Jsp文件的java代碼,直接拷貝到java源文件中,通過_jspService()方法執行。

那么我們下面來體驗一下JSP吧~

jsp的體驗

需求:用jsp向瀏覽器輸出當前時間。下面是核心代碼:

  <body>           <h1><font color='red'>歡迎來到此頁面</font></h1>           <%               SimpleDateFormat simaple = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss");               String date = simaple.format(new Date());               request.setAttribute("aa", "123");            %>                       當前的時間是:<%=date %>           <%               String ip = request.getRemoteAddr();               out.write(ip);                       %>                     </body>

然后用瀏覽器直接訪問這個jsp,就能看到以下的效果了~

體驗完JSP,是不是很自己寫一個體驗一下呢?下面我們就來學習JSP的語法吧!

JSP的語法Jsp模板

Jsp模塊:就是jsp頁面中的html代碼

Jsp表達式

例如:<%=x%>表達式<%=x*y+k-n%>

這樣寫的表達式,翻譯后實質上是用過out.PRint()來輸出。

格式:<%=變量或表達式計算%>

作用:用于向瀏覽器輸出變量的值或表達式計算的結果

注意:

1)表達式的原理就是通過out.print()方法向瀏覽器輸出內容。

2)表達式后面不能帶分號。

Jsp腳本 也就是html中的java代碼

格式:<%java代碼%>

作用:執行java代碼

注意:

1)可以寫多行java代碼

2)原理是把腳本代碼原封不動拷貝到_jspService方法中執行。

3)jsp腳本可以穿插html代碼結合使用

Jsp聲明聲明里面的 變量和方法是成員變量和成員方法

格式:<%!%>

作用:聲明jsp的變量和方法

注意:

1)Jsp腳本聲明的變量是局部變量,Jsp聲明的變量是成員變量。

2)Jsp腳本中不能聲明方法的,Jsp聲明的方法是成員方法。

3)jsp聲明的方法不能和翻譯成的java類的方法重復。

Jsp注釋jsp注釋只會出現在jsp文件中,不會被翻譯到java文件里。

格式:<%--jsp注釋--%>

注意:

html的注釋會翻譯到java源代碼中,會被執行的。

jsp的注釋不會翻譯到java源代碼中,不會被執行的。

看完前面的介紹那么久寫一段代碼來體現下吧~

  <body>          <%--模板 --%>                   <h1><font color='red'>歡迎來到此頁面</font></h1>                      <%--腳本 --%>>                   <%                                                                   SimpleDateFormat simaple = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss");               String date = simaple.format(new Date());               request.setAttribute("aa", "123");            %>                                    <%--表達式 --%>>           當前的時間是:<%=date %>           <%               String ip = request.getRemoteAddr();               out.write(ip);               out.write(s);                      %>                        <%--聲明--%>            <%!               String s = "hello";            %>                                 </body>

然后看看輸出的結果把~:

上述就是JSP的基本語法,除了基本語法,我們還需要學習JSP的三大指令。

Jsp三大指令

一)taglib指令(這個我們以后再說)

    主要用于導入jsp標簽庫

二)include指令

include指令----》把其它頁面一并翻譯到java文件里,這個頁面不需要具備html,body,head標簽,因為它會被翻譯到jsp文件對應的html的body內

作用:主要用于包含其他頁面

格式:<%@inculdefile="被包含的頁面"%>

注意:

1)include指令原理:包含與被包含的頁面內容先合并翻譯到一個java文件中,再編譯運行。(先合并再翻譯),這種包含叫靜態包含。(源碼包含)

2)如果使用include指令包含,那么被包含的頁面不需要使用全局的html標簽(例如,html,body,head)

page指令

作用:主要用于告訴服務器如何翻譯jsp文件,主要有下面幾種設置:

<%@ page   language="java"    --告訴服務器用什么語言翻譯此jsp頁面  import="java.util.*" --導包,在jsp頁面編寫java需要手動導包。除了java.lang包以為都需要導入。多個包之間用逗號分隔

  buffer="8kb"--jsp頁面緩沖區大小

  session="true"--是否開啟session功能

  isELIgnored="false"--是否忽略EL表達式

關于jsp文件的編碼:  pageEncoding="utf-8"    --告訴服務器用什么編碼翻譯此jsp文件  contentType="text/html; charset=utf-8"  --服務器發送給瀏覽器數據的編碼注意:1)contentType屬性的編碼看pageEncoding編碼2)在開發工具中,保存jsp文件的編碼自動根據pageEncoding的編碼改變。結論:1)在開發工具中,jsp文件的編碼問題只需要設置pageEncoding即可!2)如果用記事本開發jsp文件,要注意保存jsp文件的編碼。 異常相關的: errorPage=""   -指定錯誤處理頁面,當頁面出現錯就會轉跳到錯誤頁面。 isErrorPage=""  --指定當前頁面是否是錯誤處理頁面。true:是,那么可以使用exception的內置對象,使用它的一些方法。false:不是。不可以使用exception對象。 全局異常處理:在web.xml中加上配置
<!-- 配置全局異常 -->    <error-page>        <error-code>500</error-code>        <location>/common/500.jsp</location>   505錯誤都會轉跳到這個頁面    </error-page>    <error-page>        <error-code>404</error-code>        <location>/common/404.html</location>    404錯誤都會轉跳到這個頁面    </error-page>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都昌县| 舟曲县| 大丰市| 长治市| 抚顺县| 梁平县| 壶关县| 肇源县| 体育| 滦平县| 辽中县| 新竹市| 民乐县| 洪湖市| 文山县| 河南省| 黎川县| 邓州市| 连江县| 辽阳县| 定安县| 五常市| 静宁县| 武川县| 中江县| 高邑县| 团风县| 威信县| 青川县| 昭觉县| 科技| 锦屏县| 镇康县| 威海市| 闽清县| 彩票| 离岛区| 永新县| 自贡市| 玉林市| 玉林市|