jsp学习笔记一
JSP腳本表達式(expression)
語法:<%= 變量或表達式 %> 表達式后面不能有分號(;)。
Jsp聲明中的java代碼被翻譯到_jspService方法的外面。
<%!?
java代碼
%>
JSP注釋的格式:
<%-- 注釋信息 --%>
JSP隱式對象的作用范圍僅限于Servlet的_jspService方法
JSP指令?
page指令
Include指令?
taglib指令
<%@ 指令 屬性名="值" %>
例如:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.Date"%>
<%@ page?
[ language="java" ]?
[ extends="package.class" ]?
[ import="{package.class | package.*}, ..." ] ?導包
[ session="true | false" ]?
[ buffer="none | 8kb | sizekb" ] 隱式對象out的大小
[ autoFlush="true | false" ]?
[ isThreadSafe="true | false" ] ? 是不繼承singleThreadModel
[ info="text" ]?
[ errorPage="relative_url" ] 必須使用相對路徑 可以在web.xml文件中使用<error-page>元素為整個WEB應用程序設置錯誤處理頁面,其中的 ? <exception-type>子元素指定異常類的完全限定名,<location>元素指定以“/”開頭的錯誤處理頁面的路徑。?
[ isErrorPage="true | false" ]?
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]?
[ pageEncoding="characterSet | ISO-8859-1" ]?
[ isELIgnored="true | false" ] ?是不支持el表達示
%>
使用page指令解決JSP中文亂碼
page指令的pageEncoding屬性說明JSP源文件的字符集編碼
include指令 靜態引入 被引入的文件的擴展名 .jspf(JSP fragments)
<%@ include file="relativeURL"%>
九大隱式對象
request
response
config
application
exception
Session
page
out
pageContext
用JSP實現文件下載
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page import="java.io.File"%><%@page import="java.io.FileInputStream"%><%@page import="java.net.URLEncoder"%><%?
??String path = application.getRealPath("/download/1.txt");
??File file = new File(path);
??
??response.setContentType("application/octet-stream");
??response.setHeader("content-disposition","attachment;filename=" + URLEncoder.encode(file.getName(),"UTF-8"));
??
??FileInputStream in = new FileInputStream(file);
??byte buffer[] = new byte[1024];
??int len = 0;
??while((len=in.read(buffer))>0){
??response.getOutputStream().write(buffer,0,len);?
??}
??
? %>
pageContext 封裝了對其它8大隱式對象的引用
pageContext對象中還封裝了訪問其它域的方法
request.setAttribute("name","request");
??name = (String)pageContext.getAttribute("name",PageContext.REQUEST_SCOPE);
findAttribute方法 ? ?查找順序 pageContext request session application
pageContext(稱之為page域) jsp執行時創建,jsp結束時銷毀
request(稱之為request域) ?請求時創建,請求結束后銷毀?
session(稱之為session域) ?servlet getSession 服務器創建, 可以設置session的失效時間,服務器銷毀
servletContext(稱之為application域) web應用啟動時創建.web停止就銷毀
PageContext類中定義了一個forward方法和兩個include方法來分別簡化和替代RequestDispatcher.forward方法和include方法
語法:<%= 變量或表達式 %> 表達式后面不能有分號(;)。
Jsp聲明中的java代碼被翻譯到_jspService方法的外面。
<%!?
java代碼
%>
JSP注釋的格式:
<%-- 注釋信息 --%>
JSP隱式對象的作用范圍僅限于Servlet的_jspService方法
JSP指令?
page指令
Include指令?
taglib指令
<%@ 指令 屬性名="值" %>
例如:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.Date"%>
<%@ page?
[ language="java" ]?
[ extends="package.class" ]?
[ import="{package.class | package.*}, ..." ] ?導包
[ session="true | false" ]?
[ buffer="none | 8kb | sizekb" ] 隱式對象out的大小
[ autoFlush="true | false" ]?
[ isThreadSafe="true | false" ] ? 是不繼承singleThreadModel
[ info="text" ]?
[ errorPage="relative_url" ] 必須使用相對路徑 可以在web.xml文件中使用<error-page>元素為整個WEB應用程序設置錯誤處理頁面,其中的 ? <exception-type>子元素指定異常類的完全限定名,<location>元素指定以“/”開頭的錯誤處理頁面的路徑。?
[ isErrorPage="true | false" ]?
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]?
[ pageEncoding="characterSet | ISO-8859-1" ]?
[ isELIgnored="true | false" ] ?是不支持el表達示
%>
使用page指令解決JSP中文亂碼
page指令的pageEncoding屬性說明JSP源文件的字符集編碼
include指令 靜態引入 被引入的文件的擴展名 .jspf(JSP fragments)
<%@ include file="relativeURL"%>
九大隱式對象
request
response
config
application
exception
Session
page
out
pageContext
用JSP實現文件下載
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page import="java.io.File"%><%@page import="java.io.FileInputStream"%><%@page import="java.net.URLEncoder"%><%?
??String path = application.getRealPath("/download/1.txt");
??File file = new File(path);
??
??response.setContentType("application/octet-stream");
??response.setHeader("content-disposition","attachment;filename=" + URLEncoder.encode(file.getName(),"UTF-8"));
??
??FileInputStream in = new FileInputStream(file);
??byte buffer[] = new byte[1024];
??int len = 0;
??while((len=in.read(buffer))>0){
??response.getOutputStream().write(buffer,0,len);?
??}
??
? %>
pageContext 封裝了對其它8大隱式對象的引用
pageContext對象中還封裝了訪問其它域的方法
request.setAttribute("name","request");
??name = (String)pageContext.getAttribute("name",PageContext.REQUEST_SCOPE);
findAttribute方法 ? ?查找順序 pageContext request session application
pageContext(稱之為page域) jsp執行時創建,jsp結束時銷毀
request(稱之為request域) ?請求時創建,請求結束后銷毀?
session(稱之為session域) ?servlet getSession 服務器創建, 可以設置session的失效時間,服務器銷毀
servletContext(稱之為application域) web應用啟動時創建.web停止就銷毀
PageContext類中定義了一個forward方法和兩個include方法來分別簡化和替代RequestDispatcher.forward方法和include方法
轉載于:https://www.cnblogs.com/retacn-yue/archive/2012/09/09/2761283.html
總結
- 上一篇: 苹果开始整治App Store恶意抄袭现
- 下一篇: RedHat Enterprise LI