一、JSP是什麼
JSP全稱為Java Server Pages,是一種動態網頁開發技術。 JSP頁面里可以嵌入Java代碼,可以訪問JavaBean,可以使用JSP標籤庫,可以在JSP頁面裡面使用Java Servlet API等技術。 JSP通常運行在Web服務器上,可以和其他的Web技術(如Java Servlets,JavaBeans等)協同工作。
JSP基於Java語言和HTML標記,通過在動態頁面中嵌入Java代碼來完成網頁的動態交互,JSP允許編輯Java代碼的開發人員在頁面中嵌入動態內容,這個動態內容會在服務器上被解釋成HTML,然後在用戶的瀏覽器中顯示出來。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP示例</title>
</head>
<body>
<% String name = "World"; %>
<p>Hello, <%= name %>!</p>
</body>
</html>
二、JSP的優點與缺點
使用JSP技術,可以很方便地將 HTML 和 Java 代碼集成在一個文件中,這使得維護變得很容易。開發人員可以使用JSP創建動態,嵌入JavaBean實現業務邏輯,也可以使用JSP標籤庫實現對Java類的訪問,可以處理表單提交等基本的Web開發操作。
由於JSP源代碼與HTML代碼混合,因此維護和修改起來讓人更容易理解。可以在JSP文件中使用HTML標記,減少了學習成本,同時在網站開發中也更具可擴展性。但在JSP 中混合 HTML 和Java代碼會導致開發成本增加,因此通常不建議過多地使用Java語句。
三、JSP標籤庫
JSP標籤庫,也稱為Custom Tag Library,是為了提高在JSP頁面中編程的功能而創造的一個框架。該框架為Web開發提供了一種使用Java編寫可重複使用的組件的方法。可以自定義自己的標籤,並且很容易將它們添加到Web應用程序的JSP頁面中。使用JSP標籤庫,可以將可重複的代碼封裝成標籤,極大地減少了代碼的重複性和開發的難度。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:forEach items="${myList}" var="item">
<p><c:out value="${item}" /></p>
</c:forEach>
四、JSP的引用和包含
在JSP中,可以使用<jsp:include>
和 <%@ include%>
兩種方式實現在一個JSP中引用其他頁面的HTML代碼。前者會將目標文件插入到頁面的當前位置,後者則是將目標文件直接合併到當前文件中。
<%@ include file="header.html" %>
<p>Some text.</p>
<jsp:include page="footer.jsp" />
五、JSP的表達式和腳本
JSP表達式用於輸出Java表達式的值,對Web頁面進行渲染。在JSP中,您可以使用腳本和表達式來執行Java代碼,其中腳本是將Java代碼插入JSP中的特殊區域。
<%@ page language="java" %>
<html>
<head>
<title>JSP Scripting</title>
</head>
<body>
<%
String name = "World";
out.println("Hello, " + name);
%>
</body>
</html>
六、JSP的四種作用域
在JSP中,可以將對象保存在四種作用域中,以便在不同的頁面間傳遞數據。四種作用域是:page、request、session和application。
page作用域是指在同一個頁面內共享的數據,request作用域是在同一次請求中共享數據,session作用域是在同一用戶的多次請求之間共享的數據,application作用域是全局共享的數據。
<%@ page language="java" %>
<%
String name = "World";
request.setAttribute("name", name);
%>
<html>
<head>
<title>JSP Scopes</title>
</head>
<body>
<%
out.println("Hello, " + request.getAttribute("name"));
%>
</body>
</html>
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/293601.html