JSP的本質就是一個Servlet,JSP的運行之前會先被Tomcat伺服器翻譯為.java文件,然後在將.java文本編譯為.class文件,而我們在訪問jsp時,處理請求的就是那個翻譯後的類。 1.<% %> 叫做腳本片段,其中寫的內容會翻譯在Servlet的Service方法中,顯然我們可以在 ...
JSP的本質就是一個Servlet,JSP的運行之前會先被Tomcat伺服器翻譯為.java文件,然後在將.java文本編譯為.class文件,而我們在訪問jsp時,處理請求的就是那個翻譯後的類。
1.<% %> 叫做腳本片段,其中寫的內容會翻譯在Servlet的Service方法中,顯然我們可以在Service方法中定義局部變數或者調用其他方法,但是不能
在Service中再定義其他的方法,也就是我們可以在<%%>中定義局部變數或者調用方法,但不能定義方法。在jsp頁面可以有多個腳本片段,但是多
個腳本片段之間要保證結構完整。
2.<%!%> 稱作聲明,其中寫的內容將來會直接翻譯在Servlet類中,因為我們可以在類中定義方法和屬性以及全局變數,所以我們可以在<%!%>中聲
明方法、屬性、全局變數。
3.<%=%> 稱作jsp表達式,用於將已經聲明的變數或者表達式輸出到網頁上面。
4.直接寫在jsp頁面<body></body>中的代碼稱作模板元素,將來會Servlet的Service方法中的out.write("___")中,作為輸出內容。
JSP頁面定義局部變數
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
相關方法:
request.getSchema()可以返回當前頁面使用的協議,http 或是 https;
request.getServerName()可以返回當前頁面所在的伺服器的名字;
request.getServerPort()可以返回當前頁面所在的伺服器使用的埠,就是80;
request.getContextPath()可以返回當前頁面所在的應用的名字;