1. 程式人生 > >淺談jsp的7個動作

淺談jsp的7個動作

pub 說明 有意 serve setprop image 語言 插入 領域

有好多話,想說確無從說起。有時候,觸碰著自己的痛點,我總會避開他不去談論。例如我現在,就是這樣的。本來想著說點自己迫切要說的,但是還是扯到了別的地方---筆者買了一個平板,外加一個256gTF卡。雖然2000塊就這麽幹沒了,但是自己想做的想買的做到了,就是最大的慰藉。----閑扯結束。

一、什麽是jsp

雖然,筆者寫過好多好多的jsp代碼。但是對jsp的具體定義,今天也是第一次。對於一個觸碰電腦只有幾年的人來說。一切都是未知的,充滿好奇的領域。
百度百科裏這樣說:“
①JSP全名為Java Server Pages,中文名叫java服務器頁面,其根本是一個簡化的Servlet設計。
②JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名為(.jsp)。


③用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行它實現了Html語法中的java擴展(以 <%, %>形式)。
④JSP與Servlet一樣,是在服務器端執行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。
⑤JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯
⑥Java Servlet是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。

二、jsp動作

技術分享圖片

三、舉例說明jsp7個動作

①jsp: include

    `<jsp:include page="included.jsp" flush="true" />`

②jsp:useBean

        <jsp:useBean id="currentDate" class="java.util.Date" scope="request" />
        <%=currentDate.toString() %>
**【值得說明的地方】
scope="request" 每次請求服務器,得到新的時間
scope="application" 應用第一次創建useBean實例時便在內存中存儲。除非重啟服務否則不會改變
scope="session" 當前瀏覽器的一次請求,同session的屬性。**

③ jsp:getProperty

<jsp:getProperty name="currentDate" property="seconds" />

【說明】
name為useBean中的ID、property為XXX.class中的屬性名

④jsp:setProperty

<!-- 先利用setProperty設置對象屬性 -->
<jsp:setProperty name="currentDate" property="seconds" value="38"/>
<!-- 我們再調用一遍瞅瞅 -->
<jsp:getProperty name="currentDate" property="seconds" />

⑤ jsp:param

<jsp:include page="params.jsp" >
    <jsp:param name="p1" value="我喜歡"></jsp:param>
    <jsp:param name="p2" value="婓蘋庅璩"></jsp:param>
</jsp:include>

⑥ jsp:forward

<jsp:forward page="要跳轉的.jsp" /> 

⑦jsp:plugin:指定客戶端運行的插件

四、演示jsp動作

A、定義include.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>呵呵,我是jsp:include的include.jsp</h1>
</body>
</html>

B、定義params.jsp

        <%@ page language="java" contentType="text/html; charset=utf-8"
                pageEncoding="utf-8"%>
        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Insert title here</title>
        </head>
        <body>
        <%
            String p1 = new String(request.getParameter("p1").getBytes("ISO-8859-1"), "UTF-8");
            String p2 = new String(request.getParameter("p2").getBytes("ISO-8859-1"), "UTF-8");;
        %>
        <%=p1 %>就是喜歡<%=p2 %>所以就有了<%=p1 %>_<%=p2 %>
        </body>
        </html>

C、定義jsp7個動作

<%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
    <h2>jsp: include</h2>
    <jsp:include page="included.jsp" flush="true" />
    <h2>jsp:useBean</h2>
    <jsp:useBean id="currentDate" class="java.util.Date" scope="request" />
    <%=currentDate.toString() %>
    <!-- 
    【值得說明的地方】
    scope="request" 每次請求服務器,得到新的時間
    scope="application" 應用第一次創建useBean實例時便在內存中存儲。除非重啟服務否則不會改變
    scope="session" 當前瀏覽器的一次請求,同session的屬性。
     -->
    <h2>jsp:getProperty</h2>
    <jsp:getProperty name="currentDate" property="seconds" />
    <!-- 
    【說明】
    name為useBean中的ID、property為XXX.class中的屬性名
     -->
    <h2>jsp:setProperty</h2>
    <!-- 先利用setProperty設置對象屬性 -->
    <jsp:setProperty name="currentDate" property="seconds" value="38"/>
    <!-- 我們再調用一遍瞅瞅 -->
    <jsp:getProperty name="currentDate" property="seconds" />
    <h2>jsp:param</h2>
    <jsp:include page="params.jsp" >
            <jsp:param name="p1" value="Red"></jsp:param>
            <jsp:param name="p2" value="Ant"></jsp:param>
    </jsp:include>
    <%-- <h2>jsp:forward</h2>
    <jsp:forward page="要跳轉的.jsp" /> --%>
    <!--<h2>jsp:plugin:指定客戶端運行的插件</h2>-->
</body>
</html>

五、運行效果

技術分享圖片

【後話】:
jsp:plugin指定客戶端運行的插件,這塊肯定很有意思。以後看看有時間嗎,研究下。

淺談jsp的7個動作