溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSP如何實現(xiàn)動態(tài)網(wǎng)頁程序

發(fā)布時間:2021-11-22 10:21:01 來源:億速云 閱讀:161 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關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)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

jsp
AI