一、 全部的程序都是在服務器端執行,不是在客戶端執行,執行完後將執行的結果返回給客戶端。也就是將一些靜態的東西發送給客戶端。執行jsp文件時,服務器將會把jsp轉換爲servlet,而後編譯爲.class文件,例如hello.jsp,將會變爲hello_jsp.java,而後轉換爲class文件,因此說jsp文件從本質上來講就是servelet。html
處理過程:java
Jsp語法:apache
二、 編譯器指令,包含在<%@ %>中,兩個主要的指令是page與includeapi
例如:<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%>數組
三、 jsp註釋<%--註釋信息--%>不會發送給客戶端,是一個隱藏註釋。tomcat
而html註釋<!—註釋信息-->會在源代碼中顯示服務器
四、 在<%java代碼%>中編寫java代碼。session
五、 Jsp聲明格式app
<%!聲明;[聲明;]……%>例如:<%! int i=0;%>,<%! int a,b,c;%>jsp
六、 在下面地址查看jsp所在文件的源代碼:
E:\apache-tomcat-6.0.32\work\Catalina\localhost\test\org\apache\jsp
七、 比較jsp聲明<%! int a=3;%>與 腳本段<% int b=3;%>的區別
在jsp寫完這兩段代碼後,在生成相應的java文件後,a將變爲成員變量,b將變爲方法中的局部變量,改變a的值將在下次訪問時改變,而b的值將不會發生變化。
八、 表達式:<%=表達式%>,等價於out.print();
<%String msg=」Hello world」%> <%=msg%>
九、 腳本段
<%任何符合java語法的代碼%>
十、 包含指令
<%@include file=」文件絕對或相對路徑」%>
十一、 Page指令
十二、 taglib指令
1三、 <jsp:forward>頁面跳轉,跳轉後將不會執行本頁面後面的代碼。例如<jsp:forward page=」」><jsp:param name=」」 value=」」>
1四、 <jsp:include>包含一個靜態或動態文件,與上面的包含命令不一樣的是,它 還能夠向被包含的頁面發送參數,使用<jsp:param>
例如:<jsp:include page=」」><jsp:param name=」」 value=」」>
1五、<jsp:useBean>用來聲明javaBean對象。
Jsp內置對象:
經常使用的內置對象:request、session、application
request: ,經常使用的方法:getParameter、
getParameterNames(得到請求參數的名字,返回Enumeration) 、getParameterValues(返回一個字符串數組,經常使用的有checkbox)
getParameter是getParameterValues方法的一個特例,表示請求參數值只有一個,若是請求參數的值有多個,請用getParameterValues方法,例如多選框。
session:保存用戶狀態信息 setAttribute、getAttribute
application:
重要方法:getRealPath:返回資源在服務器上的絕對路徑。