日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c标签判断true false jsp_北京尚学堂卓越班252天[第042天]——Jsp

發布時間:2024/9/27 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c标签判断true false jsp_北京尚学堂卓越班252天[第042天]——Jsp 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. JSP的核心運行原理

1) 客戶端瀏覽器發送請求到服務器,訪問a.jsp文件。

http://localhost:8989/應用名/a.jsp

2) 服務器端接收到請求后所做的處理

a) 創建request和response兩個對象

b) 根據請求中的應用名找到該應用下面的web.xml文件,發現該應用的配置文件中沒有關于a.jsp路徑相關的<url-pattern>的配置,所以會去找tomcat服務器中的全局web.xml的配置。我們發現全局的web.xml配置文件中有關于a.jsp的<url-pattern>的配置內容:

根據上面這段配置我們就找到了JspServlet,這個JspServlet就是jsp引擎。它會把jsp文件轉義成一個Java文件。我們可以查看tomcat安裝目錄下的路徑:

Tomcat安裝目錄/work/catalina/localhost/jsp/org/apache/jsp

這個目錄下有一個a_jsp.java和a_jsp.class兩個文件。這就是tomcat幫我們把jsp文件轉換成的Servlet類的源文件和.class文件。

我們平時在寫Servlet時,會繼承HttpServlet,然后覆蓋service方法,但是我們發現這個a_jsp.java文件中沒有service方法,但是有一個_jspService方法。其實,a_jsp類會繼承org.apache.jasper.runtime.HttpJspBase類,這個HttpJspBase類有繼承HttpServlet類,然后HttpJspBase類中的service方法,調用了_jspService(request, response)方法。到此,我們就知道了最后調用的還是a_jsp類中的_jspService方法。這也是整個a.jsp的核心執行流程。

1. page命令(page指令的作用:設置jsp在轉譯時的一些配置信息)

A) Page命令中的屬性學習

1) <%@page language=”java”%>

聲明jsp文件轉譯的語言,language=”java”的意思是轉譯為.java文件。

2) <%@page import=”java.util.*,java.lang.*”%>

上面的import屬性還可以分開寫:

<%@page import=”java.util.*”%>

<%@page import=”java.lang.*”%>

聲明轉譯時導入的java包文件。

3) <%@page pageEncoding=”UTF-8”%>

設置Jsp的數據保存的編碼格式

4) <%@page contentType=”text/html;charset=UTF-8”%>

設置數據的響應編碼格式

注意:tomca幫我們把jsp文件轉譯為.java文件,我們查看.java文件時,發現其中有這樣一行代碼:response.setContentType(“text/html”);

pageEncoding=”UTF-8”和contentType=”text/html;charset=UTF-8”中的任何一個都可以讓這行代碼變成這樣:

response.setContentType(“text/html;charset=UTF-8”);

5) <%@page session=”false”%>

設置session的狀態,也就是轉譯成的.java文件中session是否開啟。默認為true,是開啟的,設置為false,session就是關閉的。

默認情況下是session=”true”,當session屬性取默認值的時候,jsp文件對應的.java文件中會有這樣一行代碼:

javax.servlet.http.HttpSession session = null;

session = pageContext.getSession();

當我們設置為session=”false”后,.java文件中就沒有了關于session的那兩行代碼。

6) <%@page isErrorPage=”true”%>

默認為false,如果設置為true,就等于開啟異常對象的使用

7) <%@page errorPage=”error.jsp”%>

設置當本jsp頁面出現異常或錯誤時,跳轉到的指定頁面。

B) 局部代碼塊、全局代碼塊、java腳本段(表達式)

1) 局部代碼塊<% Java代碼 %>

局部代碼塊的特點:使用局部代碼塊聲明的java代碼會原樣轉譯到_jspService方法中,也就是局部代碼。

2) 全局代碼塊<%! java代碼 %>

注意:全局代碼塊中聲明的內容,到了jsp文件轉譯為.java文件時,會放在.java文件中的成員變量的位置,如上圖中,我們就是聲明了一個成員變量和一個成員方法,如果我們想調用test方法,應該在哪里調用呢?

我們應該在局部代碼塊中對test方法進行調用。<% test(); %>

1) Java腳本段(表達式)

聲明方式:<%= 變量或調用方法 %>

作用:將java代碼的運算結果數據或者其他數據響應給瀏覽器。一般是方法的調用或者變量。如果是調用方法,則把方法的返回值響應給瀏覽器。

注意:java腳本段中不能加分號”;”。

A) Jsp的注釋

HTML注釋:<!-- -->會被轉譯也會被響應給瀏覽器,但是瀏覽器不會執行。

CSS注釋:/* */和HTML注釋一樣,會被轉譯也會被響應給瀏覽器,但是瀏覽器不會執行。

JavaScript注釋://和/* */,同HTMl注釋一樣,會被轉譯也會被響應給瀏覽器,但是瀏覽器不會執行。

Java注釋:會被轉譯,但是不會被執行。

Jsp注釋:<%-- jsp注釋 --%> 注釋內容不會被轉譯,jsp的注釋是最高級別的注釋。

總結

以上是生活随笔為你收集整理的c标签判断true false jsp_北京尚学堂卓越班252天[第042天]——Jsp的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。