日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSP高级进阶

發布時間:2023/12/31 javascript 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSP高级进阶 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • JSP高級進階
    • 1、EL表達式
      • 1.1、表達式語言
      • 1.2、一個簡單的語法
      • 1.3、EL中的基礎操作符
      • 1.4、JSP EL隱含對象
        • pageContext對象
        • Scope對象
        • param和paramValues對象
        • header和headerValues對象
        • Attribute
    • 2、連接數據庫
      • 2.1、提前準備
      • 2.2、測試數據
        • SELECT操作
        • INSERT操作
        • DELETE操作
        • UPDATE操作
    • 3、JavaBean
      • 3.1、JavaBean 屬性
      • 3.2、JavaBean 程序示例
      • 3.3、訪問JavaBean
      • 3.4、訪問 JavaBean 對象的屬性
    • 4、JSTL
      • 4.1、JSTL 庫安裝
      • 4.2、核心標簽
      • 4.3、格式化標簽
      • 4.4、SQL標簽
      • 4.5、JSTL函數
    • 5、JSP 異常處理
      • 5.1、使用Exception對象
      • 5.2、在錯誤頁面中使用JSTL標簽
      • 5.3、使用 try…catch塊
    • 6、JSP 國際化
      • 6.1、檢測Locale
      • 6.2、實例演示
      • 6.3、語言設置
      • 6.4、區域特定日期
      • 6.5、區域特定貨幣
      • 6.6、區域特定百分比

JSP高級進階

1、EL表達式

1.1、表達式語言

**JSP表達式語言(EL)**使得訪問存儲在JavaBean中的數據變得非常簡單。JSP EL既可以用來創建算術表達式也可以用來創建邏輯表達式。在JSP EL表達式內可以使用整型數、浮點數、字符串、常量、true、false,還有null。

1.2、一個簡單的語法

典型的,當您需要在JSP標簽中指定一個屬性值時,只需要簡單地使用字符串即可:

<jsp:setProperty name="box" property="perimeter" value="100"/>

JSP EL允許您指定一個表達式來表示屬性值。一個簡單的表達式語法如下:

${expr}// 根據變量名取出變量值

其中,expr指的是表達式。在JSP EL中通用的操作符是 .{} 。這兩個操作符允許您通過內嵌的JSP對象訪問各種各樣的JavaBean屬性。

舉例來說,上面的jsp:setProperty標簽可以使用表達式語言改寫成如下形式:

<jsp:setProperty name="box" property="perimeter" value="${2*box.width+2*box.height}"/>

當JSP編譯器在屬性中見到"${}"格式后,它會產生代碼來計算這個表達式,并且產生一個替代品來代替表達式的值。

您也可以在標簽的模板文本中使用表達式語言。比如jsp:text標簽簡單地將其主體中的文本插入到JSP輸出中:

<jsp:text><h1>Hello JSP!</h1> </jsp:text>

現在,在jsp:text標簽主體中使用表達式,就像這樣:

<jsp:text>Box Perimeter is: ${2*box.width + 2*box.height} </jsp:text>

在EL表達式中可以使用圓括號來組織子表達式。比如(1+2)?3等于9,但是{(1 + 2) * 3}等于9,但是(1+2)?39{1 + (2 * 3)} 等于7。

想要停用對EL表達式的評估的話,需要使用page指令將isELIgnored屬性值設為true:

<%@ page isELIgnored ="true|false" %>

這樣,EL表達式就會被忽略。若設為false,則容器將會計算EL表達式。

1.3、EL中的基礎操作符

EL表達式支持大部分Java所提供的算術和邏輯操作符:

操作符描述
.訪問一個Bean屬性或者一個映射條目
[]訪問一個數組或者鏈表的元素 下標 和 名字
( )組織一個子表達式以改變優先級
+
-減或負
*
/ or div
% or mod取模
== or eq測試是否相等
!= or ne測試是否不等
< or lt測試是否小于
> or gt測試是否大于
<= or le測試是否小于等于
>= or ge測試是否大于等于
&& and測試邏輯與
|| or測試邏輯或
! not測試取反
empty測試是否空值

1.4、JSP EL隱含對象

JSP EL支持下表列出的隱含對象:

隱含對象描述
pageScopepage 作用域
requestScoperequest 作用域
sessionScopesession 作用域
applicationScopeapplication 作用域
paramRequest 對象的參數,字符串
paramValuesRequest對象的參數,字符串集合
headerHTTP 信息頭,字符串
headerValuesHTTP 信息頭,字符串集合
initParam上下文初始化參數
cookieCookie值
pageContext當前頁面的pageContext

您可以在表達式中使用這些對象,就像使用變量一樣。接下來會給出幾個例子來更好的理解這個概念。

pageContext對象

pageContext對象是JSP中pageContext對象的引用。通過pageContext對象,您可以訪問request對象。比如,訪問request對象傳入的查詢字符串,就像這樣:

${pageContext.request.queryString}

Scope對象

pageScope,requestScope,sessionScope,applicationScope變量用來訪問存儲在各個作用域層次的變量。

舉例來說,如果您需要顯式訪問在applicationScope層的box變量,可以這樣來訪問:applicationScope.box。

變量取值順序: pageScope>requestScope>sessionScope>applicationScope 。

param和paramValues對象

param和paramValues對象用來訪問參數值,通過使用request.getParameter方法和request.getParameterValues方法。

舉例來說,訪問一個名為order的參數,可以這樣使用表達式:param.order,或者{param.order},或者param.order{param[“order”]}。

接下來的例子表明了如何訪問request中的username參數:

<%@ page import="java.io.*,java.util.*" %> <%String title = "Accessing Request Param"; %> <html><head><title><% out.print(title); %></title></head> <body><center><h1><% out.print(title); %></h1></center><div align="center"><p>${param["username"]}</p></div> </body> </html>

param對象返回單一的字符串,而paramValues對象則返回一個字符串數組。

header和headerValues對象

header和headerValues對象用來訪問信息頭,通過使用 request.getHeader方法和request.getHeaders方法。

舉例來說,要訪問一個名為user-agent的信息頭,可以這樣使用表達式:header.user?agent,或者{header.user-agent},或者header.user?agent{header[“user-agent”]}。

接下來的例子表明了如何訪問user-agent信息頭:

<%@ page import="java.io.*,java.util.*" %> <%String title = "User Agent Example"; %> <html><head><title><% out.print(title); %></title></head><body><center><h1><% out.print(title); %></h1></center><div align="center"><p>${header["user-agent"]}</p></div></body> </html>

Attribute

page、request、response、application都可以通過setAttribute()來設置一個鍵值對存儲,然后EL表達式可以通過 **${鍵}**來獲取一個值。

2、連接數據庫

2.1、提前準備

注意:

你可以下載本站提供的 jar 包:

  • MySQL 5 版本:mysql-connector-java-5.1.39-bin.jar
  • MySQL 8 版本:mysql-connector-java-8.0.19.jar

下載后把 mysql-connector-java-<對應版本>-bin.jar 拷貝到 tomcat 下 lib 目錄。

MySQL 8.0 以上版本的數據庫連接有所不同:

  • 1、com.mysql.jdbc.Driver 更換為 com.mysql.cj.jdbc.Driver
  • MySQL 8.0 以上版本不需要建立 SSL 連接的,需要顯示關閉。
  • 最后還需要設置 CST。

加載驅動與連接數據庫方式如下:

<sql:setDataSource var="snapshot" driver="com.mysql.cj.jdbc.Driver"url="jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8user="root" password="12345"/>

2.2、測試數據

SELECT操作

接下來的這個例子告訴我們如何使用JSTL SQL標簽來運行SQL SELECT語句:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html><head><title>SELECT 操作</title></head> <body><!--JDBC 驅動名及數據庫 URL 數據庫的用戶名與密碼,需要根據自己的設置useUnicode=true&characterEncoding=utf-8 防止中文亂碼--><sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8"user="root" password="123456"/><sql:query dataSource="${snapshot}" var="result">SELECT * from websites;</sql:query><h1>JSP 數據庫實例 - 菜鳥教程</h1><table border="1" width="100%"><tr><th>ID</th><th>站點名</th><th>站點地址</th></tr><c:forEach var="row" items="${result.rows}"><tr><td><c:out value="${row.id}"/></td><td><c:out value="${row.name}"/></td><td><c:out value="${row.url}"/></td></tr></c:forEach></table> </body> </html>

INSERT操作

這個例子告訴我們如何使用JSTL SQL標簽來運行SQL INSERT語句:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html><head><title>SELECT 操作</title></head> <body><!--JDBC 驅動名及數據庫 URL 數據庫的用戶名與密碼,需要根據自己的設置useUnicode=true&characterEncoding=utf-8 防止中文亂碼--><sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8"user="root" password="123456"/><!--插入數據--><sql:update dataSource="${snapshot}" var="result">INSERT INTO websites (name,url,alexa,country) VALUES ('教程移動站', 'http://m.runoob.com', 5093, 'CN');</sql:update><sql:query dataSource="${snapshot}" var="result">SELECT * from websites;</sql:query><h1>JSP 數據庫實例 - 菜鳥教程</h1><table border="1" width="100%"><tr><th>ID</th><th>站點名</th><th>站點地址</th></tr><c:forEach var="row" items="${result.rows}"><tr><td><c:out value="${row.id}"/></td><td><c:out value="${row.name}"/></td><td><c:out value="${row.url}"/></td></tr></c:forEach></table> </body> </html>

DELETE操作

這個例子告訴我們如何使用JSTL SQL標簽來運行SQL DELETE語句:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html><head><title>SELECT 操作</title></head> <body> <!--JDBC 驅動名及數據庫 URL 數據庫的用戶名與密碼,需要根據自己的設置useUnicode=true&characterEncoding=utf-8 防止中文亂碼 --> <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8"user="root" password="123456"/> <!--刪除 ID 為 11 的數據 --> <sql:update dataSource="${snapshot}" var="count">DELETE FROM websites WHERE Id = ?<sql:param value="${11}" /> </sql:update> <sql:query dataSource="${snapshot}" var="result">SELECT * from websites; </sql:query> <h1>JSP 數據庫實例 - 菜鳥教程</h1> <table border="1" width="100%"> <tr><th>ID</th><th>站點名</th><th>站點地址</th> </tr> <c:forEach var="row" items="${result.rows}"> <tr><td><c:out value="${row.id}"/></td><td><c:out value="${row.name}"/></td><td><c:out value="${row.url}"/></td> </tr> </c:forEach> </table> </body> </html>

UPDATE操作

這個例子告訴我們如何使用JSTL SQL標簽來運行SQL UPDATE語句:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html><head><title>SELECT 操作</title></head> <body> <!-- JDBC 驅動名及數據庫 URL 數據庫的用戶名與密碼,需要根據自己的設置 useUnicode=true&characterEncoding=utf-8 防止中文亂碼 --> <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8"user="root" password="123456"/> <!--修改 ID 為 3 的名字:菜鳥教程改為 RUNOOB --><c:set var="SiteId" value="3"/><sql:update dataSource="${snapshot}" var="count">UPDATE websites SET name = 'RUNOOB' WHERE Id = ?<sql:param value="${SiteId}" /></sql:update><sql:query dataSource="${snapshot}" var="result">SELECT * from websites;</sql:query><h1>JSP 數據庫實例 - 教程</h1><table border="1" width="100%"><tr><th>ID</th><th>站點名</th><th>站點地址</th></tr><c:forEach var="row" items="${result.rows}"><tr><td><c:out value="${row.id}"/></td><td><c:out value="${row.name}"/></td><td><c:out value="${row.url}"/></td></tr></c:forEach></table> </body> </html>

3、JavaBean

JavaBean 是特殊的 Java 類,使用 Java 語言書寫,并且遵守 JavaBean API 規范。

接下來給出的是 JavaBean 與其它 Java 類相比而言獨一無二的特征:

  • 提供一個默認的無參構造函數。
  • 需要被序列化并且實現了 Serializable 接口。
  • 可能有一系列可讀寫屬性。
  • 可能有一系列的 gettersetter 方法。

3.1、JavaBean 屬性

一個 JavaBean 對象的屬性應該是可訪問的。這個屬性可以是任意合法的 Java 數據類型,包括自定義 Java 類。

一個 JavaBean 對象的屬性可以是可讀寫,或只讀,或只寫。JavaBean 對象的屬性通過 JavaBean 實現類中提供的兩個方法來訪問:

方法描述
getPropertyName()舉例來說,如果屬性的名稱為 myName,那么這個方法的名字就要寫成 getMyName() 來讀取這個屬性。這個方法也稱為訪問器。
setPropertyName()舉例來說,如果屬性的名稱為 myName,那么這個方法的名字就要寫成 setMyName()來寫入這個屬性。這個方法也稱為寫入器。

一個只讀的屬性只提供 getPropertyName() 方法,一個只寫的屬性只提供 setPropertyName() 方法。

3.2、JavaBean 程序示例

這是 StudentBean.java 文件:

package com.runoob;public class StudentsBean implements java.io.Serializable {private String firstName = null;private String lastName = null;private int age = 0;public StudentsBean() {}public String getFirstName(){return firstName;}public String getLastName(){return lastName;}public int getAge(){return age;}public void setFirstName(String firstName){this.firstName = firstName;}public void setLastName(String lastName){this.lastName = lastName;}public void setAge(int age) {this.age = age;} }

3.3、訪問JavaBean

jsp:useBean 標簽可以在 JSP 中聲明一個 JavaBean,然后使用。聲明后,JavaBean 對象就成了腳本變量,可以通過腳本元素或其他自定義標簽來訪問。jsp:useBean 標簽的語法格式如下:

<jsp:useBean id="bean 的名字" scope="bean 的作用域" typeSpec/>

其中,根據具體情況,scope 的值可以是 page,request,session 或 application。id值可任意只要不和同一 JSP 文件中其它 jsp:useBean 中 id 值一樣就行了。

接下來給出的是 jsp:useBean 標簽的一個簡單的用法:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <html><head><title>useBean 實例</title></head> <body><jsp:useBean id="date" class="java.util.Date" /> <p>日期為:<%= date %> </body> </html>

3.4、訪問 JavaBean 對象的屬性

jsp:useBean 標簽主體中使用 jsp:getProperty/ 標簽來調用 getter 方法,使用 jsp:setProperty/ 標簽來調用 setter 方法,語法格式如下:

<jsp:useBean id="id" class="bean 編譯的類" scope="bean 作用域"><jsp:setProperty name="bean 的 id" property="屬性名" value="value"/><jsp:getProperty name="bean 的 id" property="屬性名"/>........... </jsp:useBean>

name屬性指的是Bean的id屬性。property屬性指的是想要調用的getter或setter方法。

接下來給出使用以上語法進行屬性訪問的一個簡單例子:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <html> <head> <title>get 和 set 屬性實例</title> </head> <body><jsp:useBean id="students" class="com.runoob.StudentsBean"> <jsp:setProperty name="students" property="firstName" value="小強"/><jsp:setProperty name="students" property="lastName" value="王"/><jsp:setProperty name="students" property="age" value="10"/> </jsp:useBean> <p>學生名字: <jsp:getProperty name="students" property="firstName"/> </p> <p>學生姓氏: <jsp:getProperty name="students" property="lastName"/> </p> <p>學生年齡: <jsp:getProperty name="students" property="age"/> </p> </body> </html>

4、JSTL

Java標準標簽庫(JSTL)是一個JSP標簽集合,它封裝了JSP應用的通用核心功能。為了實現頁面無腳本化。

JSTL支持通用的、結構化的任務,比如迭代,條件判斷,XML文檔操作,國際化標簽,SQL標簽。 除了這些,它還提供了一個框架來使用集成JSTL的自定義標簽。

根據JSTL標簽所提供的功能,可以將其分為5個類別。

  • 核心標簽 core
  • 格式化標簽 format
  • SQL 標簽
  • XML 標簽
  • JSTL 函數
  • 國際化 i18n

4.1、JSTL 庫安裝

Apache Tomcat安裝JSTL 庫步驟如下:

從Apache的標準標簽庫中下載的二進包(jakarta-taglibs-standard-current.zip)。

  • 官方下載地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
  • 本站下載地址:jakarta-taglibs-standard-1.1.2.zip

下載 jakarta-taglibs-standard-1.1.2.zip 包并解壓,將 jakarta-taglibs-standard-1.1.2/lib/ 下的兩個 jar 文件:standard.jarjstl.jar 文件拷貝到 /WEB-INF/lib/ 下。

將 tld 下的需要引入的 tld 文件復制到 WEB-INF 目錄下。

接下來我們在 web.xml 文件中添加以下配置:

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><jsp-config><taglib><taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri><taglib-location>/WEB-INF/fmt.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jsp/jstl/fmt-rt</taglib-uri><taglib-location>/WEB-INF/fmt-rt.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri><taglib-location>/WEB-INF/c.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jsp/jstl/core-rt</taglib-uri><taglib-location>/WEB-INF/c-rt.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri><taglib-location>/WEB-INF/sql.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jsp/jstl/sql-rt</taglib-uri><taglib-location>/WEB-INF/sql-rt.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jsp/jstl/x</taglib-uri><taglib-location>/WEB-INF/x.tld</taglib-location></taglib><taglib><taglib-uri>http://java.sun.com/jsp/jstl/x-rt</taglib-uri><taglib-location>/WEB-INF/x-rt.tld</taglib-location></taglib></jsp-config> </web-app>

使用任何庫,你必須在每個 JSP 文件中的頭部包含 **<taglib>**標簽。

4.2、核心標簽

核心標簽是最常用的 JSTL標簽。引用核心標簽庫的語法如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 標簽描述
<c:out>用于在JSP中顯示數據,就像<%= … >
<c:set>用于保存數據
<c:remove>用于刪除數據
<c:catch>用來處理產生錯誤的異常狀況,并且將錯誤信息儲存起來
<c:if>與我們在一般程序中用的if一樣
<c:choose>本身只當做<c:when>和<c:otherwise>的父標簽 代替switch
<c:when><c:choose>的子標簽,用來判斷條件是否成立 代替了case
<c:otherwise><c:choose>的子標簽,接在<c:when>標簽后,當<c:when>標簽判斷為false時被執行 代替了 default
<c:import>檢索一個絕對或相對 URL,然后將其內容暴露給頁面
<c:forEach>基礎迭代標簽,接受多種集合類型
<c:forTokens>根據指定的分隔符來分隔內容并迭代輸出
<c:param>用來給包含或重定向的頁面傳遞參數
<c:redirect>重定向至一個新的URL.
<c:url>使用可選的查詢參數來創造一個URL

4.3、格式化標簽

JSTL格式化標簽用來格式化并輸出文本、日期、時間、數字。引用格式化標簽庫的語法如下:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 標簽描述
fmt:formatNumber使用指定的格式或精度格式化數字
fmt:parseNumber解析一個代表著數字,貨幣或百分比的字符串
fmt:formatDate使用指定的風格或模式格式化日期和時間
fmt:parseDate解析一個代表著日期或時間的字符串
fmt:bundle綁定資源
fmt:setLocale指定地區
fmt:setBundle綁定資源
fmt:timeZone指定時區
fmt:setTimeZone指定時區
fmt:message顯示資源配置文件信息
fmt:requestEncoding設置request的字符編碼

4.4、SQL標簽

JSTL SQL標簽庫提供了與關系型數據庫(Oracle,MySQL,SQL Server等等)進行交互的標簽。引用SQL標簽庫的語法如下:

<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> 標簽描述
sql:setDataSource指定數據源
sql:query運行SQL查詢語句
sql:update運行SQL更新語句
sql:param將SQL語句中的參數設為指定值
sql:dateParam將SQL語句中的日期參數設為指定的java.util.Date 對象值
sql:transaction在共享數據庫連接中提供嵌套的數據庫行為元素,將所有語句以一個事務的形式來運行

4.5、JSTL函數

JSTL包含一系列標準函數,大部分是通用的字符串處理函數。引用JSTL函數庫的語法如下:

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 函數描述
fn:contains()測試輸入的字符串是否包含指定的子串
fn:containsIgnoreCase()測試輸入的字符串是否包含指定的子串,大小寫不敏感
fn:endsWith()測試輸入的字符串是否以指定的后綴結尾
fn:escapeXml()跳過可以作為XML標記的字符
fn:indexOf()返回指定字符串在輸入字符串中出現的位置
fn:join()將數組中的元素合成一個字符串然后輸出
fn:length()返回字符串長度
fn:replace()將輸入字符串中指定的位置替換為指定的字符串然后返回
fn:split()將字符串用指定的分隔符分隔然后組成一個子字符串數組并返回
fn:startsWith()測試輸入字符串是否以指定的前綴開始
fn:substring()返回字符串的子集
fn:substringAfter()返回字符串在指定子串之后的子集
fn:substringBefore()返回字符串在指定子串之前的子集
fn:toLowerCase()將字符串中的字符轉為小寫
fn:toUpperCase()將字符串中的字符轉為大寫
fn:trim()移除首尾的空白符

5、JSP 異常處理

當編寫JSP程序的時候,程序員可能會遺漏一些BUG,這些BUG可能會出現在程序的任何地方。JSP代碼中通常有以下幾類異常:

  • 檢查型異常:檢查型異常就是一個典型的用戶錯誤或者一個程序員無法預見的錯誤。舉例來說,如果一個文件將要被打開,但是無法找到這個文件,則一個異常被拋出。這些異常不能在編譯期被簡單地忽略。
  • 運行時異常:一個運行時異常可能已經被程序員避免,這種異常在編譯期將會被忽略。
  • 錯誤:錯誤不是異常,但問題是它超出了用戶或者程序員的控制范圍。錯誤通常會在代碼中被忽略,您幾乎不能拿它怎么樣。舉例來說,棧溢出錯誤。這些錯誤都會在編譯期被忽略。

本節將會給出幾個簡單而優雅的方式來處理運行時異常和錯誤。

5.1、使用Exception對象

exception對象是Throwable子類的一個實例,只在錯誤頁面中可用。下表列出了Throwable類中一些重要的方法:

序號方法&描述
1**public String getMessage()**返回異常的信息。這個信息在Throwable構造函數中被初始化
2**public ThrowablegetCause()**返回引起異常的原因,類型為Throwable對象
3**public String toString()**返回類名
4**public void printStackTrace()**將異常棧軌跡輸出至System.err
5**public StackTraceElement [] getStackTrace()**以棧軌跡元素數組的形式返回異常棧軌跡
6**public ThrowablefillInStackTrace()**使用當前棧軌跡填充Throwable對象

JSP提供了可選項來為每個JSP頁面指定錯誤頁面。無論何時頁面拋出了異常,JSP容器都會自動地調用錯誤頁面。

接下來的例子為main.jsp指定了一個錯誤頁面。使用<%@page errorPage=“XXXXX”%>指令指定一個錯誤頁面。

<%@ page errorPage="ShowError.jsp" %><html> <head><title>Error Handling Example</title> </head> <body> <%// Throw an exception to invoke the error pageint x = 1;if (x == 1){throw new RuntimeException("Error condition!!!");} %> </body> </html>

現在,編寫ShowError.jsp文件如下:

<%@ page isErrorPage="true" %> <html> <head> <title>Show Error Page</title> </head> <body> <h1>Opps...</h1> <p>Sorry, an error occurred.</p> <p>Here is the exception stack trace: </p> <pre> <% exception.printStackTrace(response.getWriter()); %>

注意到,ShowError.jsp文件使用了<%@page isErrorPage=“true”%>指令,這個指令告訴JSP編譯器需要產生一個異常實例變量。

現在試著訪問main.jsp頁面,它將會產生如下結果:

java.lang.RuntimeException: Error condition!!! ......Opps... Sorry, an error occurred.Here is the exception stack trace:

5.2、在錯誤頁面中使用JSTL標簽

可以利用JSTL標簽來編寫錯誤頁面ShowError.jsp。這個例子中的代碼與上例代碼的邏輯幾乎一樣,但是本例的代碼有更好的結構,并且能夠提供更多信息:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@page isErrorPage="true" %> <html> <head> <title>Show Error Page</title> </head> <body> <h1>Opps...</h1> <table width="100%" border="1"> <tr valign="top"> <td width="40%"><b>Error:</b></td> <td>${pageContext.exception}</td> </tr> <tr valign="top"> <td><b>URI:</b></td> <td>${pageContext.errorData.requestURI}</td> </tr> <tr valign="top"> <td><b>Status code:</b></td> <td>${pageContext.errorData.statusCode}</td> </tr> <tr valign="top"> <td><b>Stack trace:</b></td> <td> <c:forEach var="trace" items="${pageContext.exception.stackTrace}"> <p>${trace}</p> </c:forEach> </td> </tr> </table> </body> </html>

運行結果如下:


5.3、使用 try…catch塊

如果您想要將異常處理放在一個頁面中,并且對不同的異常進行不同的處理,那么您就需要使用try…catch塊了。

接下來的這個例子顯示了如何使用try…catch塊,將這些代碼放在main.jsp中:

<html> <head><title>Try...Catch Example</title> </head> <body> <%try{int i = 1;i = i / 0;out.println("The answer is " + i);}catch (Exception e){out.println("An exception occurred: " + e.getMessage());} %> </body> </html>

試著訪問main.jsp,它將會產生如下結果:

An exception occurred: / by zero

6、JSP 國際化

在開始前,需要解釋幾個重要的概念:

  • 國際化(i18n):表明一個頁面根據訪問者的語言或國家來呈現不同的翻譯版本。
  • 本地化(l10n):向網站添加資源,以使它適應不同的地區和文化。比如網站的印度語版本。
  • 區域:這是一個特定的區域或文化,通常認為是一個語言標志和國家標志通過下劃線連接起來。比如"en_US"代表美國英語地區。

如果想要建立一個全球化的網站,就需要關心一系列項目。本章將會詳細告訴您如何處理國際化問題,并給出了一些例子來加深理解。

JSP容器能夠根據request的locale屬性來提供正確地頁面版本。接下來給出了如何通過request對象來獲得Locale對象的語法:

java.util.Locale request.getLocale()

6.1、檢測Locale

下表列舉出了Locale對象中比較重要的方法,用于檢測request對象的地區,語言,和區域。所有這些方法都會在瀏覽器中顯示國家名稱和語言名稱:

序號方法&描述
1**String getCountry()**返回國家/地區碼的英文大寫,或 ISO 3166 2-letter 格式的區域
2**String getDisplayCountry()**返回要顯示給用戶的國家名稱
3**String getLanguage()**返回語言碼的英文小寫,或ISO 639 格式的區域
4**String getDisplayLanguage()**返回要給用戶看的語言名稱
5**String getISO3Country()**返回國家名稱的3字母縮寫
6**String getISO3Language()**返回語言名稱的3字母縮寫

6.2、實例演示

這個例子告訴我們如何在JSP中顯示語言和國家:

<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%//獲取客戶端本地化信息Locale locale = request.getLocale();String language = locale.getLanguage();String country = locale.getCountry(); %> <html> <head> <title>Detecting Locale</title> </head> <body> <center> <h1>Detecting Locale</h1> </center> <p align="center"> <% out.println("Language : " + language + "<br />");out.println("Country : " + country + "<br />"); %> </p> </body> </html>

6.3、語言設置

JSP 可以使用西歐語言來輸出一個頁面,比如英語,西班牙語,德語,法語,意大利語等等。由此可見,設置 Content-Language 信息頭來正確顯示所有字符是很重要的。

第二點就是,需要使用 HTML 字符實體來顯示特殊字符,比如 “?” 代表的是 ?,"?"代表的是 ? :

<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%// Set response content typeresponse.setContentType("text/html");// Set spanish language code.response.setHeader("Content-Language", "es");String title = "En Espa?ol"; %> <html> <head> <title><% out.print(title); %></title> </head> <body> <center> <h1><% out.print(title); %></h1> </center> <div align="center"> <p>En Espa?ol</p> <p>?Hola Mundo!</p> </div> </body> </html>

6.4、區域特定日期

可以使用java.text.DateFormat類和它的靜態方法getDateTimeInstance()來格式化日期和時間。接下來的這個例子顯示了如何根據指定的區域來格式化日期和時間:

<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%@ page import="java.text.DateFormat,java.util.Date" %><%String title = "Locale Specific Dates";//Get the client's LocaleLocale locale = request.getLocale( );String date = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.SHORT, locale).format(new Date( )); %> <html> <head> <title><% out.print(title); %></title> </head> <body> <center> <h1><% out.print(title); %></h1> </center> <div align="center"> <p>Local Date: <% out.print(date); %></p> </div> </body> </html>

6.5、區域特定貨幣

可以使用java.text.NumberFormat類和它的靜態方法getCurrencyInstance()來格式化數字。比如在區域特定貨幣中的long型和double型。接下來的例子顯示了如何根據指定的區域來格式化貨幣:

<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%@ page import="java.text.NumberFormat,java.util.Date" %><%String title = "Locale Specific Currency";//Get the client's LocaleLocale locale = request.getLocale( );NumberFormat nft = NumberFormat.getCurrencyInstance(locale);String formattedCurr = nft.format(1000000); %> <html> <head> <title><% out.print(title); %></title> </head> <body> <center> <h1><% out.print(title); %></h1> </center> <div align="center"> <p>Formatted Currency: <% out.print(formattedCurr); %></p> </div> </body> </html>

6.6、區域特定百分比

可以使用java.text.NumberFormat類和它的靜態方法getPercentInstance()來格式化百分比。接下來的例子告訴我們如何根據指定的區域來格式化百分比:

<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%@ page import="java.text.NumberFormat,java.util.Date" %><%String title = "Locale Specific Percentage";//Get the client's LocaleLocale locale = request.getLocale( );NumberFormat nft = NumberFormat.getPercentInstance(locale);String formattedPerc = nft.format(0.51); %> <html> <head> <title><% out.print(title); %></title> </head> <body> <center> <h1><% out.print(title); %></h1> </center> <div align="center"> <p>Formatted Percentage: <% out.print(formattedPerc); %></p> </div> </body> </html>

總結

以上是生活随笔為你收集整理的JSP高级进阶的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

六月婷婷色 | 天天干天天摸 | 欧美一级电影免费观看 | 国产a级片免费观看 | 伊人夜夜 | av在线成人 | 99免费看片 | 在线亚洲成人 | 亚洲成人免费观看 | 国产精品扒开做爽爽的视频 | 欧美日本在线视频 | 欧美国产日韩一区二区三区 | 亚洲精品国产精品乱码在线观看 | 国产区在线 | 最新午夜电影 | 久久综合一本 | 97天天干| 国产视频精品免费播放 | 国产999精品视频 | 久久国产视屏 | www.夜夜爱| 精品专区一区二区 | 97狠狠操 | 日本精品视频一区二区 | 国产一级在线看 | 看毛片网站 | 美女黄网站视频免费 | 精品在线播放视频 | 91麻豆精品国产91久久久久久久久 | 精品一区二区免费在线观看 | 丁香婷婷射 | www.天天色.com | 国产精品人成电影在线观看 | 欧美性生活免费看 | 日韩视频免费看 | 天天干,天天插 | 久久国产手机看片 | 干干干操操操 | 国产精品乱码久久久 | 91av手机在线观看 | av动态图片| 精品一区精品二区 | 国内精品在线观看视频 | 黄色一级大片在线观看 | 人人草在线视频 | 色香蕉在线视频 | 日韩最新av | 国产特级毛片aaaaaa毛片 | 天天操天天操天天操天天操天天操 | 日本中文字幕视频 | 91天堂素人约啪 | 超碰免费在线公开 | 久草视频在线资源站 | 欧美另类重口 | 久操操| 亚洲精品国偷自产在线91正片 | 超碰国产97| 免费视频久久 | av一级久久 | 婷婷色综合色 | 91精品老司机久久一区啪 | 日韩免费观看一区二区 | 欧美精品乱码久久久久久 | 天堂黄色片 | 久久黄色网址 | 日韩美一区二区三区 | 免费国产ww| 色香蕉视频 | 国产精品热 | 午夜精品一区二区三区视频免费看 | 999久久久国产精品 高清av免费观看 | 亚洲无吗av | 日韩大陆欧美高清视频区 | 亚洲精品久久久久www | 九九国产精品视频 | 久草在线视频在线观看 | 欧美日韩成人 | 日韩专区一区二区 | 欧美日韩免费观看一区二区三区 | 黄色小说免费在线观看 | 国产丝袜一区二区三区 | 99情趣网视频 | 久久免费一| 激情自拍av| 国产一级电影在线 | 午夜精选视频 | 欧洲亚洲女同hd | 亚洲情婷婷 | 久久韩国免费视频 | 国产精品黑丝在线观看 | 全黄网站| 一区二区三区四区不卡 | 午夜三级大片 | 99视频在线精品国自产拍免费观看 | 天堂在线一区 | 久久久久久黄 | 国产韩国精品一区二区三区 | 成人高清在线观看 | 欧美日韩不卡在线观看 | 97精品国产97久久久久久春色 | av线上看| 91免费在线看片 | 欧美日韩高清一区二区三区 | 色网站在线免费 | 在线观看不卡的av | 亚洲成av人片一区二区梦乃 | 激情久久影院 | 国产亚洲精品中文字幕 | 伊人久久国产精品 | 成人福利av | 亚洲精品在线网站 | 成人久久18免费网站图片 | 亚洲成人麻豆 | 日韩黄色在线观看 | 国产成人精品999在线观看 | 久久第四色 | 欧美亚洲专区 | 久久免费的精品国产v∧ | 久久久99精品免费观看app | www.黄色在线 | 日韩乱色精品一区二区 | 久久99久久99精品免视看婷婷 | 手机版av在线 | 国产精品都在这里 | 黄色av电影一级片 | av爱干| 午夜 在线 | 成人观看 | 久久精品美女视频 | 亚洲国产成人精品久久 | 青青久视频| 91在线永久 | 中文字幕一区二区三区四区久久 | 日韩一区二区免费在线观看 | 综合久久精品 | 在线精品一区二区 | 在线视频 成人 | 草久电影 | 国产精品一区欧美 | 亚洲视频99 | 久久精品免费播放 | 激情欧美一区二区三区 | 欧美精品在线一区二区 | 亚洲视频综合在线 | 91精品在线免费观看 | 免费看的毛片 | 国产99爱 | 久久国内精品99久久6app | 亚洲一二区精品 | 欧美日本一二三 | 五月天丁香综合 | 久久黄色网页 | 日韩在线观看视频一区二区三区 | 免费观看一级特黄欧美大片 | 久久er99热精品一区二区三区 | 521色香蕉网站在线观看 | 黄色一二级片 | 视频在线观看一区 | 中文字幕一区三区 | 久久久午夜精品福利内容 | 免费看的av片 | 天天操天天操天天操天天操天天操 | 国产精品亚州 | 国产精品美女999 | 毛片网站在线 | 亚洲精品国产精品国自产 | 久久综合九色欧美综合狠狠 | 欧美精品一区二区三区四区在线 | 国产91精品在线播放 | 国产精品6 | 久久久www成人免费精品 | 黄色大片中国 | 一区二区视频在线看 | 一区二区精品在线 | 91热精品视频 | sm免费xx网站| 91高清一区| 亚洲伦理电影在线 | 香蕉久草| 五月开心婷婷网 | 免费成人在线观看视频 | 久久黄色网址 | 成年人免费看片网站 | 欧美福利在线播放 | 亚洲国产精品va在线看黑人 | 91插插插免费视频 | 中文字幕亚洲综合久久五月天色无吗'' | 最新极品jizzhd欧美 | 一区二区三区中文字幕在线观看 | 伊人春色电影网 | 日韩在线在线 | 国产偷国产偷亚洲清高 | 丁香六月婷婷综合 | 精品综合久久 | 91九色在线| 在线国产日本 | 日日操天天射 | 天天操天天操天天操天天操 | 超碰在线1 | 日韩中文字幕亚洲一区二区va在线 | 一区二区三区在线电影 | 国产精品不卡一区 | 国产天天综合 | 天天操天天爽天天干 | 西西4444www大胆视频 | 日韩精品在线观看av | 久久精品一区二区三 | 亚洲精品乱码久久久久v最新版 | av黄色在线播放 | 香蕉免费在线 | 欧美综合在线视频 | 人人爽人人爽人人片av免 | 国产成人免费av电影 | 婷婷黄色片 | 天天综合网天天 | 午夜久久影视 | 久久麻豆精品 | 国产小视频在线免费观看视频 | 国产97色在线 | 日本一区二区免费在线观看 | 中文字幕一区二区三区四区在线视频 | 欧美日本高清视频 | 美女在线观看网站 | 亚洲国产午夜精品 | 久久蜜桃av | 久久久国产精品亚洲一区 | 日韩性xxxx | 国产a高清 | 精品美女久久久久 | 精品久久久久久久久久国产 | 欧美日韩视频在线观看免费 | 欧美 日韩精品 | 欧美日韩一区二区久久 | 久久国产精品久久w女人spa | 免费高清在线视频一区· | 久久99久久久久久 | 人人模人人爽 | 亚洲精品99久久久久中文字幕 | 日韩精品高清不卡 | 欧美a在线免费观看 | 日韩av中文字幕在线 | 国产精品v欧美精品v日韩 | 欧美国产三区 | 少妇性bbb搡bbb爽爽爽欧美 | 久久久久久久久久久电影 | 草久久久 | 五月婷婷久久综合 | 亚洲电影网站 | 一区二区精品 | 久久五月婷婷丁香 | 黄色成人影院 | 免费视频你懂的 | 成年美女黄网站色大片免费看 | 国产精品美女在线观看 | 免费观看性生活大片3 | 欧美日韩视频网站 | 精品9999| 天天色天天射天天干 | 久久超碰99 | 在线看污网站 | av网站在线免费观看 | 午夜精品久久久久久久久久久久 | 欧美激情在线看 | 狠狠操欧美 | 亚洲小视频在线观看 | 国产 视频 久久 | 国产亚洲精品久久久久久大师 | 丁香婷婷综合激情五月色 | 亚洲精品在线播放视频 | 国产精品白虎 | 国产精品嫩草影院99网站 | 国产精品自产拍在线观看桃花 | 欧美日韩不卡一区二区三区 | 国产精品美女视频 | adn—256中文在线观看 | 麻豆视频免费在线播放 | 欧美日韩啪啪 | 国产精品99久久久久久宅男 | 91视频在线播放视频 | 日本性生活免费看 | 国产传媒一区在线 | av线上免费观看 | av中文字幕网| 国产精品久久久久久久久久新婚 | 国产精品久久久免费看 | 狠狠色综合网站久久久久久久 | 国产高清免费av | 91av原创| 日韩在线观看的 | 国产拍揄自揄精品视频麻豆 | 中文字幕在线免费 | 日本中文一区二区 | 国产精品短视频 | 最新av网址在线观看 | 中文字幕在线播放av | 国产尤物在线 | 一区二区精品在线视频 | 国产香蕉97碰碰碰视频在线观看 | 久久tv | 亚州av免费| 视频在线91 | 亚洲最新av在线网站 | 精品在线免费视频 | 久久草在线精品 | 99久久精品免费 | 黄色毛片视频免费 | 91爱爱视频| 中文字幕在线观看免费高清完整版 | 人人草在线视频 | 亚洲成人黄色 | 久草在线免费资源 | 久久这里只有精品1 | 精品亚洲va在线va天堂资源站 | 九色视频网 | 国产精品自产拍在线观看中文 | 久久久久久久久免费视频 | av激情五月 | 91免费网站在线观看 | 成人小视频免费在线观看 | 日韩在线视频一区二区三区 | 视频在线观看入口黄最新永久免费国产 | 国产精品18videosex性欧美 | 久草视频一区 | 99高清视频有精品视频 | 国产一级视屏 | 国产日韩中文字幕在线 | 91在线中字 | 日韩在线观看三区 | 91热精品| 久久这里只有精品视频首页 | 在线观看久久久久久 | 99视频这里有精品 | 日本久久免费视频 | 亚洲精品国产精品久久99 | 精品久久九九 | 色七七亚洲影院 | 欧美性色19p | 在线观看国产一区二区 | 天天操天天射天天 | 一区在线免费观看 | 国产精品免费在线播放 | 日韩一级成人av | 精品一区在线看 | 久久久久欧美精品 | 亚洲午夜久久久影院 | 久久99深爱久久99精品 | 免费看麻豆 | 狠狠干天天操 | 久久久精品视频网站 | www黄色| 国产不卡一区二区视频 | 最近2019年日本中文免费字幕 | 国产精品精品久久久久久 | 精品一区二区免费 | 日韩一级成人av | 日韩美精品视频 | 精品国产一区二区三区久久影院 | 免费三级av | 日韩高清不卡一区二区三区 | 五月天婷婷在线观看视频 | 91人人澡人人爽人人精品 | 久久人人爽爽人人爽人人片av | 国产又粗又猛又色又黄网站 | 精品国产观看 | 欧美日韩中文视频 | 色噜噜在线观看视频 | 探花视频网站 | 精品视频免费看 | 亚洲乱码精品久久久 | 天天射天天射 | 婷婷亚洲五月 | 国产欧美综合在线观看 | 色婷婷精品大在线视频 | 国产精品igao视频网入口 | 狠狠综合久久av | 成人在线黄色电影 | 国产自制av | 欧美一级特黄高清视频 | 99精品久久99久久久久 | www.com.日本一级 | 成人久久免费 | 久久人人爽视频 | 午夜精品一区二区三区免费视频 | 国产精品久久久久久久免费 | 亚洲国产大片 | 免费高清无人区完整版 | 在线成人免费电影 | 色综合在 | 99久久久久久 | 久久久精品99 | 一级片免费视频 | av在线播放中文字幕 | 国产91免费观看 | 51精品国自产在线 | 99亚洲国产| 国产精品乱码久久久久久1区2区 | 天堂在线视频中文网 | 亚洲理论电影网 | 国产精品24小时在线观看 | 国产特级毛片 | 在线免费色 | 国产区在线看 | 色视频在线| 精品99免费 | 日韩在线电影一区 | 最近日韩免费视频 | 狠狠狠狠干 | 香蕉成人在线视频 | av黄色亚洲 | 国产99久久精品一区二区永久免费 | 久久五月婷婷综合 | 日韩视频中文字幕在线观看 | 黄污网 | 日韩av男人的天堂 | 91日韩在线视频 | 精品网站999www | 亚洲高清国产视频 | 丁香激情视频 | 国产视频亚洲视频 | 亚洲国产精品成人女人久久 | 久久国产精品一区二区三区四区 | av夜夜操 | 97超碰人人干 | www.狠狠插.com | 日韩免费一二三区 | 久久精品视频日本 | 久久草在线精品 | 久久热亚洲 | 精品久久片 | 日日夜夜操av| 91系列在线 | 色婷婷av一区 | 日韩在线视频一区二区三区 | 黄色天堂在线观看 | 国产在线观看99 | av电影不卡在线 | 国产 av 日韩| 超碰人人超 | 亚洲免费精品一区二区 | 在线观看黄网站 | 国产一区播放 | 日韩在线观看你懂得 | 久亚洲 | 97超碰人人模人人人爽人人爱 | 992tv人人网tv亚洲精品 | 五月激情丁香图片 | 欧美一区在线观看视频 | 波多野结衣在线播放一区 | av高清免费 | 丁香六月婷婷开心婷婷网 | 国产精品国产毛片 | 毛片永久新网址首页 | 国产又粗又硬又爽视频 | 日韩啪啪小视频 | www.久久久.com | 久久久69| 亚洲免费公开视频 | 97在线视 | 国产手机在线 | 亚洲电影第一页av | 操操综合| 欧美日韩激情视频8区 | 麻豆成人在线观看 | 蜜臀av.com| 免费观看www小视频的软件 | 极品国产91在线网站 | 欧美成年网站 | 久久免费毛片视频 | 日日草天天干 | 天天干天天天 | 五月婷婷视频在线观看 | 99热手机在线观看 | 韩国一区二区三区视频 | 探花视频免费在线观看 | www.黄色片.com | 黄色av电影一级片 | 视频在线观看91 | 视色网站 | 亚洲免费在线 | 中文在线字幕免 | 天天做日日做天天爽视频免费 | 波多野结衣电影一区二区 | 99精品国产福利在线观看免费 | 激情黄色av | 亚洲综合网站在线观看 | 国内成人综合 | 安徽妇搡bbbb搡bbbb | 91精品久久香蕉国产线看观看 | 国内精品久久久久久久久久久 | 一区二区视频免费在线观看 | 国产精品99久久久久人中文网介绍 | 国产日韩精品在线观看 | 欧美色就是色 | 91尤物在线播放 | 午夜精品久久久久久久99婷婷 | 国产一区二区不卡在线 | 亚洲高清精品在线 | 亚洲自拍偷拍色图 | 久草在线在线精品观看 | 亚洲精品动漫成人3d无尽在线 | 久久伦理电影网 | 欧美91片 | 亚洲激情小视频 | h网站免费在线观看 | 91少妇精拍在线播放 | 国产伦精品一区二区三区无广告 | 亚洲一区黄色 | 国产精品视频不卡 | 麻豆视频免费入口 | 亚洲乱亚洲乱亚洲 | 成年人在线免费看视频 | 波多野结衣动态图 | 国产精品a久久 | 日日碰狠狠添天天爽超碰97久久 | 免费观看av | 天天干中文字幕 | 国产手机免费视频 | 欧美一区二区三区在线播放 | 免费在线激情电影 | 免费视频一二三 | 国产免费亚洲高清 | 欧美精品久久久久久久久久久 | 高清av影院 | 亚洲成人资源在线 | 色婷婷丁香 | 国产伦精品一区二区三区四区视频 | 亚洲精品xxx | 91传媒在线看| 一区二区三区免费看 | 亚洲极色 | 午夜久久久久久久 | 18国产精品白浆在线观看免费 | 韩国av一区二区 | 女人18毛片a级毛片一区二区 | 在线观看国产高清视频 | 亚洲婷婷网 | 国产在线国偷精品产拍 | 五月婷婷中文字幕 | 人人爱人人舔 | 在线观看亚洲精品视频 | 国产精品不卡av | 国产日韩欧美综合在线 | 婷色在线| 精品自拍sae8—视频 | 亚洲精品视频中文字幕 | 黄色大片网 | 最近中文字幕大全 | 丁香在线视频 | 欧美色图狠狠干 | 国产69精品久久app免费版 | 成人在线黄色电影 | 亚洲国产中文在线观看 | 日本性xxxxx 亚洲精品午夜久久久 | 亚洲第一伊人 | 日韩中文字幕免费视频 | 天天插日日操 | 97视频免费观看 | av一区二区三区在线观看 | 人人爽人人插 | 国产视频资源在线观看 | 国产精品久久久久9999吃药 | 五月天激情视频在线观看 | 亚洲最新av在线网站 | 天天要夜夜操 | 在线网站黄 | 欧美日韩精品免费观看视频 | 日韩欧美在线第一页 | 国产精品中文字幕在线观看 | 天天干天天摸天天操 | 91久久精品日日躁夜夜躁国产 | a在线视频v视频 | 国产中文字幕在线看 | www.久久久.cum| 亚洲视频中文 | 91天天视频| 亚洲激情精品 | 人人爽人人爽 | 久久婷婷亚洲 | 日韩大片在线观看 | 亚洲一级片免费观看 | 99精品国产一区二区三区不卡 | 精品国产精品久久一区免费式 | 国产免费三级在线观看 | 又黄又爽免费视频 | 99精品在线免费 | 国产亚洲精品久久久久久移动网络 | 五月激情丁香 | 天天操导航 | 成人av免费看 | 久草在线官网 | 98涩涩国产露脸精品国产网 | 欧美 日韩 成人 | 国产香蕉久久精品综合网 | 欧洲成人av | 色噜噜狠狠狠狠色综合久不 | 亚洲精品在线国产 | 国产精品久久久久久久久久久不卡 | 欧美日韩精品免费观看视频 | 91精品国产自产91精品 | 在线国产精品视频 | 日本不卡视频 | 国产精品午夜在线 | 天堂资源在线观看视频 | 欧美性受极品xxxx喷水 | 亚洲综合欧美日韩狠狠色 | av黄网站| 欧美另类高清 videos | 国产一级在线免费观看 | 精品夜夜嗨av一区二区三区 | 中文字幕av免费 | 久久婷婷国产色一区二区三区 | 六月天综合网 | 香蕉在线视频观看 | 亚洲国产午夜视频 | 五月婷婷网站 | 天天操 夜夜操 | 在线一区二区三区 | 国产精品综合久久久久 | 天天爽天天爽夜夜爽 | 色噜噜色噜噜 | 天天爽夜夜爽人人爽曰av | 精品一区电影 | 一个色综合网站 | 9999在线视频 | 国产在线欧美日韩 | 国产一区av在线 | 久久福利电影 | 日韩欧美aaa| 黄色精品久久久 | 中文字幕91在线 | 国产小视频福利在线 | 日韩精品视频免费在线观看 | 欧美日韩午夜在线 | 免费观看全黄做爰大片国产 | 欧美淫aaa免费观看 日韩激情免费视频 | 欧美最爽乱淫视频播放 | www.eeuss影院av撸 | 91av视屏 | 国内久久精品 | 久久国产免费 | 亚洲国产精品99久久久久久久久 | 精品成人免费 | 色黄www小说 | 91麻豆精品国产91久久久更新时间 | 手机在线观看国产精品 | 特黄免费av | 久久午夜免费视频 | 国产成人一区二区三区 | 91av99| 亚洲不卡在线 | av电影一区二区三区 | 国产精品久久久久9999吃药 | 最近中文字幕 | 嫩草91影院 | 91免费看黄 | www视频在线观看 | 人人搞人人干 | 天天天插| 亚洲国产精品激情在线观看 | 免费看片日韩 | 国产黄色精品在线 | 超级碰碰碰免费视频 | 久久久久久草 | 久久影院一区 | 日日夜夜91 | 亚洲三级在线免费观看 | 手机色站 | 九九热精品视频在线播放 | 天天干天天操天天搞 | 日本特黄一级片 | 亚洲欧美国产精品va在线观看 | 天天干人人 | 激情综合啪 | 在线激情影院一区 | 91九色视频网站 | 久久精品国产美女 | 色综合久久久久久久 | 五月天视频网 | 日韩欧美一区二区三区在线 | 欧美日在线观看 | 五月婷婷色 | 欧美日韩国产一区二区三区 | 国产精品中文字幕av | 色多多视频在线 | 丁香网五月天 | 亚洲成人影音 | 三级黄免费看 | 久久久一本精品99久久精品66 | 国产九色视频在线观看 | 国产日韩高清在线 | 精品国产伦一区二区三区观看体验 | 亚洲欧美偷拍另类 | 狠狠躁日日躁狂躁夜夜躁 | 国内精品久久久久 | 免费三级av | 国产成人av网站 | 片网站 | 91精品区 | 日本精品在线看 | 国产一二三在线视频 | 国产精品久久久久亚洲影视 | 色综合中文综合网 | 欧洲亚洲精品 | 国产精品久久久久aaaa九色 | 日韩精品五月天 | 精品国产免费人成在线观看 | 国产剧情一区二区在线观看 | 成年人电影免费在线观看 | 欧美久久久久久久久中文字幕 | 亚洲天堂免费视频 | 在线超碰av | 精品国产福利在线 | 国产视频97 | 手机在线永久免费观看av片 | 国产成人精品一区二区在线观看 | 国产亚洲精品久久 | 天天操天天操天天 | 探花视频在线观看+在线播放 | 免费av影视| 国产精品99久久久久的智能播放 | 色偷偷888欧美精品久久久 | 日韩成人精品一区二区三区 | 久草五月 | 在线观看深夜福利 | 久久精品一二三区 | 99久久婷婷国产精品综合 | 欧美在线视频第一页 | 国产精华国产精品 | 国产999久久久 | 最近日本字幕mv免费观看在线 | 国产精品成人免费精品自在线观看 | 天天操天天能 | 成人久久久电影 | 国产69精品久久久久99 | 久亚洲| 国产日产精品一区二区三区四区 | 欧美一区二区在线刺激视频 | 我要色综合天天 | 九九交易行官网 | 国产亚洲va综合人人澡精品 | 国产免费又爽又刺激在线观看 | 成人免费观看完整版电影 | 在线免费国产 | 九色91av | 亚洲国产精品久久久久婷婷884 | 亚洲电影黄色 | 久久精品国产美女 | 成人精品一区二区三区电影免费 | 国产在线高清精品 | 狠狠色综合网站久久久久久久 | 狠狠狠色丁香婷婷综合久久五月 | 成人精品国产免费网站 | 少妇bbbb搡bbbb桶 | 国产无遮挡又黄又爽馒头漫画 | 亚洲综合网站在线观看 | 日韩av免费观看网站 | 亚洲国产欧美在线人成大黄瓜 | 偷拍福利视频一区二区三区 | av久久在线| 国产视频一区二区在线观看 | 久久激情婷婷 | 国产成人免费网站 | 国产一区二区免费在线观看 | 伊人热| 成人网444ppp | 亚洲高清在线视频 | 91精品国产综合久久婷婷香蕉 | 日韩精品高清不卡 | 国内精品久久久精品电影院 | 国产精品视频不卡 | 久久99精品视频 | 久久综合狠狠综合 | 亚洲精品午夜久久久久久久 | 久久在线观看 | 色在线中文字幕 | 国产亚洲在线 | 伊人影院得得 | 久久免费观看少妇a级毛片 久久久久成人免费 | 日本特黄特色aaa大片免费 | 日韩中文字幕第一页 | 久久免费福利 | 天天色宗合 | 久久午夜电影 | 国产一区久久 | 日韩一区二区免费视频 | 久久激情视频免费观看 | 日韩一级电影在线观看 | 日韩成人中文字幕 | 四虎在线免费观看视频 | 91麻豆福利 | 亚洲一区二区麻豆 | 香蕉视频色 | 精品一区 在线 | 久久国产一区二区 | 午夜丰满寂寞少妇精品 | 国产黄色精品在线 | 色婷婷视频在线 | 青草草在线视频 | 日本公妇在线观看 | av丁香花| 一区二区三区污 | 四虎影视成人 | 亚洲毛片一区二区三区 | 久草免费在线视频观看 | 97在线观看免费 | 久久av免费| 久久系列| 青青久草在线视频 | 成人免费视频网址 | 四虎国产免费 | 一本一本久久a久久精品牛牛影视 | av爱干| 韩日电影在线 | 97av视频在线观看 | 丁香六月婷婷开心婷婷网 | 中文在线免费观看 | 狠狠狠狠狠狠干 | av无限看 | 天天操福利视频 | 精品久久在线 | 五月婷婷视频在线 | 丰满少妇在线观看资源站 | 国产视频精品久久 | 香蕉视频4aa | 91麻豆.com| 亚洲 欧洲av | 免费三级网 | 成人啪啪18免费游戏链接 | 一级片视频在线 | 香蕉免费在线 | 精品美女久久久久久免费 | 日韩国产高清在线 | 免费av观看网站 | 久草免费在线 | 久久久亚洲麻豆日韩精品一区三区 | 最近中文字幕高清字幕在线视频 | 亚洲成人黄色av | 亚洲精品乱码久久久久v最新版 | 亚洲欧洲中文日韩久久av乱码 | 国内精品久久久久久久久久清纯 | 日本中文字幕网 | 成年美女黄网站色大片免费看 | 国产h片在线观看 | 国产三级国产精品国产专区50 | 中文字幕日本在线 | 久草在线 | 国产精品久久久久久欧美 | 91自拍视频在线观看 | 久久久精品欧美一区二区免费 | 亚洲欧美怡红院 | 久久超碰免费 | 欧美午夜精品久久久久 | 97免费在线观看视频 | 国内外成人免费在线视频 | 天天激情天天干 | 亚洲理论在线观看 | 欧美另类z0zx | 丁香久久五月 | 18做爰免费视频网站 | 夜夜躁日日躁狠狠久久av | 在线观看免费视频 | 天天干,狠狠干 | 国产精品久久久久久高潮 | 中文字幕日韩电影 | 日日夜夜精品视频天天综合网 | 一区 二区电影免费在线观看 | 中文字幕999 | 中文字幕 影院 | 日韩69av | 国产一级电影在线 | av色影院| 国产成人免费观看 | 永久免费毛片在线观看 | 久久激情片 | 麻豆一级视频 | 国产区精品在线 | 深爱五月激情五月 | 中文字幕专区高清在线观看 | 国产99久久久欧美黑人 | 国产成人一级 | 午夜精品久久久久99热app | 日韩精品免费在线观看 | 国产一级片观看 | 久久看片 | 精品成人在线 | 欧美日韩国产mv | 在线看中文字幕 | 亚洲精品无 | 91免费在线| 在线观看免费av网 | 日韩欧美极品 | 成人网在线免费视频 | 亚洲三级黄色 | 欧洲高潮三级做爰 | 国产高清免费av | 毛片网站在线 | 人人玩人人添人人澡97 | 欧美日本中文字幕 | 久久成人综合 | 国产精品久久久久久久久久久久 | 欧美最爽乱淫视频播放 | 黄色在线小网站 | 成人小视频在线播放 | 国产成人免费网站 | 成人资源在线 | 黄色网中文字幕 | 在线黄色av| 色香蕉视频 | 国产成人99久久亚洲综合精品 | 亚洲精品乱码久久久久久高潮 | 在线观看视频免费播放 | 国产精品久久久久久久久免费看 | 9在线观看免费高清完整版 玖玖爱免费视频 | 国产精品日韩在线观看 | 四虎小视频 | 久草在线 | 日本中文字幕在线播放 | 人人爽网站| 久久不卡日韩美女 | 日日日天天天 | 99在线观看精品 | 日本黄色特级片 | 天天干中文字幕 | 成 人 免费 黄 色 视频 | 99精品视频在线观看视频 | 激情亚洲综合在线 | 午夜视频在线观看网站 | 久久久精品亚洲 | 免费看黄在线网站 | 最近中文字幕mv | 欧美 日韩 国产 成人 在线 | 免费激情网| 国产精品日韩在线播放 | 成人免费 在线播放 | 一区二区观看 | av在线h | 国产九九九视频 | 少妇bbbb| 99视频在线精品免费观看2 | 国产女教师精品久久av | 免费三级骚 | 久久国产精品久久久久 | 婷婷免费视频 | 国产a国产a国产a | 在线观看黄色国产 | 国产黄色片网站 | 天天综合日 | 日日草夜夜操 | 婷婷综合激情 | 国产一区二区在线免费观看 | 五月激情婷婷丁香 | 蜜臀av麻豆 | 久久精品综合一区 | 日韩欧美一区二区在线 | 夜夜视频资源 | 欧美日韩高清一区 | 免费看国产a | 日韩中文字幕免费在线播放 | 婷婷激情五月综合 | 成年人国产视频 | 麻豆视频在线播放 | 国产视频在线观看免费 | 999热线在线观看 | 免费网站观看www在线观看 | 日本性生活一级片 | 天天综合网 天天 | 三级黄色片子 | 女人18毛片90分钟 | 成人a免费 | 亚州欧美精品 | 最近中文国产在线视频 | 国产日韩欧美在线免费观看 | 国产视频2区 | 在线观看av国产 | 日韩免费视频线观看 | 久99精品| 亚洲久草在线视频 | 欧美一级片在线免费观看 | 久久影院中文字幕 | 永久av免费在线观看 | 色视频在线 | 国产精品久久久久av免费 | 久久夜色精品国产欧美乱 | 国产淫片 | 免费久久99精品国产婷婷六月 | 国产成人精品在线观看 | 可以免费看av | 一级电影免费在线观看 | 狠狠色狠狠色 | 特级免费毛片 | 成人免费观看在线视频 | 午夜精品久久久久久久99水蜜桃 | 亚洲黄色在线播放 | 色婷婷狠狠五月综合天色拍 | 日日干夜夜骑 | 亚洲一区日韩 | 人人狠| 国产一区精品在线 |