亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP入門教程(3)

2024-09-05 00:19:34
字體:
來源:轉載
供稿:網友


收集最實用的網頁特效代碼!

使用腳本
在有些地方,你大概要加一些好的,成熟的程序到你的jsp頁里,jsp的標簽雖然很強大,但是完成某些工作還是比較費力的困難的。這時你可以使用腳本語言段來補充jsp標簽。
使用的jsp引擎是支持腳本語言的,sun的jsp參考文說明,必須使用java程序語言來編寫腳本,但是其他第三方的jsp引擎允許使用其他語言來寫腳本程。
如何增加腳本
首先,你必須了解一些增加腳本元素到jsp頁中的一些基本規則
1、 在jsp頁面里用page指令定義腳本(默認值是java,一般不需要定義)
2、 聲明語法<%!……%>聲明變量和方法(函數)。
3、 表達式語法<%=……%>定義腳本語言表達式
4、 腳本語法〈%……%>可以操作聲明、表達式和其他類型合法的代碼段在頁腳本語言。
5、 一定要在結尾加%>標簽
聲明、表達式、腳本使用起來有一些相似,但也有一些不同讓我們用一些例子來講述一下相同點和不同點吧。
聲明<%!……%>包含了一個或多個變量和方法,結尾以分號分隔。
例:<%! int i=0 ; %>
<%! int a, b ; double c ; %>
<%! circle a = new circle(2.0) ; %>
在頁面中使用變量和方法之前必須聲明
聲明的范圍通常是jsp頁,但如果頁面中使用include指令包含其他頁面,范圍應變得擴展到被包含的頁面。
表達式<%=……%>可以在頁面中包含任何合法的語言表達式,不用分號。
例:<%= math.sqrt(2) %>
<%= item[i] %>
<%= a+b+c %>
<%= new java.util.date() %>
表達式和腳本的一個關鍵的不同點就是不需要分號。如果你需要在腳本中使用表達式就必須加分號。
腳本<%……%>允許你寫的任何數量的腳本語言
例:<% string name=null ;
if (request.getparmeter("name")==null{
%>
記住在腳本中必須使用分號結尾。
猜數字游戲
猜數字游戲非常的有趣,而且從這里你還可以學到很多表達式的用法。
代碼
顯示用的主屏幕(numguess.jsp)
<!--
number guess game
written by jason hunter, cto, k&a software
[email protected], http://www.servlets.com
copyright 1999, k&a software
distributed by sun microsystems with permission
-->
<%@ page import = "num.numberguessbean" %>

<jsp:usebean id="numguess" class="num.numberguessbean" scope="session" />
<jsp:setproperty name="numguess" property="*" />

<html>
<head><title>number guess</title></head>
<body bgcolor="white">
<font size=4>

<% if (numguess.getsuccess() ) { %>

congratulations! you got it.
and after just <%= numguess.getnumguesses() %>tries.<p>

<% numguess.reset(); %>
care to <a href="numguess.jsp">try again</a>?

<% } else if (numguess.getnumguesses() == 0) { %>

welcome to the number guess game.<p>
i'm thinking of a number between 1 and 100.<p>

<form method=get>
what's your guess? <input type=text name=guess>
<input type=submit value="submit">
</form>

<% } else { %>
good guess, but nope. try <b><%= numguess.gethint() %></b>.
you have made <%= numguess.getnumguesses() %> guesses.
<p>i'm thinking of a number between 1 and 100.
<p><form method=get>

what's your guess? <input type=text name=guess>
<input type=submit value="submit">
</form>
<% } %>
</font>
</body>
</html>

操作程序(numberguessbean.java)
// number guess game
// written by jason hunter, cto, k&a software
// [email protected], http://www.servlets.com
// copyright 1999, k&a software
// distributed by sun microsystems with permission

package num;
import java.util.*;
public class numberguessbean {
int answer;
boolean success;
string hint;
int numguesses;
public numberguessbean() {
reset();
}
public void setguess(string guess) {
numguesses++;
int g;
try {
g = integer.parseint(guess);
}
catch (numberformatexception e) {
g = -1;
}
if (g == answer) {
success = true;
}
else if (g == -1) {
hint = "a number next time";
}
else if (g < answer) {
hint = "higher";
}
else if (g > answer) {
hint = "lower";
}
}
public boolean getsuccess() {
return success;
}
public string gethint() {
return "" + hint;
}
public int getnumguesses() {
return numguesses;
}
public void reset() {
answer = math.abs(new random().nextint() % 100)
+ 1;
success = false;
numguesses = 0;
}
}

在jsp文件中使用腳本
numguess.jsp是一個非常有趣兒的用腳本寫的例子,你看他的結構其實是一個很大的if……else結構,但是很一個從句又都是用html寫的,看起來象一個大的程序段。
不過你也不一定非得象numguess.jsp那樣用html和jsp標簽一起來寫腳本。在<%和%>標簽之間,你可以寫任意多行的腳本代碼,在通常情況下,盡量少用腳本來處理程序,而盡可能的使用servlets或者beans,這樣你的程序看起來會非常的清析,明了。話又說回來,怎么寫jsp還得根據你的習慣和愛好,我不強迫非得使用任何一種方法,sun的jsp詳細說明書不規定腳本的長度。

用標簽組合腳本
使用html和jsp標簽來寫腳本的時候,注意前后的標簽不要忘記,一定要“封”好。說的不明白,舉個例子吧:
<% } else { %> <!-- 用jsp標簽的時候先關上 -->

... 這時候用jsp標簽吧 ...

<% } %> <!-- 這樣你應該看懂了吧?! -->
開始的時候這種做法看起來可能有一點奇怪,但它以確保你jsp文件編譯的時候腳本的成功轉換。

那么,腳本什么時候執行呢?
一個jsp原文件的處理分為兩個階段:一個是http的編譯時候,一個是請求的處理時間。

http編譯的時候,當用戶第一次讀jsp頁面的時候,jsp的原代碼被編譯成class,通常是servlet。html標簽和jsp標簽在這個時候同時被處理了,這之前用戶還沒有任何的請求被提交。

請求處理時間是當用戶在jsp頁面中提交了一個請求,這時請求由客戶端被request對象傳到了服務器端,jsp引擎根據用戶提交的值執行編譯過的jsp文件或者servlet。

當你在jsp頁中使用腳本的時候,你必須知道他們什么時候被執行。聲明在http編譯階段就已經被處理了,其他腳本,表達式在編譯jsp文件的時候也可用。表達式在http編譯的時候也被執行了。表達式的值被轉換成了字符串被插入到jsp文件中一塊兒被編譯。其實在請求階段,腳本也是可以利用的。

如何運行例子
我現在給出的都是在unix風格下的路徑,如果你用windows,那么改成windows風格路徑
1、猜數字游戲在裝tomcat或者jswdk的時候就已經裝好了。
2、.jsp和.html文件在../jswdk-1.0.1/examples/num中
3、.java和.class文件在../jswdk-1.0.1/examples/web-inf/jsp/bean/num中
4、開瀏覽器,http://機器名/examples/jsp/num/numguess.jsp

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久全国免费视频| 黄网站色欧美视频| 亚洲二区在线播放视频| 欧美日韩免费在线| 一本久久综合亚洲鲁鲁| 久久夜精品香蕉| 欧美在线免费视频| 欧美在线视频网站| 成人亚洲激情网| 亚洲欧美日本精品| 91免费在线视频| 久久久久国产精品一区| 国产精品美女久久| 国产一区二区三区在线播放免费观看| 秋霞成人午夜鲁丝一区二区三区| 国产成人中文字幕| 久久久视频免费观看| 2021国产精品视频| 国产成人久久精品| 国内精品国产三级国产在线专| 亚洲国产日韩一区| 欧美黄色www| 亚洲护士老师的毛茸茸最新章节| 国产精品久久久av久久久| 国产精品www色诱视频| 欧洲亚洲免费在线| 久久av资源网站| 欧美日韩国产丝袜另类| 久久久人成影片一区二区三区观看| 精品国产乱码久久久久久天美| 亚洲国产精品美女| 成人福利在线观看| 国产日韩在线看| 国产不卡精品视男人的天堂| 国产精品爽爽ⅴa在线观看| 日韩精品亚洲元码| 日韩欧美国产黄色| 国产网站欧美日韩免费精品在线观看| 欧美激情视频一区| 亚洲精品一二区| 精品无人国产偷自产在线| 国产成+人+综合+亚洲欧美丁香花| 欧美色xxxx| 亚洲jizzjizz日本少妇| 欧美亚洲另类制服自拍| 国产一区二区三区精品久久久| 国产成人精品午夜| 午夜精品久久久久久久久久久久久| 久久久av亚洲男天堂| 国产精品网站视频| 亚洲国产精品悠悠久久琪琪| 亚洲乱码av中文一区二区| 日韩av在线天堂网| 精品视频一区在线视频| 51视频国产精品一区二区| 欧美乱大交做爰xxxⅹ性3| 中文字幕免费国产精品| 欧美高跟鞋交xxxxxhd| 亚洲影视中文字幕| 欧美性xxxxx极品娇小| 亚洲人a成www在线影院| 中文字幕日韩免费视频| 久久久久久欧美| 欧美日韩日本国产| 国产女同一区二区| 国产精品爱啪在线线免费观看| 91成人在线播放| 97在线免费观看视频| 日产精品久久久一区二区福利| 日韩中文在线中文网三级| 色狠狠av一区二区三区香蕉蜜桃| 日韩激情视频在线播放| 亚洲激情在线观看视频免费| 在线免费看av不卡| 久久久国产一区二区| 亚洲欧美国产精品久久久久久久| 国产高清在线不卡| 九九热最新视频//这里只有精品| 欧美日韩精品二区| 国产精品第七影院| 国产精品99久久99久久久二8| 97人洗澡人人免费公开视频碰碰碰| 欧美激情伊人电影| 全亚洲最色的网站在线观看| 国产精品久久久91| 亚洲国产精彩中文乱码av在线播放| 一区二区av在线| 欧美另类老肥妇| 欧美精品久久久久久久久| 亚洲国产91色在线| 亚洲成人免费网站| 亚洲日韩欧美视频| 7777kkkk成人观看| 国外成人在线视频| 欧美极品第一页| 亚洲高清不卡av| 欧美日韩另类字幕中文| 亚洲第一精品福利| 成人h片在线播放免费网站| 欧美中文在线字幕| 亚洲视频axxx| 亚洲男人7777| 日韩免费精品视频| 精品久久久久国产| 疯狂做受xxxx高潮欧美日本| 亚洲综合av影视| 亚洲精品99久久久久| 亚洲国产天堂网精品网站| 91色精品视频在线| 日本在线观看天堂男亚洲| 日韩av电影在线免费播放| 91精品久久久久久久| 91精品久久久久久久久不口人| 欧美日韩黄色大片| 欧美激情精品久久久久久黑人| 伊人久久综合97精品| 69久久夜色精品国产69乱青草| 超碰日本道色综合久久综合| 国产精品视频一区二区三区四| 国产精品91久久| 狠狠色狠狠色综合日日小说| 国产精品 欧美在线| 亚洲成年人影院在线| 亚洲大胆人体av| 欧美激情综合亚洲一二区| 日本sm极度另类视频| 97色在线观看免费视频| 精品久久久久久久久久ntr影视| 午夜精品久久17c| 欧美激情免费看| 国产区亚洲区欧美区| 欧美国产视频日韩| 国产成人在线播放| 一区二区三区四区在线观看视频| 欧美黑人国产人伦爽爽爽| 亚洲精品一区二区在线| 亚洲精品日韩欧美| 久久天天躁夜夜躁狠狠躁2022| 国产免费一区二区三区香蕉精| 97精品国产aⅴ7777| 日韩av电影手机在线观看| 91丨九色丨国产在线| 综合网中文字幕| 日韩精品有码在线观看| 欧美一级大片在线免费观看| 欧美裸体男粗大视频在线观看| 成人做爽爽免费视频| 国产免费一区二区三区在线能观看| 国模视频一区二区三区| 欧美大片免费观看在线观看网站推荐| 欧美在线观看一区二区三区| 97婷婷大伊香蕉精品视频| 国产日韩欧美一二三区| 久久久久久久久久久国产| 亚洲女性裸体视频| 日韩欧美有码在线| 欧美成人合集magnet| 狠狠综合久久av一区二区小说| 精品国产一区二区在线| 成人久久一区二区| 97热精品视频官网| 亚洲国产精品va在线看黑人动漫| 欧美激情视频在线观看| 欧美在线一区二区三区四|