創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的成都網(wǎng)站設(shè)計、網(wǎng)站制作、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機網(wǎng)站開發(fā)等網(wǎng)站方面業(yè)務(wù)。>Jsp
? Web服務(wù)器訪問jsp的過程.
如果是第一次訪問jsp文件,web服務(wù)器會把jsp翻譯成一個servlet文件.再將其編譯成一個.class文件.然后加載到內(nèi)存.藍色的地方也是為什么java的空間要貴一些.
? Jsp的運行原理
? Jsp的語法
1.指定元素:用于從jsp發(fā)送一個信息到容器,比如設(shè)置全局變量,文字編碼,引入包.
<%@ page contentType=”text/html;charset=utf-8”%>
<%@ include file=’文件的路徑’%> 這個是引入其它的jsp文件main.jsp 注意:這里的路徑不要加 /
<%@ mytag:xx 屬性/>
2. 腳本元素:可以理解為java片段
<% java片段 %>
<%=表達式 %>
<%! Int i=90; %> 這里的i 是成員變量. 在這里還可以使用方法,
例:<%! Public int getInt(){ int i=90;return i;} %>
3. 動作元素
的作用
在開發(fā)jsp的過程,我們通常把jsp放在WEB-INF目錄下,為了防止用戶直接訪問jsp文件.在webRoot下我們有一個入口頁面,它的主要功能是轉(zhuǎn)發(fā):
: 動態(tài)引入
<%@ include file=””%> 靜態(tài)引入
相同點:把一個文件引入到另外一個文件.
區(qū)別: 靜態(tài)引入 把兩個jsp翻譯成一個servlet文件,所以被引入的文件,不能包括
動態(tài)引入: 分別把兩個jsp文件翻譯成servlet文件,可以包括
Jsp的注釋<%-- %-->
? Jsp中的九大內(nèi)置對象
pageContext也是一個域?qū)ο?也可以用setAttribute(),getAttribute().但是它的生命周期只是在本頁面有用.
Web開發(fā)的幾個模式:web-service
Web-service-dao (data access object)
這兩個模式其實就是mvc模式
通過看書的jsp的內(nèi)容
可以在WEB.xml統(tǒng)一默認的網(wǎng)頁編碼、,內(nèi)容、緩沖大小等。
*.jsp
utf-8
tect/type
16kb
也可以聲明指定的jsp的開頭和結(jié)尾包括的網(wǎng)頁
*.jsp
/WEB-INF/jspf/pre.jsp
/WEB-INF/jspf/coda.jspf
如果想禁用JSP上的Scriptlet則可以在web.xml中設(shè)置
*.jsp
true
可以通過pageContext來設(shè)置四種范圍屬性。
例如:要設(shè)置一個session的屬性
pageContext.setAttribute(“width”,”50px”,pageContext.SESSION_SCOPE);
返回
String width=
pageContext.getAttribte(“width”,pageContext.SESSION_SCOPE);
這個pageContext.SESSION_SCOPE 可以是request page application
用SESSION交換一下就可以了。
如果使用getAttribte()不知道是什么范圍屬性時,可以用
String width= pageContext.findAttribute(“width”);
想要做一個error.jsp的界面.必須要<%@ isErrorPage=”true”%>
這樣的error.jsp才可能使用exception隱式對象。才能獲取錯誤界面拋出的錯誤信息。
把錯誤信息打印出來
Exception.printStackTrace(new PrintWriter(out));
Jsp書的內(nèi)容
一些標簽
引用一個類
例:
id是cc.openhome.User這個包.類的一個實例
class是指包.類
scope 是指范圍 有session request application page(默認)
type 要轉(zhuǎn)換的接口 如 ServletRequest?轉(zhuǎn)換到HttpServletRequest
type要寫上HttpServletRequest
這個是設(shè)置User中的屬性
這個是返回User中的屬性
其中name表示JavaBean的名字,對應(yīng)useBean標簽中的id屬性;property為星號,表示不用再具體指定JavaBean屬性的值將對應(yīng)表單中的那個參數(shù),系統(tǒng)會自動根據(jù)名字進行匹配.但要求表單參數(shù)的名字必須與JavaBean中屬性的名字完全相同.
3.通過request的參數(shù)值設(shè)置
語法格式:
其中name表示JavaBean的名字,對應(yīng)useBean標簽中的id屬性;property表示要給哪個屬性設(shè)置值;param表示表單中的參數(shù)名字.此種格式通過request獲得表單中的參數(shù)值,JSP引擎自動將request獲取的參數(shù)值傳遞給JavaBean中對應(yīng)的屬性.但要求request參數(shù)名字必須與JavaBean中的屬性名字一致.
如:使用JavaBean驗證客戶身份
如果是scope= session 或 要用request傳遞的
在的中間和不在中間 是不一樣的
中間:是假如user==null的才會加入到request user!=null不會
不在中間:user==null !=null都會加入到request
與配合使用
includeAction.jsp
<%double i = Math.random();%>
//加載come.jsp //傳遞參數(shù)
可以在come.jsp中取出來
come.jsp
<%//獲得includeAction.jsp傳來的值: String str = request.getParameter("number");
double n = Double.parseDouble(str);
與配合使用
跟上面是一樣的,也是傳遞參數(shù)
Jsp
? Web服務(wù)器訪問jsp的過程.
如果是第一次訪問jsp文件,web服務(wù)器會把jsp翻譯成一個servlet文件.再將其編譯成一個.class文件.然后加載到內(nèi)存.藍色的地方也是為什么java的空間要貴一些.
? Jsp的運行原理
? Jsp的語法
1.指定元素:用于從jsp發(fā)送一個信息到容器,比如設(shè)置全局變量,文字編碼,引入包.
<%@ page contentType=”text/html;charset=utf-8”%>
<%@ include file=’文件的路徑’%> 這個是引入其它的jsp文件main.jsp 注意:這里的路徑不要加 /
<%@ mytag:xx 屬性/>
2. 腳本元素:可以理解為java片段
<% java片段 %>
<%=表達式 %>
<%! Int i=90; %> 這里的i 是成員變量. 在這里還可以使用方法,
例:<%! Public int getInt(){ int i=90;return i;} %>
3. 動作元素
的作用
在開發(fā)jsp的過程,我們通常把jsp放在WEB-INF目錄下,為了防止用戶直接訪問jsp文件.在webRoot下我們有一個入口頁面,它的主要功能是轉(zhuǎn)發(fā):
: 動態(tài)引入
<%@ include file=””%> 靜態(tài)引入
相同點:把一個文件引入到另外一個文件.
區(qū)別: 靜態(tài)引入 把兩個jsp翻譯成一個servlet文件,所以被引入的文件,不能包括
動態(tài)引入: 分別把兩個jsp文件翻譯成servlet文件,可以包括
Jsp的注釋<%-- %-->
? Jsp中的九大內(nèi)置對象
pageContext也是一個域?qū)ο?也可以用setAttribute(),getAttribute().但是它的生命周期只是在本頁面有用.
Web開發(fā)的幾個模式:web-service
Web-service-dao (data access object)
這兩個模式其實就是mvc模式
通過看書的jsp的內(nèi)容
可以在WEB.xml統(tǒng)一默認的網(wǎng)頁編碼、,內(nèi)容、緩沖大小等。
*.jsp
utf-8
tect/type
16kb
也可以聲明指定的jsp的開頭和結(jié)尾包括的網(wǎng)頁
*.jsp
/WEB-INF/jspf/pre.jsp
/WEB-INF/jspf/coda.jspf
如果想禁用JSP上的Scriptlet則可以在web.xml中設(shè)置
*.jsp
true
可以通過pageContext來設(shè)置四種范圍屬性。
例如:要設(shè)置一個session的屬性
pageContext.setAttribute(“width”,”50px”,pageContext.SESSION_SCOPE);
返回
String width=
pageContext.getAttribte(“width”,pageContext.SESSION_SCOPE);
這個pageContext.SESSION_SCOPE 可以是request page application
用SESSION交換一下就可以了。
如果使用getAttribte()不知道是什么范圍屬性時,可以用
String width= pageContext.findAttribute(“width”);
想要做一個error.jsp的界面.必須要<%@ isErrorPage=”true”%>
這樣的error.jsp才可能使用exception隱式對象。才能獲取錯誤界面拋出的錯誤信息。
把錯誤信息打印出來
Exception.printStackTrace(new PrintWriter(out));
Jsp書的內(nèi)容
一些標簽
引用一個類
例:
id是cc.openhome.User這個包.類的一個實例
class是指包.類
scope 是指范圍 有session request application page(默認)
type 要轉(zhuǎn)換的接口 如 ServletRequest?轉(zhuǎn)換到HttpServletRequest
type要寫上HttpServletRequest
這個是設(shè)置User中的屬性
這個是返回User中的屬性
其中name表示JavaBean的名字,對應(yīng)useBean標簽中的id屬性;property為星號,表示不用再具體指定JavaBean屬性的值將對應(yīng)表單中的那個參數(shù),系統(tǒng)會自動根據(jù)名字進行匹配.但要求表單參數(shù)的名字必須與JavaBean中屬性的名字完全相同.
3.通過request的參數(shù)值設(shè)置
語法格式:
其中name表示JavaBean的名字,對應(yīng)useBean標簽中的id屬性;property表示要給哪個屬性設(shè)置值;param表示表單中的參數(shù)名字.此種格式通過request獲得表單中的參數(shù)值,JSP引擎自動將request獲取的參數(shù)值傳遞給JavaBean中對應(yīng)的屬性.但要求request參數(shù)名字必須與JavaBean中的屬性名字一致.
如:使用JavaBean驗證客戶身份
如果是scope= session 或 要用request傳遞的
在的中間和不在中間 是不一樣的
中間:是假如user==null的才會加入到request user!=null不會
不在中間:user==null !=null都會加入到request
與配合使用
includeAction.jsp
<%double i = Math.random();%>
//加載come.jsp //傳遞參數(shù)
可以在come.jsp中取出來
come.jsp
<%//獲得includeAction.jsp傳來的值: String str = request.getParameter("number");
double n = Double.parseDouble(str);
與配合使用
跟上面是一樣的,也是傳遞參數(shù)
分享題目:jsp筆記-創(chuàng)新互聯(lián)
地址分享:
http://weahome.cn/article/djjjjd.html