jsp的基本語法(3個指令,6個動作,9大內建物件)
阿新 • • 發佈:2019-01-30
1.小指令碼(可以書寫java程式碼,相當於servlet)
<%
java 程式碼
request.getParameter("name");
%>
2.表示式<%=2+3%>等價於out.print(2+3)
注:只能獲取當前頁面的值,${ }這個是el表示式
可以從上下文中得到值
//在頁面中獲取到或者定義了值
<%
//區域性變數
int i=100;
%>
//才能取到
<%=i%>
3.宣告
<%! %>表示在類中定義全域性成員和靜態方法
<%!
//全域性變數
int a=77;
public void chengyuan(){
}
%>
4.jsp註釋
jsp註釋:<%–被註釋的內容–%>特點:安全,省流量
網頁註釋:<!--網頁註釋-->
特點:不安全,廢流量
5.jsp的3個指令
jsp指令是為jsp引擎設計的,它們並不直接產生任何可見輸出,而只是告訴引擎如何處理jsp頁面中的其餘部分
在jsp2.0中共定義了三個指令:
page指令:用來定義JSP檔案中的全域性屬性.
Include指令:匯入專案中已存在的檔案
靜態包含:把其他資源包含到當前頁面中
//在翻譯時把兩檔案合併
<%@ include file ="/header.jsp"%>
動態包含:
//不會合並檔案,當代碼執行到include時,才包含另一個檔案的內容
<jsp:include page="header.jsp"></header.jsp>
taglib指令:是定義一個標籤庫以及其自定義標籤的字首.
作用:在jsp頁面中jstl標籤庫,替換jsp中java程式碼片段
<%@ taglib url="http://java.sun.com/jsp/jstl/core" prefix="c"%>
6.jsp的6個動作
<jsp:include>//動態包含
<jsp:forward>//請求轉發
<jsp:param>//設定請求引數
<jsp:useBean>//建立一個物件
<jsp:setProperty>//給指定的物件屬性賦值
<jsp:getProperty>//取出指定物件的屬性值
<%
Student stu=new Student();
stu.setName("tom");
out.print(stu.getName());
request.getRequestDispatcher("/login1.jsp?name='tom'").forward(request,response);
%>
<jsp:useBean id="stu1" class="com.demo.Student"></jsp:useBean><%--new一個物件 --%>
<jsp:setProperty property="name" name="stu1" value="lisi"/><%--給name屬性賦值 --%>
<jsp:getProperty property="name" name="stu1"/><%--取得name屬性的值 --%>
<jsp:forward page="/login1.jsp"><%--請求轉發 --%>
<jsp:param value="tom" name="name"/><%--設定請求引數 --%>
</jsp:forward>
7.jsp的9個內建物件
request 請求物件 型別 javax.servlet.ServletRequest 作用域 Request
response 響應物件 型別 javax.servlet.SrvletResponse 作用域 Page
pageContext 頁面上下文物件 型別 javax.servlet.jsp.PageContext 作用域 Page
session 會話物件 型別 javax.servlet.http.HttpSession 作用域 Session
application 應用程式物件 型別 javax.servlet.ServletContext 作用域 Application
out 輸出物件 型別 javax.servlet.jsp.JspWriter 作用域 Page
config 配置物件 型別 javax.servlet.ServletConfig 作用域 Page
page 頁面物件 型別 javax.lang.Object 作用域 Page
exception 例外物件 型別 javax.lang.Throwable 作用域 page
8.四大域物件
PageContext:pageContext存放的資料在當前頁面有效,開發時使用較少
ServletRequest:request存放的資料在一次請求或轉發中有效,使用非常多
HttpSession:session存放的資料在一次會話中有效,如:存放使用者登陸資訊
ServletContext:application存放的資料在整個應用範圍內有效。