亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

direktori cari
JSP 基礎(chǔ)教程 JSP 開(kāi)發(fā)環(huán)境搭建 JSP 結(jié)構(gòu) JSP 生命周期 JSP 語(yǔ)法 JSP 指令 JSP 動(dòng)作元素 JSP 隱式對(duì)象 JSP 客戶端請(qǐng)求 JSP 服務(wù)器響應(yīng) JSP HTTP 狀態(tài)碼 JSP 表單處理 JSP 過(guò)濾器 JSP Cookies 處理 JSP Session JSP 文件上傳 JSP 日期處理 JSP 頁(yè)面重定向 JSP 點(diǎn)擊量統(tǒng)計(jì) JSP 自動(dòng)刷新 JSP 發(fā)送郵件 JSP 高級(jí)教程 JSP 標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL) <c:out> 標(biāo)簽 <c:set> 標(biāo)簽 <c:remove> 標(biāo)簽 <c:catch> 標(biāo)簽 <c:if> 標(biāo)簽 <c:choose> <c:import> 標(biāo)簽 <c:forEach> <c:param> 標(biāo)簽 <c:redirect> 標(biāo)簽 <fmt:formatNumber>標(biāo)簽 <fmt:parseNumber> 標(biāo)簽 <fmt:formatDate> 標(biāo)簽 <fmt:parseDate> 標(biāo)簽 <fmt:bundle> 標(biāo)簽 <fmt:setLocale> 標(biāo)簽 <fmt:setBundle> 標(biāo)簽 <fmt:timeZone> 標(biāo)簽 <fmt:setTimeZone> 標(biāo)簽 <fmt:message> 標(biāo)簽 <fmt:requestEncoding> 標(biāo)簽 <sql:setDataSource> 標(biāo)簽 <sql:query> 標(biāo)簽 <sql:update> 標(biāo)簽 <sql:param> 標(biāo)簽 <sql:dateParam> 標(biāo)簽 <sql:transaction> 標(biāo)簽 <x:out> 標(biāo)簽 <x:parse> 標(biāo)簽 <x:set> 標(biāo)簽 <x:if> 標(biāo)簽 <x:forEach> 標(biāo)簽 <x:choose> <x:transform> 標(biāo)簽 <x:param> 標(biāo)簽 fn:contains()函數(shù) fn:containsIgnoreCase()函數(shù) fn:endsWith()函數(shù) fn:escapeXml()函數(shù) fn:indexOf()函數(shù) fn:join()函數(shù) fn:length()函數(shù) fn:replace()函數(shù) fn:split()函數(shù) fn:startsWith()函數(shù) fn:substring()函數(shù) fn:substringAfter()函數(shù) fn:substringBefore()函數(shù) fn:toLowerCase()函數(shù) fn:toUpperCase()函數(shù) fn:trim()函數(shù) JSP 連接數(shù)據(jù)庫(kù) JSP XML 數(shù)據(jù)處理 JSP JavaBean JSP 自定義標(biāo)簽 JSP 表達(dá)式語(yǔ)言 JSP 異常處理 JSP 調(diào)試 JSP 國(guó)際化
watak

JSP 語(yǔ)法


本小節(jié)將會(huì)簡(jiǎn)單地介紹一下JSP開(kāi)發(fā)中的基礎(chǔ)語(yǔ)法。


腳本程序

腳本程序可以包含任意量的Java語(yǔ)句、變量、方法或表達(dá)式,只要它們?cè)谀_本語(yǔ)言中是有效的。

腳本程序的語(yǔ)法格式:

<% 代碼片段 %>

或者,您也可以編寫(xiě)與其等價(jià)的XML語(yǔ)句,就像下面這樣:

<jsp:scriptlet>
   代碼片段
</jsp:scriptlet>

任何文本、HTML標(biāo)簽、JSP元素必須寫(xiě)在腳本程序的外面。

下面給出一個(gè)示例,同時(shí)也是本教程的第一個(gè)JSP示例:

<html>
<head><title>Hello World</title></head>
<body>
Hello World!<br/>
<%
out.println("Your IP address is " + request.getRemoteAddr());
%>
</body>
</html>

注意:請(qǐng)確保Apache Tomcat已經(jīng)安裝在C:\apache-tomcat-7.0.2目錄下并且運(yùn)行環(huán)境已經(jīng)正確設(shè)置。

將以上代碼保存在hello.jsp中,然后將它放置在 C:\apache-tomcat-7.0.2\webapps\ROOT目錄下,打開(kāi)瀏覽器并在地址欄中輸入http://localhost:8080/hello.jsp。運(yùn)行后得到以下結(jié)果:


JSP聲明

一個(gè)聲明語(yǔ)句可以聲明一個(gè)或多個(gè)變量、方法,供后面的Java代碼使用。在JSP文件中,您必須先聲明這些變量和方法然后才能使用它們。

JSP聲明的語(yǔ)法格式:

<%! declaration; [ declaration; ]+ ... %>

或者,您也可以編寫(xiě)與其等價(jià)的XML語(yǔ)句,就像下面這樣:

<jsp:declaration>
   代碼片段
</jsp:declaration>

程序示例:

<%! int i = 0; %> 
<%! int a, b, c; %> 
<%! Circle a = new Circle(2.0); %> 

JSP表達(dá)式

一個(gè)JSP表達(dá)式中包含的腳本語(yǔ)言表達(dá)式,先被轉(zhuǎn)化成String,然后插入到表達(dá)式出現(xiàn)的地方。

由于表達(dá)式的值會(huì)被轉(zhuǎn)化成String,所以您可以在一個(gè)文本行中使用表達(dá)式而不用去管它是否是HTML標(biāo)簽。

表達(dá)式元素中可以包含任何符合Java語(yǔ)言規(guī)范的表達(dá)式,但是不能使用分號(hào)來(lái)結(jié)束表達(dá)式。

JSP表達(dá)式的語(yǔ)法格式:

<%= 表達(dá)式 %>

同樣,您也可以編寫(xiě)與之等價(jià)的XML語(yǔ)句:

<jsp:expression>
   表達(dá)式
</jsp:expression>

程序示例:

<html> 
<head><title>A Comment Test</title></head> 
<body>
<p>
   Today's date: <%= (new java.util.Date()).toLocaleString()%>
</p>
</body> 
</html> 

運(yùn)行后得到以下結(jié)果:

Today's date: 11-Sep-2013 21:24:25

JSP注釋

JSP注釋主要有兩個(gè)作用:為代碼作注釋以及將某段代碼注釋掉。

JSP注釋的語(yǔ)法格式:

<%-- 這里可以填寫(xiě) JSP 注釋 --%>

程序示例:

<html> 
<head><title>A Comment Test</title></head> 
<body> 
<h2>A Test of Comments</h2> 
<%-- 該部分注釋在網(wǎng)頁(yè)中不會(huì)被顯示--%> 
</body> 
</html> 

運(yùn)行后得到以下結(jié)果:

A Test of Comments

不同情況下使用注釋的語(yǔ)法規(guī)則:

語(yǔ)法 描述
<%-- 注釋 --%> JSP注釋?zhuān)⑨寖?nèi)容不會(huì)被發(fā)送至瀏覽器甚至不會(huì)被編譯
<!-- 注釋 --> HTML注釋?zhuān)ㄟ^(guò)瀏覽器查看網(wǎng)頁(yè)源代碼時(shí)可以看見(jiàn)注釋內(nèi)容
<\% 代表靜態(tài) <%常量
%\> 代表靜態(tài) %> 常量
\' 在屬性中使用的單引號(hào)
\" 在屬性中使用的雙引號(hào)

JSP指令

JSP指令用來(lái)設(shè)置與整個(gè)JSP頁(yè)面相關(guān)的屬性。

JSP指令語(yǔ)法格式:

<%@ directive attribute="value" %>

這里有三種指令標(biāo)簽:

指令 描述
<%@ page ... %> 定義頁(yè)面的依賴(lài)屬性,比如腳本語(yǔ)言、error頁(yè)面、緩存需求等等
<%@ include ... %> 包含其他文件
<%@ taglib ... %> 引入標(biāo)簽庫(kù)的定義,可以是自定義標(biāo)簽

JSP行為

JSP行為標(biāo)簽使用XML語(yǔ)法結(jié)構(gòu)來(lái)控制servlet引擎。它能夠動(dòng)態(tài)插入一個(gè)文件,重用JavaBean組件,引導(dǎo)用戶去另一個(gè)頁(yè)面,為Java插件產(chǎn)生相關(guān)的HTML等等。

行為標(biāo)簽只有一種語(yǔ)法格式,它嚴(yán)格遵守XML標(biāo)準(zhǔn):

<jsp:action_name attribute="value" />

行為標(biāo)簽基本上是一些預(yù)先就定義好的函數(shù),下表羅列出了一些可用的JSP行為標(biāo)簽::

語(yǔ)法 描述
jsp:include 用于在當(dāng)前頁(yè)面中包含靜態(tài)或動(dòng)態(tài)資源
jsp:useBean 尋找和初始化一個(gè)JavaBean組件
jsp:setProperty 設(shè)置 JavaBean組件的值
jsp:getProperty 將?JavaBean組件的值插入到 output中
jsp:forward 從一個(gè)JSP文件向另一個(gè)文件傳遞一個(gè)包含用戶請(qǐng)求的request對(duì)象
jsp:plugin 用于在生成的HTML頁(yè)面中包含Applet和JavaBean對(duì)象
jsp:element 動(dòng)態(tài)創(chuàng)建一個(gè)XML元素
jsp:attribute 定義動(dòng)態(tài)創(chuàng)建的XML元素的屬性
jsp:body 定義動(dòng)態(tài)創(chuàng)建的XML元素的主體
jsp:text 用于封裝模板數(shù)據(jù)

JSP隱含對(duì)象

JSP支持九個(gè)自動(dòng)定義的變量,江湖人稱(chēng)隱含對(duì)象。這九個(gè)隱含對(duì)象的簡(jiǎn)介見(jiàn)下表:

對(duì)象 描述
request HttpServletRequest類(lèi)的實(shí)例
response HttpServletResponse類(lèi)的實(shí)例
out PrintWriter類(lèi)的實(shí)例,用于把結(jié)果輸出至網(wǎng)頁(yè)上
session HttpSession類(lèi)的實(shí)例
application ServletContext類(lèi)的實(shí)例,與應(yīng)用上下文有關(guān)
config ServletConfig類(lèi)的實(shí)例
pageContext PageContext類(lèi)的實(shí)例,提供對(duì)JSP頁(yè)面所有對(duì)象以及命名空間的訪問(wèn)
page 類(lèi)似于Java類(lèi)中的this關(guān)鍵字
Exception Exception類(lèi)的對(duì)象,代表發(fā)生錯(cuò)誤的JSP頁(yè)面中對(duì)應(yīng)的異常對(duì)象

控制流語(yǔ)句

JSP提供對(duì)Java語(yǔ)言的全面支持。您可以在JSP程序中使用Java API甚至建立Java代碼塊,包括判斷語(yǔ)句和循環(huán)語(yǔ)句等等。

判斷語(yǔ)句

If…else塊,請(qǐng)看下面這個(gè)例子:

<%! int day = 3; %> 
<html> 
<head><title>IF...ELSE Example</title></head> 
<body>
<% if (day == 1 | day == 7) { %>
      <p> Today is weekend</p>
<% } else { %>
      <p> Today is not weekend</p>
<% } %>
</body> 
</html> 

運(yùn)行后得到以下結(jié)果:

Today is not weekend

現(xiàn)在來(lái)看看switch…case塊,與if…else塊有很大的不同,它使用out.println(),并且整個(gè)都裝在腳本程序的標(biāo)簽中,就像下面這樣:

<%! int day = 3; %> 
<html> 
<head><title>SWITCH...CASE Example</title></head> 
<body>
<% 
switch(day) {
case 0:
   out.println("It\'s Sunday.");
   break;
case 1:
   out.println("It\'s Monday.");
   break;
case 2:
   out.println("It\'s Tuesday.");
   break;
case 3:
   out.println("It\'s Wednesday.");
   break;
case 4:
   out.println("It\'s Thursday.");
   break;
case 5:
   out.println("It\'s Friday.");
   break;
default:
   out.println("It's Saturday.");
}
%>
</body> 
</html> 

運(yùn)行后得出以下結(jié)果:

It's Wednesday.
循環(huán)語(yǔ)句

在JSP程序中可以使用Java的三個(gè)基本循環(huán)類(lèi)型:for,while,和 do…while。

讓我們來(lái)看看for循環(huán)的例子:

<%! int fontSize; %> 
<html> 
<head><title>FOR LOOP Example</title></head> 
<body>
<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
   <font color="green" size="<%= fontSize %>">
    JSP Tutorial
   </font><br />
<%}%>
</body> 
</html> 

運(yùn)行后得到以下結(jié)果:

JSP Tutorial
JSP Tutorial
JSP Tutorial

將上例改用while循環(huán)來(lái)寫(xiě):

<%! int fontSize; %> 
<html> 
<head><title>WHILE LOOP Example</title></head> 
<body>
<%while ( fontSize <= 3){ %>
   <font color="green" size="<%= fontSize %>">
    JSP Tutorial
   </font><br />
<%fontSize++;%>
<%}%>
</body> 
</html> 
運(yùn)行后得到同樣的結(jié)果:
JSP Tutorial
JSP Tutorial
JSP Tutorial

JSP運(yùn)算符

JSP支持所有Java邏輯和算術(shù)運(yùn)算符。

下表羅列出了JSP常見(jiàn)運(yùn)算符,優(yōu)先級(jí)從高到底:

類(lèi)別 操作符 結(jié)合性
后綴 () [] . (點(diǎn)運(yùn)算符) 左到右
一元 ++ - - ! ~ 右到左
可乘性 * / %? 左到右
可加性 + -? 左到右
移位 >> >>> << ? 左到右?
關(guān)系 > >= < <= ? 左到右
相等/不等 == !=? 左到右
位與 &? 左到右
位異或 ^? 左到右
位或 |? 左到右
邏輯與 &&? 左到右
邏輯或 ||? 左到右
條件判斷 ?:? 右到左
賦值 = += -= *= /= %= >>= <<= &= ^= |=? 右到左
逗號(hào)? ,? 左到右?

JSP常量

JSP語(yǔ)言定義了以下幾個(gè)常量:

  • Boolean:true and false
  • Integer:與Java中的一樣
  • Floating point:與Java中的一樣
  • String:以單引號(hào)或雙引號(hào)開(kāi)始和結(jié)束。 " 被轉(zhuǎn)義成 \",'被轉(zhuǎn)義成 \', \ 被轉(zhuǎn)義成\\
  • Null:null

關(guān)于我們 聯(lián)系我們 留言板

手冊(cè)網(wǎng)

Artikel sebelumnya: Artikel seterusnya: