javascript
大数据WEB阶段(十三)JSP(一)JSP基础、JSP指令详解、四大域九大隐式对象总结
JSP基礎、指令、四大作用域九大隱式對象總結
(一)JSP基礎
一、JSP概述
二、JSP原理
三、JSP基本組成結構
腳本表達式
<%= java表達式 %>腳本片段
<% 若干java代碼 %>JSP聲明
<%! %>JSP注釋
<%-- 注釋內容 --%>注意區別:
JSP腳本片段中的java注釋的內容 , 將會被翻譯到servlet中 , 但是不會執行
<% //被注釋的java代碼 %>被html注釋注釋掉的內容 , 將會被翻譯到servlet中 , 并且前后的注釋標簽被當做模板元素直接輸出 , 但是瀏覽器不會顯示 , 而注釋中的內容仍然會執行
JSP代碼 ... <% int i = 100; %> <!-- i = 0; --> <%=i %> ... 被翻譯成servlet之后 ... int i = 100; out.write("<!--"); i = 0; out.write("-->"); out.write(i); ... 結果: i 為 0 。(二)JSP指令
一、JSP指令概述
格式:
<%@ 指令名 若干屬性 %>二、指令詳解
page指令
<%@ page .... %>page指令的屬性:
!![ import=”{package.class | package.*}, …” ] 導入需要使用到的包
如:java.lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.*;注意:
指令中errorPage屬性可以為當前頁面制定錯誤提示頁面 , 但是如果整個站點的jsp頁面都需要配時會很繁瑣 , 這時可以在web.xml文件中進行統一配置
<error-page><exception-type>java.lang.Throwable</exception-type><location>/error/error.jsp</location> </error-page> <error-page><error-code>404</error-code><location>/error/404.jsp</location> </error-page> <error-page><error-code>500</error-code><location>/error/500.jsp</location> </error-page>如果配置全局友好錯誤提示頁面 又為某個jsp單獨指定過錯誤提示頁面 則單獨指定的起作用
include指令
<%@ include file="xxxx"%>taglib指令
<%@ taglib uri="" prefix="" %>(三)四大作用域九大隱式對象總結
一、四大作用域
PageContext域
主要功能
在當前JSP頁面中共享數據 , 在PageContext域中的屬性可以被整個頁面共享
設置屬性 setAttribute(String name , Object value); 獲取屬性 getAttribute(String name); 移除屬性 removeAttribute(String name);作為入口對象操作四大作用域中的數據
向指定域中添加屬性 setAttribute(String name, Object value,int scope) 獲取指定域中的指定屬性 getAttribute(String name,int scope) 移除制定域中的制定屬性 removeAttribute(String name,int scope)其pageContext中代表域的常量: PageContext.APPLICATION_SCOPE --> ServletContext域 PageContext.SESSION_SCOPE --> Session域 PageContext.REQUEST_SCOPE --> Request域 PageContext.PAGE_SCOPE --> PageContext域 額外提供了一個便捷的方法: //按照由小到大的順序搜尋四大作用域 , 查找指定名稱的屬性 , 找到則返回對應的值 , 找不到則返回null findAttribute(String name);提供了便捷的方法實現請求轉發、包含:
pageContext.forward("/index.jsp"); pageContext.include("/index.jsp");request域
主要功能:
域對象提供的方法(可以操作map中的數據)
setAttribute(String name,Object value) :用來存儲一個對象,也可以稱之為存儲一個域屬性 getAttribute(String name); 用來獲取request中的數據 removeAttribute(String name); 用來移除request中的域屬性 getAttributeNames(); 獲取所有域屬性的名稱二、九大隱式對象
九大隱式對象概述
在JSP翻譯成servlet時, JSP翻譯引擎在翻譯過來的servlet中 , 預先定義了一些變量 , 可以不需要再JSP中預先定義就可以直接使用 , 共9個 , 統稱為JSP九大隱式對象 。 分別是:
page --- 由JSP翻譯引擎翻譯出的Servlet config --- ServletConfig 當前servlet的配置信息 application --- ServletContext 當前web應用 request --- HttpServletRequest請求 response --- HttpServletResponse響應 out --- response.getWriter()得到的輸出流 , 可以通過他輸出數據 session --- HttpSession當前會話 exception --- Excception 如果將isErrorPage設置為true , 才會有一個代表當前頁面異常的對象 pageContext --- 代表當前JSP頁面pageContext對象
作為入口對象獲取其他八大隱式對象
getException方法返回exception隱式對象 getPage方法返回page隱式對象 getRequest方法返回request隱式對象 getResponse方法返回response隱式對象 getServletConfig方法返回config隱式對象 getServletContext方法返回application隱式對象 getSession方法返回session隱式對象 getOut方法返回out隱式對象獲取其他域中的數據
pageContext操作所有域中屬性的方法getAttribute(String name,int scope)setAttribute(String name, Object value,int scope) removeAttribute(String name,int scope)其中pageContext中代表域的常量:PageContext.APPLICATION_SCOPEPageContext.SESSION_SCOPEPageContext.REQUEST_SCOPEPageContext.PAGE_SCOPE findAttribute方法: 在四大域中搜尋屬性,搜尋的順序是page域、request域、session域、application域,從小域到大域開始搜索,如果搜索到就直接獲取該值,如果所有域中都找不到,返回一個null總結
以上是生活随笔為你收集整理的大数据WEB阶段(十三)JSP(一)JSP基础、JSP指令详解、四大域九大隐式对象总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据WEB阶段(十二)会话技术、Coo
- 下一篇: 大数据WEB阶段(十三)JSP(二)JS