1. 程式人生 > 其它 >jsp 簡單瞭解

jsp 簡單瞭解

技術標籤:java 相關javajsp


在這裡插入圖片描述

  快捷 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") %>