您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關JSP如何實現(xiàn)動態(tài)網(wǎng)頁程序的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
JSP頁面從形式上就是在傳統(tǒng)的網(wǎng)頁HTML文件中加入Java程序片段(Scriptlet)和JSP標簽。Servlet/JSP容器收到客戶端發(fā)出的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式響應給客戶端。
基本語法:
注釋:
1、客戶端可以看到的注釋:<!-- comment [<%=expression%>] --> (可以在批注中加上動態(tài)的表達式)
2、開發(fā)程序員專用的注釋:<%-- comment --%> 或者 <%/** this is a comment **/%>
聲明:
<%!declaration; [declaration;]+...%>
該聲明的變量為類變量。意味著:若同時有n個用戶在執(zhí)行此JSP網(wǎng)頁時,他們將會共享此變量。會引起線程同步上的麻煩。(不建議使用)
小腳本:
<% Java 代碼%>
此類定義的變量為局部變量,不存在多線程同步問題,是線程安全的。
表達式:
<%=expression %> 不能使用“;”作為表達式的結(jié)束符號。
JSP指令元素:
只是告訴JSP引擎對JSP頁面如何編譯。
page指令:設定整個JSP網(wǎng)頁的屬性和相關功能。
<%@page attribute1="value1" attribute2="value2" ...%> <jsp:directive.page attribute1="value1"...>
例如:
<%@page contentType="text/html; charset=utf-8" language="java" import="java.net.*"%>
include指令:用于指示JSP容器在JSP編譯時插入一個包含文本或代碼的文件,這個包含的過程是靜態(tài)的。注意包含文件中要避免使用<html><body>,可能會導致錯誤。
<%@include file="relativeURLspec"%> <jsp:directive.include file="relativeURLspec">
例如:
<%@include file="Hello.html">
taglib指令:
<%@taglib uri="tagLibraryURI" prefic="tagPrefix"%> <jsp:directive.taglib uri="tagLibraryURI" prefic="tagPrefix">
JSP操作元素:
<jsp:include> <jsp:forward> <jsp:param> <jsp:useBean> <jsp:setProperty> <jsp:getProperty>
request對象與網(wǎng)絡信息的提交:
JSP中提供了request對象來接收客戶端發(fā)送回來的數(shù)據(jù)。
◆URL一般語法:protocol://host:port/virtualPath?queryString
◆protocol:表示協(xié)議,用于聲明在遠程機器之間傳送信息的低層機制(http ftp https等)。
◆host:表示請求要發(fā)送到的遠程機器的名稱或者ip地址。
◆port:聲明服務器要監(jiān)聽請求的機器端口號。
◆virtualPath:包含一個以斜線為分隔符的一組標識符,服務器把它映射到一個物理路徑和JSP的位置。
◆querString:是查詢字符串,它是一個成對的名稱和值的列表,作為JSP的參數(shù)被傳遞到處理它的JSP頁面。如果有多個參數(shù)需要傳遞,將以“&”號分隔開成對的名稱和值。
request對象所提供的方法:
獲取路徑和協(xié)議信息:
String getProtocol() 獲取通信所使用的協(xié)議和版本號(如:HTTP /1.1) String getScheme() 獲取請求中的協(xié)議名稱(如:HTTP) String getPathInfo() 獲取請求中處于JSP路徑和查詢字符串之間的額外信息 String getContextPath() String getRequestURI() String getServletPath() String getRealPath(String path)
獲取主機和端口信息:
String getServerName() 獲取響應請求的服務器名稱。 int getServerPort() 獲取響應請求的服務器端主機端口號。 String getLocalName() 獲取響應請求的服務器端主機名。 String getLocalAddr() 獲取響應請求的服務器端地址。 int getLocalPort() 獲取響應請求的服務器端端口。 String getRemoteAddr() 獲取發(fā)出請求的客戶端IP地址。 String getRemoteHost() 獲取發(fā)出請求的客戶端主機名。 int getRemotePort() 獲取發(fā)出請求的客戶端主機端口。
獲取查詢字符串:
String getQueryString() 獲取get()方法傳遞的參數(shù)字符串,即URL中?后面的部分。
獲取查詢字符串中的變量值:
String getParameter(String name) 獲取客戶端發(fā)送給服務器端的參數(shù)值。 Enumeration getParameterNames() 返回請求中所有參數(shù)的集合。 String[] getParameterValues(String name) 獲得請求中指定參數(shù)的所有值。
例如:
http://localhost:8080/liuxl/jsp/querystring.jsp?str=JSP String s=request.getParameter("str"); 獲取變量str的值,執(zhí)行后s的值為“JSP”。
注意:getParameter()方法的返回值只能是字符串。若傳遞val=100,則需要進行類型轉(zhuǎn)換。
if(request.getParameter("val")!=null) //判斷字符串是否為空 { num=Integer.parseInt(request.getParameter("val")); //將字符串轉(zhuǎn)化為整數(shù) } else { num=0; } if(request.getParameter("val")!=null) //判斷字符串是否為空 { num=Integer.parseInt(request.getParameter("val")); //將字符串轉(zhuǎn)化為整數(shù) } else { num=0; }
表單及其在信息傳遞中的應用:
表單:
是一個能夠包含表單元素的區(qū)域,HTML為表單提供了多種圖形用戶界面組件元素 (如文本框,密碼框,下拉菜單等),這些表單元素能夠讓用戶在表單輸入信息,可以用它們來構(gòu)成表單內(nèi)容,作為用戶可以輸入的域,并可以將其提交給一個JSP進行處理。
格式:
<form name="" action="" method=""> ... </form>
其中: name用于指定表單的名稱。action用于指定表單被提交時所要執(zhí)行的動作。method指定傳遞請求給JSP所用的方法(GET、POST、PUT,常用POST)。
1、<input>標簽 常用于輸入信息或提交信息
語法:<input type="" name="" value="">
說明:type允許指定輸入類型(text(文本框)、password(密碼框)、checkbox(復選框)、radio(單選按鈕)、image(圖像域)、reset(重置按鈕)、submit(提交按鈕))。 name為表單元素的名稱。value為表單元素的初始值。
例如:
文本框:<input name="" type="text" value="" size="" maxlength=""> 密碼框:<input name="" type="password" value="" size="" maxlength=""> 提交按鈕:<input name="" type="submit" value=""> 重置按鈕:<input name="" type="reset" value=""> 單選按鈕:<input name="" type="radio" value="" checked>
(用于從一組選項中選擇其中一個選項,checked是可選屬性,如果有該屬性,則表示該按鈕顯示時為被選中,否則為未選中。)
e.g:<input name="radiobutton" type="radio" value="1" checked>選項1 <input name="radiobutton" type="radio" value="2">選項2
在選中按鈕1的情況下提交URL如下:...?radiobutton=1...
復選框:<input name="" type="checkbox" value="" checked>
(用于從一組選項中選擇多個選項,checked同上。與單選按鈕相似,復選框常成組使用,與單選按鈕不同的是,被選中的多個復選框都會被提交,因此其name可以相同(按數(shù)組處理),也可以不同(按不同變量進行處理))
e.g:<input name="checkbox" type="checkbox" value="swim">swim <input name="checkbox" type="checkbox" value="run">run
如果在提交時兩個都選中,則URL形式如下:...?checkbox=swim&checkbox=run...
2、<textarea>標簽 聲明了一個用戶可以輸入多行文本的區(qū)域
語法:<textarea name="" rows="" cols="" >text</textarea>
說明:cols為文本域?qū)挾龋ㄗ址麛?shù)),rows為文本域的高度(行數(shù))
3、<select>標簽 聲明了一個可選項的列表,用戶可以選擇一個或多個選項
<select name="" size="" multiple> <option value="" selected>option</option> ... <option value="">option</option> </select>
說明:name是名稱,size是列表區(qū)域高度(即可顯示的選項數(shù)),multiple是可選屬性,若有表示可選擇多項。selected是一個可選屬性,有表示該選項設置為已選中。
感謝各位的閱讀!關于“JSP如何實現(xiàn)動態(tài)網(wǎng)頁程序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。