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

首頁 > 編程 > JSP > 正文

JSP基本語句用法總結

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

這篇文章主要介紹了JSP基本語句用法,較為詳細的總結了JSP中常用的基本語句及相關注意事項,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JSP基本語句用法。分享給大家供大家參考。具體如下:

1>JSP指令

JSP指令(Directive)作用是與JSP引擎進行溝通,為JSP頁面設置全局變量,聲

明類以及JSP要實現的方法和輸出內容的類型等

JSP指令在整個頁面范圍內有效,且不在客戶端產生任何輸出

格式:<%@ directivename attribute="value"%>

<%@ directivename attribute1="value1"......attributeN="valueN"%>

2>page指令

用來定義JSP頁面的全局屬性和相關功能,并由該指令和JSP引擎進行通信

格式:<%@ page attribute1="value1",........%>

可用屬性:language import contentType session buffer autoFlush

isThreadSafe info errorPage isErrorPage extends.

一個JSP頁面可以包含多個Page指令

除了import屬性外,每個屬性只能定義一次,否則出錯

language屬性:language="腳本語言"聲明JSP頁面中使用的腳本語言的種類

extends="ClassName"定義JSP頁面所產生的Servlet所繼承的類,將限制JSP引

擎提供的超類

import="importList"和java的import的意思一樣,導入包文件

session="true|false"指定JSP頁是否參與一個Http會話

buffer="none|sizeKB"指定客戶端輸出流的緩沖模式,none表示不緩沖

false"當緩沖區滿時將自動刷新,如果為false,緩沖區滿了

就會出現溢出異常

isThreadSafe="true|false"可以使用多線程

info="info_text"定義一個任意的字符串,用來說明JSP說明的信息,將直接加

入翻譯的頁面

errorPage="error_url"設置處理異常事件的JSP文件

isErrorPage="true|false"設置此頁是否為異常頁面"

contentType="type;charset=CHARSET"定義了JSP頁面相應MIME類型以及JSP頁

面的字符編碼(可以只寫type部分)

pageEncoding="peinfo"處理中文字符通常charset=GB2312

isELIgnored="true|false"用來設置EL表達式是否被忽略

3>include指令

用來指定JSP被編譯時所需要插入的資源,可以是文本,代碼,HTML文件或JSP

文件

格式:<%@ include file="URL">一旦編譯完成,資源內容就不可改變

用include指令可以將一個復雜的JSP頁面分為若干部分,如:head.jsp

body.jsp tail.jsp然后在同一網站的不同JSP頁面用include指令調用

4>taglib指令

用來自定義標簽,可以把一些需要反復顯示的內容定義成為一個標簽,從而增

加代碼的重用度,并使頁面便于維護

步驟1定義一個標簽處理類,用來實現標簽的功能

步驟2定義標簽庫描述文件,.tld后最 對標記相關信息進行說明

步驟3最后配置文件web.xml

格式:<%@ taglib uri="tagligURL prefilx="tagPrefix"%>

5>Scriptlet腳本元素

聲明用來定義變量方法 <%! int i,a,b=0;%>聲明每個語句以;結束

聲明方法<%! String getDate(){}%> (一個聲明只能在一個JSP頁面有效)

表達式格式:<%=表達式%>(表達式不能以;結尾)

<%=1+2+3%>輸出6

<%=new java.util.Date().toString()%>輸出日期

Scriptlet:以<%%>括起來的java代碼

JSP提供了很多種動作元素:

.....20多種

傳遞一個或多個參數到指定動態文件,需要和

一起來使用

允許將當前的請求轉發至另一個靜態文件或JSP頁面或含有與當

前頁面相同內容的Servlet

轉向confirm.jsp頁面并傳遞兩個參數user和password

用來在客戶端瀏覽器中播放或顯示一個對象,通常為Applet或

Bean,最終根據瀏覽器版本替換為

格式:

codebase="objectCodebase" archive="archiveList"

name="componentName"align="alignment"

vspace="vspace"hspace="hspace"

height="height"width="width"

nspluginurl="url"iepluginurl="url"

jreversion="jreversion"myscript="true|false"/>

artibute text(當顯示Bean|Applet失敗時顯

示此字符串

6>JSP的內建對象

JSP提供了一些由容器實現和管理的內建對象,在JSP頁面中可以直接使用,不

需要實例化,通過存取這些內建對象實現與JSP頁面的Servlet環境的互相訪問

JSP一共提供了9個內建對象:out request repnse session pageContext

application config page exception

JSP是構建在Servlet上的,JSP的每個內建對象都是與JavaServletAPI包中的類

相對象,在服務器運行時自動生成

JSP提供給開發人員一項傳遞數據的機制,那就是利用setAttribute()和

getAttribute()方法

JSP有四種范圍:分別為Page Request Session Application

Page范圍指的是單單一頁JSP Page的范圍 離開頁面就失效

PageContext.setAttribute("Name","abc");設置屬性Name的值為abc,該值只

在本頁范圍內有效,在本頁調用(String)PageContext.getAttribute("Name")將

返回"abc"

Request范圍是指在一JSP頁面發出請求到另一個JSP網頁之間(include指

令,forward指令等..),隨后范圍就失效

Request.setAttribute()和Request.getAttribute()

Session范圍為一段用戶持續和服務器所連接的時間,但與服務器斷線后,屬性

就失效

Application的作用范圍在服務器運行一開始執行服務就生效,直到服務器關閉

為止

以上四種內建對象可以使用的存儲和取得屬性的方法:

void setAttribute(String name,Object value) 設定name屬性的值為value

Enumeration getAttributeNamesInscope(int scope)取得所有scope范圍屬性

Object getAttribute(String name) 取得name屬性的值

void removeAttribute(String name) 移除name屬性的值

備注:pageContext并無getAttributeNames()方法。

out對象被封裝在javax.servlet.jsp.JspWriter接口,可以通過out對象對緩沖

區進行操作

通常通過pageContext.getOut()方法獲得out對象

常用方法:public abstract void print()

public abstract void println()

public abstract void newLine()//輸出一個換行符

public abstract void close()//關閉輸出流

public abstract void clearBuffer()//清除緩沖區內容,并將數據

發送至客戶端

public abstract void clear()//清除緩沖區內容,不將數據發送至

客戶端

public int getBufferSize()//獲取緩沖區的大小

public abstract int getRemaining()//獲得緩沖區剩余空間的大小

public abstract void flush()//輸出緩沖區的數據

public boolean is AutoFlush()//獲取AutoFlush的取值

request對象封裝了用戶所提交的信息,被封裝在

javax.servlet.http.HttpServletRequest接口

方法有四大類:

1.存取屬性的方法:

Object getAttribute(String)

Enumeration getAttributeNames(int)

void setAttribute(String,Object)

2.取得Request本身參數的方法:

String getParameter(String)取得指定參數名稱

Enumeration getParameterNames()取得所有參數名稱

String[]getParameterNames(String name)取得所有name的參數值

Map getParameterMap()取得一個要求參數的Map

3.能夠取得請求HTTP標頭的方法:

String getHeader(String name) 取得name的標頭

Enumeration getHeaderNames() 取得所有的標頭名稱

Enumeration getHeaders(String name) 取得所有name的標頭

int getIntHeader(String name) 取得整數類型name的標頭

long getDateHeader(String name)取得日期類型name的標頭

Cookie[] getCookies()取得與請求有關的cookies

4.其他方法:

String getContextPath()取得Context路徑

String getMethod()取得Http方法(Get|Post)

String getServletPath()獲取接受客戶提交信息的頁面

String getProtocol()取得使用的協議(Http/1.1 Http/1.0)

String getQueryString() 取得請求的參數字符串(Http方法必須為GET)

String getRequestedSessionId()取得用戶端的Session ID

String getRequestURI() 取得請求URL,不包括請求的參數字符串

String getRemoteAddr() 取得用戶的IP地址

String getRemoteHost()取得用戶的主機名稱

int getRemotePort()取得用戶的主機端口

String getRemoteUser()取得用戶的名稱

void setCharacterEncoding(String encoding)設定編碼格式,用來解決窗體傳遞

中文的問題

response對象:是封裝JSP處理數據后產生的結果,封裝在

javax.servlet.http.HttpServletResponse接口

void addCookie(Cookie cookie)新增cookie

void addDateHeader(String name,long date)新增long類型的值到name標頭

void addHeader(String name,String value)新增String類型的值到name標頭

void addIntHeader(String name,int value)新增int類型的值到name標頭

void setDateHeader(String name,long date)指定long類型的值到name標頭

void setHeader(String name,String value)指定String類型的值到name標頭

void setIntHeader(String name,int value)指定String類型的值到name標頭

void sendError(int sc)傳遞狀態碼

void sendError(int sc,String msg)傳遞狀態碼和錯誤信息

void setStatus(int sc)設定狀態碼

String encodeRedirectURL(String url)使用sendRedirect()方法的URL予以編

response.setContentType("text/htmlcharset=Big5")改語句同<%@ page

contentType="text/html;charset="Big5"%>等價

cookie技術:

Cookie使站點跟蹤特定訪問者的訪問次數,最后訪問時間,訪問者進入站點的路

Cookie告訴在線廣告商廣告被點擊的次數

Cookie能幫助站點統計用戶個人資料以實現各種各樣的個性化服務

創建Cookie

Cookie demoCookie=new Cookie("CookieName","Cookiue")

Cookie中的get方法:

String getComment()返回cookie中的注釋

String getDomain()返回cookie中Cookie的域名,域名以點開始(.yesky.com)

int getMaxAge()返回Cookie過期之前的最大時間,以秒計算

String getName()返回Cookie的名字

String getPath()返回Cookie適用的路徑,如果不指定,Cookie將返回給當前頁

面所在目錄及其子目錄下的所有頁面

boolean getSecure()如果瀏覽器通過安全協議發送cookies將返回true,使用標

準協議將返回false

String getValue()返回Cookie的值

int getVersion()返回Cookie的協議版本

Cookie中的set方法:

void setComment(String purpose)

void setDomain(String pattern)

void setMaxAge(int expiry)

void setPath(String uri)

void setSecure(boolean flag)

void setValue(String newValue)

void setVersion(int v)

Cookie示例代碼:

 

 
  1. String sessionID=makeUniqueString(); 
  2. HashMap sessionInfo=new HashMap(); 
  3. HashMap globaTable=findTableStoringSessions(); 
  4. globeTable.put(sessionID,sessionInfo); 
  5. Cookie sessionCookie=new Cookie("JSESSION",sessionID); 
  6. cookie setMaxAge(30*60);//存活時間為30分鐘 
  7. response.addCookie(cookie);//寫入客戶硬盤 

session和cookie的區別:

session存放在服務器端的內存里

session隨用戶的登陸而生成,用戶下線后消失

session存放在服務器里,用戶不能修改,安全性好

session是一個動作狀態的持續,是一個會話

session對象,記錄每個客戶端的訪問狀態以便跟蹤每個客戶端的操作狀態,被封

裝為javax.servlet.http.HttpSession接口,可以通過pageContext.getSession()

方法獲取一個session對象

session對象中的方法:

long getCreationTime()獲得session產生的時間

String getId()獲得session的ID

long getLastAccessedTime()取得用戶最后通過這個session送出請求的時間,

單位:毫秒

long getMaxInactiveInterval()取得最大session不活動的時間,若超過這個時

間,session將會失效 單位:秒

void invalidate()取消session對象

boolean isNew()判斷session是否為新的

void setMaxInactiveInterval(int interval)設定最大session不活動的時間,

若超過這時間,session將回失效 單位:秒

application對象,負責提供應用程序在服務器中運行時的一些全局信息,直到服

務器關閉,被封裝在javax.servlet.SertletContext接口

int getMarorVersion()取得Container主要的Servlet API版本

ing getMinorVersion()獲得container次要的Servlet API版本

String getServerInfo()取得Container的名稱和版本

String getMimeType(String file)取得指定文件的MIME類型

ServletContext getContext(String uripath)取得指定LOcalURL的

ApplicationContext

String getRealPath(String path)取得本地端Path絕對路徑

void log(String message)將信息寫入log文件中

void log(String message,Throwable throwable)將stacktrace所產生的異常

信息寫入log文件中

pageContent對象一般用于設置,獲取當前JSP頁面的一些屬性,也能夠存取頁面

的其他隱含對象(out,request,response,session,application等)及其所有屬性,

被封裝在javax.servlet.jsp.PageContext接口

javax.servlet.jsp.PageContext類所提供的四種范圍參數:PAGE_SCOPE

REQUEST_SCOPE SESSION_SCOPE APPLICATION_SCOPE

Exception getException()回傳目前網頁的異常,不過此網頁要為error page

JspWriter getOut()回傳目前網頁的輸出流,如out

Object getPage()回傳目前網頁的Servlet實體

ServletRequest getRequest()回傳目前網頁的請求

ServletResponse getResponse()回傳目前網頁的響應

ServletConfig getServletConfig()回傳目前網頁的ServletConfig對象

ServletContext getServletContext()回傳此網頁的執行環境

HttpSession getSession()回傳目前和網頁有聯系的會話

config對象,主要作用是取得服務器的配置信息,被封裝在

javax.servlet.servletConfig接口,痛多pageContext.getServletConfig()方法

可以獲取一個config對象,提供存取servlet類初始化參數以及有關服務器環境信

息的ServletContext對象

config對象的常用方法:

public String getInitParatemer(String name) 獲取服務器指定name參數的

初始值

public Enumeration getInitParameterNames() 獲取服務器所有初始參數的名

public ServletContext getServletContext()獲取Servlet的上下文

public String getServletName()獲取Servlet的服務器名

page對象,代表JSP文件被編譯后的Servlet類對象,實質就是Object的一個實例

exception對象,主要作用是顯示吟唱信息,代表了JSP文件運行時所產生的例外

對象,是java.lang.Throwable類的一個實例,只有在包含<%@ page

isErrorPage="true"%>的頁面才可以被使用,在一般的JSP頁面中使用該對象無法

編譯JSP文件

希望本文所述對大家的JSP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人又粗大| 国产精品1234| 亚洲精品日韩在线| 久久久久成人网| 国产成人激情小视频| 国产精品一区二区三区毛片淫片| 亚洲男人天堂手机在线| 亚洲电影免费观看高清完整版| 亚洲影视中文字幕| 日韩av免费在线观看| 国产精品99久久久久久www| 欧美电影院免费观看| 国产亚洲精品久久久久动| 最近2019中文字幕一页二页| 亚洲qvod图片区电影| 国产性猛交xxxx免费看久久| 国产精品海角社区在线观看| 91精品国产91久久久久福利| 亚洲精选在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 国产免费一区二区三区香蕉精| 亚洲永久免费观看| 97超碰蝌蚪网人人做人人爽| 欧美精品一本久久男人的天堂| 91香蕉电影院| 国产精品成人免费电影| 亚洲精品suv精品一区二区| 亚洲黄在线观看| 2021久久精品国产99国产精品| 黄网站色欧美视频| 亚洲欧美日韩在线一区| 日韩欧美主播在线| 日韩电视剧在线观看免费网站| 日韩在线观看免费全| 国产精品免费电影| 一区二区成人精品| 国产精品美女www| 91精品91久久久久久| 欧美激情精品久久久久久大尺度| 亚洲国产一区二区三区在线观看| 国产精品久久一区主播| 77777亚洲午夜久久多人| 国产一区二区在线播放| 国产亚洲欧美一区| 国产精品久久久久久久电影| 中文字幕国产精品久久| 亚洲电影免费观看高清完整版在线| 亚洲第一天堂av| 精品视频在线导航| 亚洲欧美国产精品| 欧美人与物videos| 国产精品ⅴa在线观看h| 日韩av电影在线播放| 国产精品高清网站| 日韩人体视频一二区| 亚洲成人激情在线观看| 欧美视频在线免费| 国产精品一二三在线| 国产精品88a∨| 亚洲欧美一区二区精品久久久| 久久99青青精品免费观看| 欧美在线视频网站| 日韩国产精品亚洲а∨天堂免| 青青草原成人在线视频| 欧美第一淫aaasss性| 最近2019年中文视频免费在线观看| 精品中文字幕在线观看| 992tv成人免费视频| 欧美精品电影在线| 日韩成人在线网站| 久久久久这里只有精品| 成人欧美一区二区三区在线湿哒哒| 日韩视频免费中文字幕| 国产999精品久久久| 亚洲精品网站在线播放gif| 午夜精品蜜臀一区二区三区免费| 精品久久久久久久久久久久久| 欧美专区国产专区| 美日韩在线视频| 最近2019年手机中文字幕| 91精品国产综合久久香蕉最新版| 欧美第一黄色网| 在线日韩中文字幕| 日本不卡免费高清视频| 欧美www视频在线观看| 亚洲人精品午夜在线观看| 91成品人片a无限观看| 日韩欧美亚洲综合| 亚洲欧洲国产精品| 一区二区三区四区视频| 日韩在线观看电影| 中文字幕亚洲欧美日韩高清| 久久伊人精品天天| 久久99精品久久久久久青青91| 亚洲在线www| 久久精品2019中文字幕| 国产精品美女视频网站| 日韩欧美精品网站| 亚洲国产成人在线播放| 日韩激情第一页| 国模极品一区二区三区| 欧美日韩激情美女| 亚洲aaa激情| 丝袜亚洲欧美日韩综合| 国产精品高潮呻吟久久av无限| 久久男人av资源网站| 国产精品福利久久久| 91精品国产777在线观看| 亚洲精品国产精品自产a区红杏吧| 精品中文字幕乱| 亚洲va欧美va在线观看| 久久久av一区| 午夜精品一区二区三区在线| 亚洲图片欧洲图片av| 久久激情视频久久| 97精品在线视频| 不卡av日日日| 日韩在线观看视频免费| 精品自在线视频| 国产做受高潮69| 欧美激情第三页| 97视频在线观看播放| 欧美午夜视频一区二区| 日韩在线视频中文字幕| 国产精品精品视频| 性色av香蕉一区二区| 九色精品免费永久在线| 久久人人爽人人| 国自产精品手机在线观看视频| 午夜精品视频在线| 国内偷自视频区视频综合| 91亚洲一区精品| 成人激情av在线| 中文字幕欧美视频在线| 欧美成人精品一区二区| 81精品国产乱码久久久久久| 久久精品视频亚洲| 午夜免费久久久久| 国产欧美日韩最新| 亚洲国产精品va在线看黑人| 亚洲系列中文字幕| 久久精品中文字幕电影| 欧洲精品久久久| 久久久久亚洲精品成人网小说| 色婷婷综合成人| 国产精品久久久一区| www日韩中文字幕在线看| 欧美国产第一页| 国产精品极品美女在线观看免费| 成人黄色短视频在线观看| 日韩在线播放视频| 久久久日本电影| 亚洲电影免费在线观看| 成人激情视频在线播放| 在线看国产精品| 亚洲护士老师的毛茸茸最新章节| 亚洲人成在线播放| 91精品国产高清自在线| 另类专区欧美制服同性| 成人两性免费视频| 国产精品福利观看| 欧美贵妇videos办公室| 精品一区二区三区四区| 日韩经典第一页|