JSP基礎知識
什麼是JSP?
JavaServerPages伺服器端頁面,根本是一個簡化的Servlet設計,本質就是在HTML中插入java程式碼。
為什麼學習JSP?
克服servlet的一些缺點,補強servlet的不足,簡化動態網頁開發:
- servlet需要配置,不方便維護;
- servlet很難向網頁中輸出html頁面內容。
JSP執行原理
- JSP需要釋出到伺服器中才可以執行。
- JSP檔案被伺服器翻譯成java檔案,再由伺服器編譯生成class檔案,最後執行,jsp就是一個servlet。
JSP的指令碼元素
jsp= html+java程式碼+jsp自身東西:jsp的指令碼元素就是在jsp中嵌入java程式碼。
- JSP指令碼元素的分類
- 宣告標籤(不常用,以保證執行緒安全)
語法:<%! 變數或方法宣告 %>
,寫在這個指令碼中的程式碼,翻譯成servlet內部的成員變數或成員方法。 - 表示式標籤
語法:<%= 表示式 %>
,寫在這個指令碼中的程式碼,翻譯成方法內部的out.print()當中的內容——輸出。 - 程式程式碼標籤
語法:<% 程式程式碼 %>
,寫在這個指令碼中的程式碼,翻譯成方法內部的區域性變數或方法內部程式碼片段。
- 宣告標籤(不常用,以保證執行緒安全)
JSP的開發模式之MVC開發模式
請求轉發和響應重定向
- 請求轉發
- 請求轉發通過request物件呼叫,把請求物件和響應物件與要跳轉的地址共享:
request.getRequestDispatcher("showIP.jsp").forward(request, response);
- 響應重定向
- 響應重定向通過response物件呼叫,讓瀏覽器向重定向的地址重新傳送一次請求:
response.sendRedirect("error.jsp");
- 兩者區別
開發中的路徑問題
-
什麼時候會遇到路徑問題
展示頁面提供連結或者表單,當點選連結或者表單的時候需要進行提交,提交到servlet中,從頁面向servlet傳送請求的地址(路徑)應該如何編寫。 -
路徑分類
- 相對路徑(少用)
demo1訪問servletdemo1:
- 相對路徑(少用)
// 需返回上一級目錄情況,../代表返回上一級
<a href="../ServletDemo1">相對路徑</a>
//若在同一級目錄,直接寫檔名或者./
<a href="./ServletDemo1">相對路徑</a>
<a href="ServletDemo1">相對路徑</a>
- 絕對路徑(常用)
//絕對路徑通常以 / 開頭
//絕對路徑可以省略ip和埠號,從/工程名開始
<a href="http://localhost:8080/web02_heima/ServletDemo1">絕對路徑</a>
<a href="/web02_heima/ServletDemo1">絕對路徑</a>
絕對路徑不需要關心當前檔案與要請求檔案的相對位置關係!
絕對路徑分為伺服器端路徑和客戶端路徑:
- 客戶端路徑 需要帶工程名
- 伺服器端路徑 不需要帶工程名
相關文章
- jsp基礎-初識jspJS
- 基礎知識
- Envoy基礎知識
- DockerFile基礎知識Docker
- Webpack 基礎知識Web
- js基礎知識JS
- React基礎知識React
- 程式基礎知識
- Docker基礎知識Docker
- qml基礎知識
- Mybatis基礎知識MyBatis
- python基礎知識Python
- Hadoop基礎知識Hadoop
- webpack基礎知識Web
- AI 基礎知識AI
- Dart基礎知識Dart
- RabbitMQ基礎知識MQ
- Android基礎知識Android
- 1、基礎知識
- 前端基礎知識前端
- Camera基礎知識
- Kafka 基礎知識Kafka
- Vue基礎知識Vue
- java基礎知識Java
- linux基礎知識Linux
- PRML 基礎知識
- SpringCloud 基礎知識SpringGCCloud
- javascript基礎知識JavaScript
- python 基礎知識Python
- Laravel基礎知識Laravel
- BGP基礎知識
- Redis基礎知識Redis
- CSS基礎知識CSS
- ThinkPHP基礎知識PHP
- PHP基礎知識PHP
- Nginx基礎知識Nginx
- CSS 基礎知識 初識CSS
- LUA的基礎知識