自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

基本語法:

注釋:

1、客戶端可以看到的注釋:<!-- comment [<%=expression%>] -->  (可以在批注中加上動態(tài)的表達式)

2、開發(fā)程序員專用的注釋:<%-- comment --%>  或者 <%/** this is a comment **/%>

聲明:

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

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

小腳本:

<% Java 代碼%>

此類定義的變量為局部變量,不存在多線程同步問題,是線程安全的。

表達式:

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

JSP指令元素:

只是告訴JSP引擎對JSP頁面如何編譯。

page指令:設(shè)定整個JSP網(wǎng)頁的屬性和相關(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編譯時插入一個包含文本或代碼的文件,這個包含的過程是靜態(tài)的。注意包含文件中要避免使用<html><body>,可能會導(dǎo)致錯誤。

  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對象與網(wǎng)絡(luò)信息的提交:

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

◆URL一般語法:protocol://host:port/virtualPath?queryString

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

◆host:表示請求要發(fā)送到的遠程機器的名稱或者ip地址。

◆port:聲明服務(wù)器要監(jiān)聽請求的機器端口號。

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

◆querString:是查詢字符串,它是一個成對的名稱和值的列表,作為JSP的參數(shù)被傳遞到處理它的JSP頁面。如果有多個參數(shù)需要傳遞,將以“&”號分隔開成對的名稱和值。

request對象所提供的方法:

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

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

獲取主機和端口信息:

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

獲取查詢字符串:

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

獲取查詢字符串中的變量值:

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

例如:

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

注意:getParameter()方法的返回值只能是字符串。若傳遞val=100,則需要進行類型轉(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)用:

表單:

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

格式:

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

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

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

語法:<input type="" name="" value="">

說明:type允許指定輸入類型(text(文本框)、password(密碼框)、checkbox(復(fù)選框)、radio(單選按鈕)、image(圖像域)、reset(重置按鈕)、submit(提交按鈕))。 name為表單元素的名稱。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> 

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

  1. e.g:<input name="radiobutton" type="radio" value="1" checked>選項1   
  2. <input name="radiobutton" type="radio" value="2">選項2  

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

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

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

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

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

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

語法:<textarea name="" rows="" cols="" >text</textarea>

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

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

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

【編輯推薦】

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

2009-06-29 17:01:49

Servlet和JSPJSP技術(shù)

2009-07-02 13:42:57

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

2015-03-03 13:28:21

實例動態(tài)網(wǎng)頁靜態(tài)緩存

2010-01-28 09:54:27

C++程序設(shè)計

2009-07-06 17:07:11

JSP實例

2009-07-01 18:34:59

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

2011-07-06 16:29:10

ASP

2009-07-01 16:54:20

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

2011-05-18 11:23:47

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

2009-06-10 17:03:36

JSP動態(tài)生成

2013-12-12 16:30:20

Lua腳本語言

2009-12-04 10:53:06

VS WEB

2010-12-28 10:12:39

PHP

2013-02-18 10:12:58

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

2021-05-21 07:59:40

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

2009-07-06 15:58:11

JSP程序

2012-08-07 10:02:06

JSP

2010-09-17 09:08:49

Java多線程

2017-09-05 08:16:29

代碼判斷函數(shù)

2009-12-25 16:36:45

WPF程序設(shè)計
點贊
收藏

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