jsp3個指令、6個動作、9個內置對象

servlet:服務器端的小應用程序。適合編寫java邏輯代碼,如果編寫網頁內容—痛苦。
jsp:適合編寫輸出動態內容,但不適合編寫java邏輯。

Servlet:控制器。重點編寫java代碼邏輯 (獲取表單數據、處理業務邏輯、分發轉向)
JSP:代碼顯示模板。重點在於顯示數據

腳本 <% java代碼 %>

<%      %>
表達式 <%= 2+3 %> 等價於out.print(2+3);
聲明   <%! %> 表示在類中定義全局成員,和靜態塊

註釋

JSP註釋:<%-- 被註釋的內容 --%> 特點:安全,省流量
網頁註釋:<!-- 網頁註釋 -->    特點:不安全,費流量

9個內置對象

指在JSP的<%=%> 和<% %>中可以直接使用的對象
對象名 類型 說明

request			 javax.servlet.http.HttpServletRequest	
response	 		 javax.servlet.http.HttpServletResponse	
session	 		javax.servlet.http.HttpSession						由session="true"開關
application		javax.servlet.ServletContext	
exception		   	java.lang.Throwable										由isErrorPage="false"開關
page				java.lang.Object												當前對象this				當前servlet實例
config				javax.servlet.ServletConfig	
out					 javax.servlet.jsp.JspWriter							字符輸出流,相當於 printWriter對象
pageContext	 javax.servlet.jsp.PageContext						可以通過pageContext()獲取其他的8個域對象

6個動作
使用標籤的形式來表示一段java代碼。
如: <jsp:include page=“2.jsp”></jsp:include>
<jsp:include > 動態包含
jsp:forward 請求轉發
jsp:param 設置請求參數

jsp:useBean 創建一個對象 User u=new User();
jsp:setProperty 給指定的對象屬性賦值 u.setUsername();
jsp:getProperty 取出指定對象的屬性值 u.hetUsername();

<%@ page import="com.qf.entity.Student" %> 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  
<!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>
<!-- 六個動作 -->
	<%
	Student stu=new Student();   /* 創建實例 */
	stu.setName("tom");	         /* 存值 */
	out.write(stu.getName());	/* 取值 */			  /* 轉發 */
	/* request.getRequestDispatcher("/zhuanfa.jsp").forward(request, response); */
 	%>
 	<!-- 創建實例 -->
 	<jsp:useBean id="stu1" class="com.qf.entity.Student"></jsp:useBean>
 	<jsp:setProperty property="name" name="stu1" value="admin"/>
 	<jsp:getProperty property="name" name="stu1"/>
 	<!-- 請求轉發 -->     
 	<!-- 編碼設置在轉發前 -->
 	<% request.setCharacterEncoding("utf-8");%>
	<jsp:forward page="zhuanfa.jsp">
		<jsp:param value="湯姆" name="name"/>
	</jsp:forward>
</body>
</html>

3個指令
page指令 聲明jsp頁面的屬性
Include指令 靜態包含 靜態包含只生成一個.class文件
taglib指令 導入標籤庫 JSTL <%@ taglib prefix="c" uri="---/jsp/jstl/core"%>
page指令
3個重要屬性
contextType:設置響應流編碼 contextType=“text/html; charset=utf-8”
pageEncoding:設置頁面的編碼
只設置一個的時候共用編碼,設置2個採用自己的編碼,不設置才用服務器默認編碼 ISO-8859 -1
import:導包
其他屬性:
language:當前jsp頁面可以嵌套的語言
buffer:設置jsp的緩衝大小
autoFlush:是否自動刷新
extends:聲明jsp頁面繼承那個類,必須繼承HttpServlet及其子類
session:設置jsp頁面是否使用session對象
isELIngnored:是否忽略EL表達式
errorPage:當前頁面出現異常會跳到的頁面 服務器錯誤設置跳轉的頁面 errorPage=“error.jsp”
isErrorPage:當前jsp頁面是否是錯誤頁面 true:jsp頁面內置一個對象exception

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章