偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JSP動(dòng)態(tài)網(wǎng)頁(yè)程序設(shè)計(jì)詳解

開(kāi)發(fā) 后端
JSP頁(yè)面從形式上就是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,文章將詳細(xì)的介紹JSP在動(dòng)態(tài)網(wǎng)頁(yè)程序設(shè)計(jì)中的語(yǔ)法及實(shí)例。

JSP頁(yè)面從形式上就是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件中加入Java程序片段(Scriptlet)和JSP標(biāo)簽。Servlet/JSP容器收到客戶(hù)端發(fā)出的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式響應(yīng)給客戶(hù)端。

基本語(yǔ)法:

注釋?zhuān)?/p>

1、客戶(hù)端可以看到的注釋?zhuān)?lt;!-- comment [<%=expression%>] -->  (可以在批注中加上動(dòng)態(tài)的表達(dá)式)

2、開(kāi)發(fā)程序員專(zhuān)用的注釋?zhuān)?lt;%-- comment --%>  或者 <%/** this is a comment **/%>

聲明:

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

該聲明的變量為類(lèi)變量。意味著:若同時(shí)有n個(gè)用戶(hù)在執(zhí)行此JSP網(wǎng)頁(yè)時(shí),他們將會(huì)共享此變量。會(huì)引起線程同步上的麻煩。(不建議使用)

小腳本:

<% Java 代碼%>

此類(lèi)定義的變量為局部變量,不存在多線程同步問(wèn)題,是線程安全的。

表達(dá)式:

<%=expression %> 不能使用“;”作為表達(dá)式的結(jié)束符號(hào)。

JSP指令元素:

只是告訴JSP引擎對(duì)JSP頁(yè)面如何編譯。

page指令:設(shè)定整個(gè)JSP網(wǎng)頁(yè)的屬性和相關(guān)功能。

  1. <%@page attribute1="value1" attribute2="value2" ...%>   
  2. <jsp:directive.page attribute1="value1"...>    

 例如:

  1. <%@page contentType="text/html; charset=utf-8" language="java" import="java.net.*"%>  

include指令:用于指示JSP容器在JSP編譯時(shí)插入一個(gè)包含文本或代碼的文件,這個(gè)包含的過(guò)程是靜態(tài)的。注意包含文件中要避免使用<html><body>,可能會(huì)導(dǎo)致錯(cuò)誤。

  1. <%@include file="relativeURLspec"%> 
  2. <jsp:directive.include file="relativeURLspec">  

例如:

  1. <%@include file="Hello.html">   

taglib指令:

  1. <%@taglib uri="tagLibraryURI" prefic="tagPrefix"%> 
  2. <jsp:directive.taglib uri="tagLibraryURI" prefic="tagPrefix">  

JSP操作元素:

  1. <jsp:include>   
  2. <jsp:forward>   
  3. <jsp:param>   
  4. <jsp:useBean>   
  5. <jsp:setProperty>   
  6. <jsp:getProperty>  

request對(duì)象與網(wǎng)絡(luò)信息的提交:

JSP中提供了request對(duì)象來(lái)接收客戶(hù)端發(fā)送回來(lái)的數(shù)據(jù)。

◆URL一般語(yǔ)法:protocol://host:port/virtualPath?queryString

◆protocol:表示協(xié)議,用于聲明在遠(yuǎn)程機(jī)器之間傳送信息的低層機(jī)制(http ftp https等)。

◆host:表示請(qǐng)求要發(fā)送到的遠(yuǎn)程機(jī)器的名稱(chēng)或者ip地址。

◆port:聲明服務(wù)器要監(jiān)聽(tīng)請(qǐng)求的機(jī)器端口號(hào)。

◆virtualPath:包含一個(gè)以斜線為分隔符的一組標(biāo)識(shí)符,服務(wù)器把它映射到一個(gè)物理路徑和JSP的位置。

◆querString:是查詢(xún)字符串,它是一個(gè)成對(duì)的名稱(chēng)和值的列表,作為JSP的參數(shù)被傳遞到處理它的JSP頁(yè)面。如果有多個(gè)參數(shù)需要傳遞,將以“&”號(hào)分隔開(kāi)成對(duì)的名稱(chēng)和值。

request對(duì)象所提供的方法:

獲取路徑和協(xié)議信息:

  1. String getProtocol()  獲取通信所使用的協(xié)議和版本號(hào)(如:HTTP /1.1)   
  2. String getScheme()   獲取請(qǐng)求中的協(xié)議名稱(chēng)(如:HTTP)   
  3. String getPathInfo()  獲取請(qǐng)求中處于JSP路徑和查詢(xún)字符串之間的額外信息   
  4. String getContextPath()   
  5. String getRequestURI()   
  6. String getServletPath()   
  7. String getRealPath(String path)  

獲取主機(jī)和端口信息:

  1. String getServerName()  獲取響應(yīng)請(qǐng)求的服務(wù)器名稱(chēng)。   
  2. int getServerPort()          獲取響應(yīng)請(qǐng)求的服務(wù)器端主機(jī)端口號(hào)。   
  3. String getLocalName()    獲取響應(yīng)請(qǐng)求的服務(wù)器端主機(jī)名。   
  4. String getLocalAddr()      獲取響應(yīng)請(qǐng)求的服務(wù)器端地址。   
  5. int getLocalPort()            獲取響應(yīng)請(qǐng)求的服務(wù)器端端口。   
  6. String getRemoteAddr()  獲取發(fā)出請(qǐng)求的客戶(hù)端IP地址。   
  7. String getRemoteHost()  獲取發(fā)出請(qǐng)求的客戶(hù)端主機(jī)名。   
  8. int getRemotePort()        獲取發(fā)出請(qǐng)求的客戶(hù)端主機(jī)端口。 

獲取查詢(xún)字符串:

String getQueryString() 獲取get()方法傳遞的參數(shù)字符串,即URL中?后面的部分。

獲取查詢(xún)字符串中的變量值:

  1. String getParameter(String name)  獲取客戶(hù)端發(fā)送給服務(wù)器端的參數(shù)值。   
  2. Enumeration getParameterNames()  返回請(qǐng)求中所有參數(shù)的集合。   
  3. String[] getParameterValues(String name)  獲得請(qǐng)求中指定參數(shù)的所有值。  

例如:

  1. http://localhost:8080/liuxl/jsp/querystring.jsp?str=JSP   
  2. String s=request.getParameter("str"); 獲取變量str的值,執(zhí)行后s的值為“JSP”。 

注意:getParameter()方法的返回值只能是字符串。若傳遞val=100,則需要進(jìn)行類(lèi)型轉(zhuǎn)換。

  1. if(request.getParameter("val")!=null) //判斷字符串是否為空     
  2. {         
  3.         num=Integer.parseInt(request.getParameter("val")); //將字符串轉(zhuǎn)化為整數(shù)     
  4. }     
  5. else    
  6. {     
  7.         num=0;     
  8. }    
  9.  
  10. if(request.getParameter("val")!=null) //判斷字符串是否為空   
  11. {      
  12.         num=Integer.parseInt(request.getParameter("val")); //將字符串轉(zhuǎn)化為整數(shù)   
  13. }   
  14. else   
  15. {   
  16.         num=0;   
  17. }  

表單及其在信息傳遞中的應(yīng)用:

表單:

是一個(gè)能夠包含表單元素的區(qū)域,HTML為表單提供了多種圖形用戶(hù)界面組件元素 (如文本框,密碼框,下拉菜單等),這些表單元素能夠讓用戶(hù)在表單輸入信息,可以用它們來(lái)構(gòu)成表單內(nèi)容,作為用戶(hù)可以輸入的域,并可以將其提交給一個(gè)JSP進(jìn)行處理。

格式:

  1. <form name="" action="" method="">   
  2. ...   
  3. </form>  

其中: name用于指定表單的名稱(chēng)。action用于指定表單被提交時(shí)所要執(zhí)行的動(dòng)作。method指定傳遞請(qǐng)求給JSP所用的方法(GET、POST、PUT,常用POST)。

1、<input>標(biāo)簽  常用于輸入信息或提交信息

語(yǔ)法:<input type="" name="" value="">

說(shuō)明:type允許指定輸入類(lèi)型(text(文本框)、password(密碼框)、checkbox(復(fù)選框)、radio(單選按鈕)、image(圖像域)、reset(重置按鈕)、submit(提交按鈕))。 name為表單元素的名稱(chēng)。value為表單元素的初始值。

例如:

  1. 文本框:<input name="" type="text" value="" size="" maxlength="">   
  2. 密碼框:<input name="" type="password" value="" size="" maxlength="">   
  3. 提交按鈕:<input name="" type="submit" value="">   
  4. 重置按鈕:<input name="" type="reset" value="">   
  5. 單選按鈕:<input name="" type="radio" value="" checked> 

(用于從一組選項(xiàng)中選擇其中一個(gè)選項(xiàng),checked是可選屬性,如果有該屬性,則表示該按鈕顯示時(shí)為被選中,否則為未選中。)

  1. e.g:<input name="radiobutton" type="radio" value="1" checked>選項(xiàng)1   
  2. <input name="radiobutton" type="radio" value="2">選項(xiàng)2  

在選中按鈕1的情況下提交URL如下:...?radiobutton=1...

  1. 復(fù)選框:<input name="" type="checkbox" value="" checked>  

(用于從一組選項(xiàng)中選擇多個(gè)選項(xiàng),checked同上。與單選按鈕相似,復(fù)選框常成組使用,與單選按鈕不同的是,被選中的多個(gè)復(fù)選框都會(huì)被提交,因此其name可以相同(按數(shù)組處理),也可以不同(按不同變量進(jìn)行處理))

  1. e.g:<input name="checkbox" type="checkbox" value="swim">swim   
  2. <input name="checkbox" type="checkbox" value="run">run  

如果在提交時(shí)兩個(gè)都選中,則URL形式如下:...?checkbox=swim&checkbox=run...

2、<textarea>標(biāo)簽  聲明了一個(gè)用戶(hù)可以輸入多行文本的區(qū)域

語(yǔ)法:<textarea name="" rows="" cols="" >text</textarea>

說(shuō)明:cols為文本域?qū)挾龋ㄗ址麛?shù)),rows為文本域的高度(行數(shù)) 
   
3、<select>標(biāo)簽  聲明了一個(gè)可選項(xiàng)的列表,用戶(hù)可以選擇一個(gè)或多個(gè)選項(xiàng)

  1. <select name="" size="" multiple>   
  2.      <option value="" selected>option</option>   
  3.          ...   
  4.      <option value="">option</option>   
  5. </select> 

說(shuō)明:name是名稱(chēng),size是列表區(qū)域高度(即可顯示的選項(xiàng)數(shù)),multiple是可選屬性,若有表示可選擇多項(xiàng)。selected是一個(gè)可選屬性,有表示該選項(xiàng)設(shè)置為已選中。

【編輯推薦】

  1. 全面介紹ASP.NET和JSP技術(shù)
  2. JSP技術(shù)Web開(kāi)發(fā)的主流技術(shù)
  3. PHP與JSP上演超詳細(xì)性能測(cè)試大PK 
責(zé)任編輯:王曉東 來(lái)源: JavaEye
相關(guān)推薦

2009-06-29 17:01:49

Servlet和JSPJSP技術(shù)

2009-07-02 13:42:57

JSP動(dòng)態(tài)網(wǎng)站

2009-07-06 17:07:11

JSP實(shí)例

2010-01-28 09:54:27

C++程序設(shè)計(jì)

2015-03-03 13:28:21

實(shí)例動(dòng)態(tài)網(wǎng)頁(yè)靜態(tài)緩存

2009-07-01 18:34:59

JSP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)

2011-07-06 16:29:10

ASP

2009-07-01 16:54:20

JSP網(wǎng)站開(kāi)發(fā)教程

2011-05-18 11:23:47

JSP動(dòng)態(tài)網(wǎng)站

2009-06-10 17:03:36

JSP動(dòng)態(tài)生成

2013-12-12 16:30:20

Lua腳本語(yǔ)言

2009-12-04 10:53:06

VS WEB

2010-12-28 10:12:39

PHP

2009-07-06 15:58:11

JSP程序

2012-08-07 10:02:06

JSP

2013-02-18 10:12:58

Apache服務(wù)器訪問(wèn)動(dòng)態(tài)網(wǎng)站

2021-05-21 07:59:40

應(yīng)用程序設(shè)計(jì)動(dòng)態(tài)庫(kù)函數(shù)

2010-09-17 09:08:49

Java多線程

2017-09-05 08:16:29

代碼判斷函數(shù)

2009-12-25 16:36:45

WPF程序設(shè)計(jì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)