jsp 簡單瞭解
阿新 • • 發佈:2020-12-25
快捷 test 單元測試。可以在要測試的 java 檔案內,右鍵 -> Go To -> Test,然後自動在 test 資料夾內建立測試檔案和方法。
JSP,Java Server Pages。簡化的 Servlet 設計,在 HTML 標籤中巢狀 Java 程式碼,用以高效開發 Web 應用的動態網頁。
JSP 與 Servlet。
JSP檔案在容器中會轉換成Servlet執行。
JSP是對Servlet的一種高階封裝。本質還是Servlet。
與 Servlet 相比,JSP 可以很方便的編寫或者修改 HTML 網頁而不用去面對大量的 println 語句。
基本用法。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
String str = "jsp";
// 輸出到控制檯
System.out.println (str);
%>
<%-- 拿到 str 顯示在頁面上 --%>
<h1><%= str %><h1>
<%-- 定義方法 --%>
<%!
public int add(int a, int b) {
return a + b;
}
%>
<%-- 使用方法--%>
< %= add(3,4) %>
</body>
</html>
顯示出錯提示頁面。
<%--errorPage 指定當JSP頁面發生異常時需要轉向的錯誤處理頁面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="useError.jsp" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<% int i = 100/0; %>
</body>
</html>
<%--isErrorPage 指定當前頁面是否可以作為另一個JSP頁面的錯誤處理頁面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h5>你出錯了</h5>
<%= exception.getMessage() %>
</body>
</html>
include 包含。
靜態包含,包含的檔案就好像是當前 JSP 檔案的一部分,會被同時編譯執行。
動態包含,包含的檔案先編譯,再跟當前檔案一起執行。
<%-- 靜態包含 --%>
<%@ include file="header.jsp"%>
<%-- 動態包含 --%>
<jsp:include page="index.jsp"/>
例項化物件,賦值,取值。
<jsp:useBean id="user" class="com.qf.entity.User" />
<jsp:setProperty name="user" property="name" value="gavin" />
<jsp:getProperty name="user" property="name" />
轉發。
<!-- 不帶引數 -->
<jsp:forward page="index.jsp" />
<!-- 帶引數 -->
<jsp:forward page="index.jsp">
<jsp:param name="sex" value="nan" />
</jsp:forward>
四大作用域物件,同時也是內建物件。
pageContext,javax.servlet.jsp.PageContext,當前JSP頁面範圍。
request,javax.servlet.http.HttpServletRequest,一次請求有效。
session,javax.servlet.http.HttpSession,一次會話有效(關閉瀏覽器失效)。
application,javax.servlet.ServletContext,整個 Web 應用有效(伺服器重啟或關閉失效)。
<% pageContext.setAttribute("name","zs"); %>
<%= pageContext.getAttribute("name") %>
<%-- 獲取直接請求或轉發引數值 --%>
<%= request.getParameter("name") %>
<% application.setAttribute("name","ls"); %>
<%= application.getAttribute("name") %>