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

首頁 > 編程 > JSP > 正文

JSP入門教程(4)

2024-09-05 00:20:43
字體:
來源:轉載
供稿:網友
使用腳本 
在有些地方,你大概要加一些好的,成熟的程序到你的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 
jasonh@kasoftware.com, 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 
// jasonh@kasoftware.com, 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
国产亚洲欧美视频| 丝袜亚洲另类欧美重口| 国产日韩在线看片| 国产一区二区三区在线| 激情懂色av一区av二区av| 欧美性猛交xxxx乱大交极品| www亚洲精品| 亚洲欧洲xxxx| 精品欧美aⅴ在线网站| 97精品视频在线观看| 亚洲人成网站免费播放| 国产精品揄拍一区二区| 国产精品成人一区二区三区吃奶| 91禁外国网站| 国产精品成人一区二区| 国产精品丝袜久久久久久不卡| 国产成人av网址| 亚洲国产日韩一区| 亚洲福利精品在线| 亚洲成年人影院在线| 国产一区二区三区四区福利| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美激情在线有限公司| 日韩av网址在线观看| 性欧美视频videos6一9| 久久亚洲综合国产精品99麻豆精品福利| 亚洲自拍小视频免费观看| 久久久久女教师免费一区| 日韩欧美视频一区二区三区| 亚洲一区久久久| 日韩中文字幕不卡视频| 亚洲成av人片在线观看香蕉| 国内偷自视频区视频综合| 成人激情视频在线| 亚洲福利小视频| 91免费国产网站| 欧美日韩人人澡狠狠躁视频| 欧美午夜性色大片在线观看| 久久精品电影网站| 伊人激情综合网| 欧美性猛交xxxx乱大交极品| 中文字幕免费精品一区| 久久99精品久久久久久青青91| 91影院在线免费观看视频| 97婷婷涩涩精品一区| 日韩欧美国产一区二区| 精品国产一区二区在线| 欧美老肥婆性猛交视频| 日本国产欧美一区二区三区| 国产成人精品免高潮在线观看| 亚洲石原莉奈一区二区在线观看| 亚洲色图在线观看| 日韩成人在线免费观看| 国产丝袜高跟一区| 日韩av最新在线| 国产精品网站大全| 欧美疯狂性受xxxxx另类| 亚洲va欧美va国产综合久久| 亚洲欧美日韩第一区| 美日韩丰满少妇在线观看| 久久精品中文字幕| 大桥未久av一区二区三区| 亚洲美女久久久| 午夜精品久久久久久久久久久久久| 欧美日韩性视频在线| 欧美一区二区三区免费视| 国产精品视频精品| 欧美成在线视频| 欧洲日韩成人av| 色婷婷综合久久久久| 久久久久久久国产精品| 国产婷婷色综合av蜜臀av| 亚洲在线免费看| 热久久视久久精品18亚洲精品| 亚洲国产精品国自产拍av秋霞| 国产一区私人高清影院| 亚洲视频网站在线观看| 日韩在线视频免费观看高清中文| 在线观看中文字幕亚洲| 日韩av电影在线播放| 亚洲欧洲激情在线| 久久精品国产清自在天天线| 日本高清+成人网在线观看| 欧美www在线| 日韩av在线资源| 欧美成年人视频网站| 91视频国产一区| 亚洲精品国产精品乱码不99按摩| 亚洲精品aⅴ中文字幕乱码| 国产精品www色诱视频| 日韩福利在线播放| 国产不卡av在线| 久久99国产精品自在自在app| 欧美成人精品一区二区| 成人网在线免费观看| 国产日韩欧美另类| 亚洲欧美激情另类校园| 日韩精品视频在线免费观看| 91精品国产自产在线观看永久| 精品久久久久久中文字幕大豆网| 美日韩丰满少妇在线观看| 日本亚洲精品在线观看| 色婷婷亚洲mv天堂mv在影片| 日韩最新中文字幕电影免费看| 欧美高清不卡在线| 亚洲精品白浆高清久久久久久| 美女精品久久久| 国产日韩欧美视频在线| 中文字幕亚洲二区| 欧美午夜性色大片在线观看| 国产精品影院在线观看| 欧美乱妇高清无乱码| 亚洲第一精品夜夜躁人人躁| 国产成人精品久久亚洲高清不卡| 91高清视频在线免费观看| 亚洲欧洲在线播放| 久久福利视频导航| 亚洲精品久久久久中文字幕欢迎你| 国产香蕉一区二区三区在线视频| 亚洲网址你懂得| 亚洲第一网站男人都懂| 日韩综合中文字幕| 久久久久九九九九| 91系列在线播放| 国产精品嫩草视频| 亚洲欧美一区二区三区在线| 在线观看久久久久久| 91在线视频精品| 日本道色综合久久影院| 久久这里有精品视频| 国产精品免费视频久久久| 国产精品日韩在线一区| 国产在线98福利播放视频| 久久99久国产精品黄毛片入口| 91av视频在线播放| 在线免费观看羞羞视频一区二区| 欧美又大又硬又粗bbbbb| 欧美中文字幕在线播放| 精品国产户外野外| 国产精品久久一区| 久久久精品免费视频| 欧美日韩在线观看视频小说| 91av在线免费观看| 欧美午夜www高清视频| 亚洲理论在线a中文字幕| 日韩欧美aⅴ综合网站发布| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美日韩国产精品一区二区三区四区| 亚洲自拍偷拍色片视频| 亚洲人成伊人成综合网久久久| 午夜精品久久久99热福利| 国产福利视频一区二区| 亚洲精品电影网在线观看| 欧美老女人性视频| 国产性猛交xxxx免费看久久| 欧美日韩亚洲一区二区| 亚洲石原莉奈一区二区在线观看| 欧美精品福利在线| 国产精品欧美久久久| 欧美激情精品久久久久久大尺度| www.久久久久| 国产精品中文字幕在线| 亚洲r级在线观看| 久热国产精品视频|