JSP文件結構

開放

2.1 JSP指令

既然我們發現JSP文件被轉換成了一個普通的servlet,那你就可以在裡面寫正常的Java代碼了。在此 Java 代碼中,您可以使用各種類(示例中的數學)。這更好!但是我們可以看到所有的代碼都被移到了一個doGet()servlet 方法中。這立即引發了幾個問題:

  • 如何使代碼移動到方法中doPost()
  • 如何將自己的代碼添加到方法中init()
  • 到底如何註冊類導入?

很好的問題,當然,他們有答案 - JSP 指令。JSP 中的所有非 HTML 代碼都必須用特殊的方括號<%%>. 所有 JSP 指令都由一個模板給出:

<%@ directive %>

以下是最流行的頁面指令屬性列表:

例子 描述
1個 進口 <%@ page import="java.util.Date" %> 導入一個類
2個 內容類型 <%@ page contentType=text/html %> 設置內容類型
3個 延伸 <%@ page extends="Object" %> 您可以設置基類
4個 信息 <%@ page info="Author: Peter Ivanovich; version:1.0" %> 為 getServletInfo() 設置數據
5個 緩衝 <%@ page buffer="16kb" %> 設置響應緩衝區的大小
6個 語言 <%@ page language="java" %> 指定語言,默認為Java
7 被忽略 <%@ page isELIgnored="true" %> 允許您禁用 EL 腳本
8個 是線程安全的 <%@ page isThreadSafe="false" %> 指向線程安全
9 自動沖洗 <%@ page autoFlush="false" %> 管理緩衝區寫入
10 會議 <%@ page session="false" %> 您可以禁用該頁面的會話
十一 頁面編碼 <%@ page pageEncoding="UTF-8"%> 可以設置頁面編碼
12 錯誤頁面 <%@ page errorPage="errorpage.jsp" %> 你可以設置一個錯誤頁面

2.2 進口

為了好玩,讓我們向 JSP 文件添加一些導入並定義一個基類。

JSP 文件示例:

<%@ page import="java.util.Date" %>
  <%@ page import="java.lang.Math" %>
  <%@ page extends="com.codegym.MyHttpServlet" %>

  <html>
  <body>
  <%
      double num = Math.random();
      if (num > 0.95) {
   %>
       <h2>You are lucky, user!</h2><p>(<%= num %>)</p>
  <%
  }
  %>
</body>
 </html>

這就是它的結果:

import java.util.Date;
import java.lang.Math;

public class HelloServlet extends com.codegym.MyHttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)  throws Exception {
    PrintWriter out = response.getWriter();
    out.print("<html>  ");
    out.print("<body> ");
        double num = Math.random();
        if (num >  0.95) {
             out.print("<h2> You're lucky, user! </h2> <p> (" + num + ")</p> ");
        }
    out.print("</body> ");
    out.print("</html> ");
    }
}

作品。偉大的!

留言
  • 受歡迎
你必須登入才能留言
此頁面尚無留言