當前位置:首頁 » 網頁前端 » 查看以下jsp腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

查看以下jsp腳本

發布時間: 2022-05-31 03:37:55

⑴ JSP是什麼

JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准。

JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標准通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名為(*.jsp)。 用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。

一個JSP頁面可以被分為以下幾部份:靜態數據、JSP指令、JSP腳本元素和變數、JSP動作、用戶自定義標簽。

(1)查看以下jsp腳本擴展閱讀:

JSP技術是使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。

JSP將網頁邏輯與網頁設計的顯示分離,支持可重用的基於組件的設計,使基於Web的應用程序的開發變得迅速和容易。 JSP(JavaServer Pages)是一種動態頁面技術,它的主要目的是將表示邏輯從Servlet中分離出來。

⑵ jsp中的腳本

其實jsp就是一個servlet 它遵循java的基本原則,也就是卸載方法外面的就是全局變數,方法裡面的就是局部變數,

jsp中寫在function中的就是局部變數,反之為成員變數

⑶ 怎樣查看Jsp編譯後生成的Java文件

可能大多數Jsp開發員在寫完程序測試通過後,不太會關注Jsp生成的Java文件,其實,通過Java代碼,更能體現程序代碼的真正含義,對進一步研究程序代碼的後台運行情況是非常有幫助的。例如,用Jsp編寫代碼時,有時候用<%! %>,有時候用<% %>,加不加感嘆號,(Jsp代碼加感嘆號與不加感嘆號的區別)這類問題在教程里一般不會涉及到,從這里找到問題的突破口——Jsp生成的Java文件!所以,對於Jsp開發,有必要知道這點技能。

(1):對於Tomcat而言,JSP頁面生成的Java文件放在work路徑對應的Web應用下。例如:

D:/Tomcat5.5/webapps/test/test.jsp

生成對應的java文件

D:/Tomcat5.5/work/Standalone/localhost/test/

對於Resin而言,JSP頁面生成的Java文件放在WEB-INF/work路徑對應的Web應用下。例如:

D:/Resin3.1.6/webapps/test/demo/test.jsp

生成對應的java文件

D:/Resin3.1.6/WEB-INF/work/_demo/_test.java/

(2):Jsp與Servlet的關系

1、JSP文件必須在JSP伺服器內運行。

2、JSP文件必須生成Servlet才能執行。

3、每個JSP頁面的第一個訪問者速度很慢,因為必須等待JSP編譯成Servlet。

4、JSP頁面的訪問者無須安裝任何客戶端,甚至不需要可以運行Java的運行環境,因為JSP頁面輸送到客戶端的是標准HTML頁面。

5、JSP頁面的靜態內容、JSP腳本都會轉換成Servlet的xxxService()方法,類似於自行創建Servlet時service()方法。

6、JSP聲明部分,轉換成Servlet的成員部分。所有JSP聲明部分可以使用private,protected,public,static等修飾符,其他地方則不行。

7、JSP的輸出表達式(<%= ..%>部分),輸出表達式會轉換成Servlet的xxxService()方法里的輸出語句。

8、九個內置對象要麼是xxxService()方法的形參,要麼是該方法的局部變數,所以九個內置對象只能在JSP腳本和輸出表達式中使用。

從上述第5、6點,其實就可以解釋Jsp代碼加感嘆號與不加感嘆號的區別的問題。

(3):在Tomcat下指定Jsp生成的Java文件路徑:

當需要自定義Jsp生成的Java文件位置時,可以通過如下兩種方法來實現:

方法1.在tomcat的配置文件server.xml(路徑:tomcat路徑\conf下面)里,找到:<Context docBase="D:/workspace/icinfo/trunk/web" path="" reloadable="false" debug="0" crossContext="true" workDir="D:/workspace/icinfo/trunk/web/WEB-INF/lib/CommonPKI/META-INF/work"/>,添加如上的workDir=""屬性,""里寫你的要看到.java/.class的路徑.

方法2.到conf/Catalina/localhost下找到你項目的.xml培植文件,找到方法1中的代碼,後續操作同方法1.

(4):保留Weblogic 中Jsp編譯後生成的Java文件:

在weblogic.xml中加入:

看看web應用在Weblogic中生成臨時文件中,有Java文件了。

⑷ 分析jsp的腳本元素,說明jsp標記和html標記的不同

1.JSP聲明
聲明(declaration)用來在JSP頁面中聲明變數和定義方法。聲明是以<%!開頭,以%>結束的標簽
,其中可以包含任意數量的合法的Java聲明語句。下面是JSP聲明的一個例子:
<%! int count = 0; %>

2.JSP小腳本
小腳本(scriptles)是嵌入在JSP頁面中的Java代碼段。小腳本是以<%開頭,以%>結束的標簽。例如<% count++; %>

3.JSP表達式
表達式(expressiong)是以<%=開頭,以%>結束的標簽,它作為Java語言表達式的佔位符。
如<%= count%>

⑸ 單選題Java web

C、 test = Hello
B. 顯示「OK」
B. while循環

⑹ 什麼是JSP腳本元素

JSP腳本元素用來插入Java代碼,這些Java代碼將出現在由當前JSP頁面生成的Servlet中。jsp的頁面組成可以是靜態類容,指令,表達式,小腳本,聲明,標注動作和注釋。其中表達式(expression),小腳本(scriptlet);聲明(declaration )統稱為Jsp腳本元素

⑺ 如何查看JSP內置對象的常用方法

jsp內置對象
一,定義:可以不加聲明就在JSP頁面腳本(Java程序片和Java表達式)中使用的成員變數
JSP共有以下9種基本內置組件(可與ASP的6種內部組件相對應):
內置對象 代表內容 范圍
request 觸發服務調用的請求 request
response 對請求的應答 page
session 為請求的客戶創建的session對象 session
application 從 servlet 配置對象獲得的 servlet 上下文
(如在getServletConfig() ,getContext()的調用中) application
out 向輸出流寫入內容的對象 page
pageContext 本 JSP 的頁面上下文 page
page 實現處理本頁當前請求的類的實例 page
config 本 JSP 的 ServletConfig page
exception 表示JSP頁面運行時產生的異常 Page

一,request對象
1. getServletPath() 獲取客戶提交信息的頁面。
String strServlet=request.getServletPath();

1. getMethod() 獲取客戶提交信息的方式,get|post。

String strMethod = request.getMethod();

1.05 getHeade() 獲取HTTP頭文件中的accept、accept-encoding和Host的值。

String strHeader = request.getHeader("accept");

1.06 getRermoteAddr() 獲取客戶的IP地址。

String strIP = request.getRemoteAddr();

1.07 getRemoteHost() 獲取客戶機的名稱。

String clientName = request.getRemoteHost();

1.08 getServerName() 獲取伺服器名稱。

String serverName = request.getServerName();

1.09 getServerPort() 獲取伺服器的埠號。

int serverPort = request.getServerPort();

1.10 getParameterNames() 獲取客戶端提交的所有參數的名字。

Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()){
String s=(String)enum.nextElement();
out.println(s);
}

2、Response對象

對客戶的請求做出動態的響應,向客戶端發送數據。
2.1 動態響應contentType屬性
當一個用戶訪問一個JSP頁面時,如果該頁面用page指令設置頁面的contentType屬性時text/html,那麼JSP引擎將按照這個屬性值做出反應。如果要動態改變這換個屬性值來響應客戶,就需要使用Response對象的setContentType(String s)方法來改變contentType的屬性值。
格式:response.setContentType(String s);
參數s可取text/html,application/x-msexcel,application/msword等。
2.2 Response重定向
在某些情況下,當響應客戶時,需要將客戶重新引導至另一個頁面,可以使用Response的sendRedirect(URL)方法實現客戶的重定向。例如:

response.sendRedirect("index.jsp");

3、Session對象

(1)什麼是Session對象
Session對象是一個JSP內置對象,它在第一個JSP頁面被裝載時自動創建,完成會話期管理。從一個客戶打開瀏覽器並連接到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為一個會話。當一個客戶訪問一個伺服器時,可能會在這個伺服器的幾個頁面之間切換,伺服器應當通過某種辦法知道這是一個客戶,就需要Session對象。
(2)Session對象的ID
當一個客戶首次訪問伺服器上的一個JSP頁面時,JSP引擎產生一個Session對象,同時分配一個String類型的ID號,JSP引擎同時將這換個ID號發送到客戶端,存放在Cookie中,這樣Session對象,直到客戶關閉瀏覽器後,伺服器端該客戶的Session對象才取消,並且和客戶的會話對應關系消失。當客戶重新打開瀏覽器再連接到該伺服器時,伺服器為該客戶再創建一個新的Session對象。
(3)Session對象的常用方法
● public String getId():獲取Session對象編號。
● public void setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Session對象中,並為添加的對象指定一個索引關鍵字。
● public Object getAttribute(String key):獲取Session對象中含有關鍵字的對象。
● public Boolean isNew():判斷是否是一個新的客戶。

4、Application對象

(1)什麼時Application對象
伺服器啟動後就產生了這個Application對象,當客戶再所訪問的網站的各個頁面之間瀏覽時,這個Application對象都時同一個,直到伺服器關閉。但是與Session對象不同的時,所有客戶的Application對象都時同一個,即所有客戶共享這個內置的Application對象。
(2)Application對象的常用方法
● setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Application對象中,並為添加的對象指定一個索引關鍵字。
● getAttribute(String key):獲取Application對象中含有關鍵字的對象。

5、Out對象

Out對象時一個輸出流,用來向客戶端輸出數據。Out對象用於各種數據的輸出。其常用方法如下。
● out.print():輸出各種類型數據。
● out.newLine():輸出一個換行符。
● out.close():關閉流。

6、Cookie對象

(1)什麼是Cookie
Cookie是Web伺服器保存在用戶硬碟上的一段文本。Cookie允許一個Web站點在用戶電腦上保存信息並且隨後再取回它。
舉例來說,一個Web站點可能會為每一個訪問者產生一個唯一的ID,然後以Cookie文件的形式保存在每個用戶的機器上。
如果用戶使用IE瀏覽器訪問Web,用戶就會看到所有保存在自己硬碟上的Cookie。它們最常存放的地方是:C:\Windows\Cookies。Cookie是以「關鍵字key=值value」的格式來保存記錄的。
(2)創建一個Cookie對象
調用Cookie對象的構造函數就可以創建Cookie對象。Cookie對象的構造函數有兩個字元串參數:Cookie名字和Cookie值。
例如:Cookie c = new Cookie("username","john");
(3)將Cookie對象傳送到客戶端
在JSP中,如果要將封裝好的Cookie對象傳送到客戶端,可使用Response對象的addCookie()方法。
例如:response.addCookie(c)。
(4)讀取保存到客戶端的Cookie
使用Request對象的getCookie()方法,執行時將所有客戶端傳來的Cookie對象以數組的形式排列,如果要取出符合需要的Cookie對象,就需要循環比較數組內每個對象的關鍵字。
例如:

Cookie[] c = request.getCookies();
if(c != null)
for(int i = 0;i < c.length;i++){
if("username".equals(c.getName()))
out.println(c.getValue());
}

(5)設置Cookie對象的有效時間
調用Cookie對象的setMaxAge()方法便可以設置Cookie對象的有效時間,
例如:Cookie c = new Cookie("username","john");
c.setMaxAge(3600);
(6)Cookie應用
Cookie對象的典型應用時用來統計網站的訪問人數。由於代理伺服器、緩存等的使用,唯一能幫助網站精確統計來訪人數的方法就是為每個訪問者建立一個唯一ID。使用Cookie,網站可以完成一下工作。
● 測定多少人訪問過。
● 測定訪問者有多少是新用戶(即第一次來訪),多少是老用戶。
● 測定一個用戶多久訪問一次網站
當一個用戶第一次訪問時,網站在資料庫中建立一個新的ID,並把ID通過Cookie傳送給用戶。用戶再次來訪時,網站把該用戶ID對應的計數器加1,得到用戶的來訪次數。

7、Config對象

配置對象

頁面對象。

PageContext對象

9、Exception對象

在處理異常的網頁中可以直接訪問exception隱式對象。

頁面上下文對象
Jsp引入了一個名位PageContext的類,通過它可以訪問頁面的許多屬性。
PageContext類擁有getRequest,getResponse,getOut,getSession等方法。
pageContext變數存儲與當前頁面相關聯的PageContext對象的值。
補:
如果方法需要訪問多個與頁面相關的對象,
傳遞pageContext要比傳遞request,response,out等的獨立引用更容易。(雖然兩種方式都能達到同樣的目的)

8、Page對象

7.exception對象
exception對象是一個例外對象,當一個頁面在運行過程中發生了例外,就產生這個對象。如果一個JSP頁面要應用此對象,就必須把isErrorPage設為true,否則無法編譯。他實際上是java.lang.Throwable的對象

序號 方 法 說 明
1 String getMessage() 返回描述異常的消息
2 String toString() 返回關於異常的簡短描述消息
3 void printStackTrace() 顯示異常及其棧軌跡
4 Throwable FillInStackTrace() 重寫異常的執行棧軌跡

8.pageContext對象
pageContext對象提供了對JSP頁面內所有的對象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當於頁面中所有功能的集大成者,它的本 類名也叫pageContext。

序號 方 法 說 明
1 JspWriter getOut() 返回當前客戶端響應被使用的JspWriter流(out)
2 HttpSession getSession() 返回當前頁中的HttpSession對象(session)
3 Object getPage() 返回當前頁的Object對象(page)
4 ServletRequest getRequest() 返回當前頁的ServletRequest對象(request)
5 ServletResponse getResponse() 返回當前頁的ServletResponse對象(response)
6 Exception getException() 返回當前頁的Exception對象(exception)
7 ServletConfig getServletConfig() 返回當前頁的ServletConfig對象(config)
8 ServletContext getServletContext() 返回當前頁的ServletContext對象(application)
9 void setAttribute(String name,Object attribute) 設置屬性及屬性值
10 void setAttribute(String name,Object obj,int scope) 在指定范圍內設置屬性及屬性值
11 public Object getAttribute(String name) 取屬性的值
12 Object getAttribute(String name,int scope) 在指定范圍內取屬性的值
13 public Object findAttribute(String name) 尋找一屬性,返回起屬性值或NULL
14 void removeAttribute(String name) 刪除某屬性
15 void removeAttribute(String name,int scope) 在指定范圍刪除某屬性
16 int getAttributeScope(String name) 返回某屬性的作用范圍
17 Enumeration getAttributeNamesInScope(int scope) 返回指定范圍內可用的屬性名枚舉
18 void release() 釋放pageContext所佔用的資源
19 void forward(String relativeUrlPath) 使當前頁面重導到另一頁面
20 void include(String relativeUrlPath) 在當前位置包含另一文件
<%@page contentType="text/html;charset=gb2312"%>
<html><head><title>pageContext對象_例1</title></head>
<body><br>
<%
request.setAttribute("name","霖苑編程");
session.setAttribute("name","霖苑計算機編程技術培訓");
//session.putValue("name","計算機編程");
application.setAttribute("name","培訓");
%>
request設定的值:<%=pageContext.getRequest().getAttribute("name")%><br>
session設定的值:<%=pageContext.getSession().getAttribute("name")%><br>
application設定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>
范圍1內的值:<%=pageContext.getAttribute("name",1)%><br>
范圍2內的值:<%=pageContext.getAttribute("name",2)%><br>
范圍3內的值:<%=pageContext.getAttribute("name",3)%><br>
范圍4內的值:<%=pageContext.getAttribute("name",4)%><br>
<!--從最小的范圍page開始,然後是reques、session以及application-->
<%pageContext.removeAttribute("name",3);%>
pageContext修改後的session設定的值:<%=session.getValue("name")%><br>
<%pageContext.setAttribute("name","應用技術培訓",4);%>
pageContext修改後的application設定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>
值的查找:<%=pageContext.findAttribute("name")%><br>
屬性name的范圍:<%=pageContext.getAttributesScope("name")%><br>
</body></html>

9.config對象
config對象是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所要用到的參數(通過屬性名和屬性值構成)以及伺服器的有關信息(通過傳遞一個ServletContext對象)

序號 方 法 說 明
1 ServletContext getServletContext() 返回含有伺服器相關信息的ServletContext對象
2 String getInitParameter(String name) 返回初始化參數的值
3 Enumeration getInitParameterNames() 返回Servlet初始化所需所有參數的枚舉

⑻ jsp 小腳本

<%
String
path
=
request.getContextPath();
String
basePath
=
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
out.print(path);//先運行下,看看是些什麼東西
out.print(basePath);//先運行下,看看是些什麼東西
%>
path就是你的當前項目的路徑
basePath就是完整的url路徑(協議+主機+埠號+項目路徑)

⑼ JSP腳本元素的JSP小腳本

小腳本(scriptles)是嵌入在JSP頁面中的Java代碼段。小腳本是以<%開頭,以%>結束的標簽。例如<% count++; %>
小腳本在每次訪問頁面時都被執行,因此count變數在每次請求時都增1.由於小腳本可以包含任何Java代碼,所以它通常用來在JSP頁面嵌入計算邏輯。同時還可以使用小腳本列印HTML模板文本。

⑽ jsp腳本元素包括哪些啊

jsp的頁面組成可以是靜態類容,指令,表達式,小腳本,聲明,標注動作和注釋。其中表達式(expression),小腳本(scriptlet);聲明(declaration )統稱為Jsp腳本元素