JSP--JSP文法--指令---九大隱式對象--四大域對象--JSP內建標籤--JavaBean的動作元素--MVC三層架構

來源:互聯網
上載者:User

標籤:

一.JSP

原理:JSP其實就是一個servlet。

Servlet負責商務邏輯處理,JSP只負責顯示。開發中,JSP中不能有一行JAVA代碼

 

二.JSP文法

1. JSP模板元素:JSP中HTML標籤及文本

2. 指令碼:寫JAVA代碼,<% %>

3. 運算式:用於輸出變數及運算式,<%= %>

4. 注釋:分為三種

a) <!-- --> :JSP翻譯成Servlet時也將進行翻譯。頁面中也有。

b) <% /*.......*/ %>:JSP翻譯成Servlet時會被翻譯,但頁面(右擊原始碼)中沒有。

c) <%-- .......... --%>:JSP翻譯成Servlet時不會被翻譯。

 

三.指令

1. page:此指令可放在JSP頁面中的任意位置。作用範圍為整個JSP頁面

屬性:

language:預設值JAVA,目前也只有JAVA

extends:JSP對應的SERVLET的父類

import:匯入此JSP頁面中所用到的包,類。多個包以逗號分隔,預設已匯入的包有:java.lang.*,javax.servlet.*,javax.servlet.http.*,javax.servlet.jsp.*

session:是否建立HttpSession對象,預設為true

buffer:設定緩衝,取值none|8kb|sizekb,預設8kb。一般為預設值。

autoFlush:是否自動重新整理,true|false,預設true。

isThreadSafe:Jsp對應的Servlet是否實現SingleTreadMode介面。預設為true, false為實現。//實現單線程

errorPage:設定錯誤頁面

在web.xml配置預設錯誤頁面

<error-page>

<exception-type>java.lang.Exception</exception-type>

<location>/exce.jsp</location>

</error-page>

<error-page>

<error-code>404</error-code>

<location>/404.jsp</location>

</error-page>

isErrorPage:預設為flase,指示是否產生Throwable對象的引用exception.

contentType:設定HTML中MIME類型的編碼,如同Servlet中response.setContentType();

pageEncoding:告知引擎翻譯JSP時使用的編碼。

isELlgnored:是否忽略EL運算式,JSP2.0以後,預設為false

 

四.include:

包含:

1. 動態包含

<jsp:include page=”....” />

如有兩個JSP檔案A,B. A動態包含B,A和B各自翻譯成A_jsp.class和B_jsp.class檔案,然後容器將兩個servlet合并。再輸出。

2. 靜態包含

<%@ include file=”.....” %>

A和B翻譯成一個A_jsp.class檔案。已經合并,並給容器。再輸出。

 

2. taglib:

<% taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>

 

 

五.九大隱式對象

request: HttpServletRequest

response: HttpServletRequest

session: HttpSession(page指令中session設定true後,才會有)

config: ServletConfig

application: ServletContext

exception: Throwable(page指令中isErrorPage設定為true後,才會有)

page: 當前servlet的引用

out: JspWriter(等同於PrintWriter)

pageContext: javax.servlet.jsp.PageContext;

作用:

a. 可以擷取其它8大隱式對象

b. 本身也是一個域對象,作用範圍為本頁面

提供了操作其他域對象的方法(ServletContext,HttpSession, ServletRequest)

 

操作自身域對象的方法:

pageContext.getAttribute(Stringname);

pageContext.setAttribute(Stringname,Object value);

pageContext.removeAttribute(Stringname);

 

操作其它域對象的方法:

Object getAttribute(Stringname,int scope)

scope:PageContext有對應的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

voidremoveAttribute(String name,int scope)

voidsetAttribute(String name,Object value,int scope)

 

當我們只知道有name這麼一個參數,但不知道在哪個域中時。可以用:

pageContext.findAttribute(Stringname);

尋找的順序由小到大,page->request->session->context

 

c. 提供了包含及轉寄的方法

pageContext.forward(String path);

pageContext.include(String path)

 

六.四大域對象

pageContext:在本頁面中有效

request: 在一次請求及轉寄的Servlet中有效

session: 在一次會話中有效,直到逾時及銷毀

application: 在整個web應用有效,生命週期為Web運行期間

 

原則:域對象越小越好。

 

七.JSP內建標籤(動作元素)

jsp:include:動態包含

jsp:forward:請求轉寄

jsp:param:傳遞請求參數

 

八.JavaBean

1. 有無參的構造方法

2. 私人的欄位(欄位名小寫開頭)

3. 提供公用的getter和setter方法。

4. 一般實現java.io.Serialiable(可序列化)介面。

 

作用:用於封裝資料

 

九.JavaBean的動作元素

1、jsp:useBean

作用:從指定的域範圍尋找指定名稱的對象。找到直接返回;找不到建立該對象的執行個體,並放到指定的範圍中。

範圍:page request sessionapplication

屬性:

id:引用對象的名稱

class:尋找的類型

scope:指定的範圍。預設值是page

 

 

2、jsp:getProperty

擷取指定javabean的指定屬性的取值,並列印到頁面上。如果屬性值為null,列印null。

屬性:

name:javabean的名稱

property:操作的是getter屬性

 

3、jsp:setProperty

作用:設定Javabean的某個屬性的值。

屬性:

property:屬性名稱。支援萬用字元*

name:javabean的名稱

value:直接指定值

param:指定請求參數名。

 

十.JavaWeb的開發模型

1、模型1:JSP+JavaBean

特點:適合開發非常簡單的應用。

2、模型2:JSP+Servlet+JavaBean(MVC)

M:模型 JavaBean

V:視圖 JSP

C:控制器 Servlet

 

JSP--JSP文法--指令---九大隱式對象--四大域對象--JSP內建標籤--JavaBean的動作元素--MVC三層架構

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.