JavaEE-9-JSP

1、JSP的四種基本語法

生成輸出內(nèi)容

  • JSP注釋:<%-- --%>
  • JSP聲明:<%! %>
  • JSP輸出表達(dá)式:<%= %>
  • JSP小腳本:<% %>

2、JSP三個編譯指令

用于通知JSP引擎

  • page:是針對當(dāng)前頁面的指令
  • include:用于指定包含另一個頁面
  • taglib:用于定義和訪問自定義標(biāo)簽
    使用上述編譯指令的格式:<%@ 編譯指令名 屬性名="屬性值" %>

3、JSP七個動作指令

動作指令表示的是JSP運行時的動作
格式:<jsp:具體的動作指令代碼 屬性名="屬性值" />

  • jsp:forward
  • jsp:param
  • jsp:include
  • jsp:plugin
  • jsp:useBean
  • jsp:setProperty
  • jsp:getProperty

下面內(nèi)容寫的很辣雞,隨便看看(上面也不怎么樣)


1、JSP原理

生命周期:

  • 編譯階段:servlet容器編譯servlet源文件,生成servlet類
  • 初始化階段:加載與JSP對應(yīng)的servlet類,創(chuàng)建其實例,并調(diào)用它的初始化方法
  • 執(zhí)行階段:調(diào)用與JSP對應(yīng)的servlet實例的服務(wù)方法
  • 銷毀階段:調(diào)用與JSP對應(yīng)的servlet實例的銷毀方法,然后銷毀servlet實例

2、簡單實例

jsp代碼塊中也可以嵌套html元素,如:
例1:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int day = 3; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<h3>IF...ELSE 實例</h3>
<% if (day == 1 | day == 7) { %>
      <p>今天是周末</p>
<% } else { %>
      <p>今天不是周末</p>
<% } %>
</body> 
</html> 

例2:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int fontSize; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<h3>For 循環(huán)實例</h3>
<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
   <font color="green" size="<%= fontSize %>">
    菜鳥教程
   </font><br />
<%}%>
</body> 
</html> 

3、使用include包含其他的JSP文件

寫兩個文件date.jspmain.jsp
date.jsp文件代碼:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<p>
   今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>

main.jsp文件代碼:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>

<h2>include 動作實例</h2>
<jsp:include page="date.jsp" flush="true" />

</body>
</html>

現(xiàn)在將以上兩個文件放在服務(wù)器的根目錄下,訪問main.jsp文件。顯示結(jié)果如下:


結(jié)果

<jsp:include page="date.jsp" flush="true" />flush="true"表示在包含資源前刷新了緩存區(qū)。

4、在JSP中使用JavaBean類

一個JavaBean類:

public class TestBean {
   private String message = "菜鳥教程";
 
   public String getMessage() {
      return(message);
   }
   public void setMessage(String message) {
      this.message = message;
   }
}

編譯以上實例文件 TestBean.java :
$ javac TestBean.java
編譯完成后會在當(dāng)前目錄下生成一個TestBean.class文件, 將該文件拷貝至當(dāng)前 JSP 項目的 WebContent/WEB-INF/classes/com/runoob/main 下( com/runoob/main 包路徑,沒有需要手動創(chuàng)建)。
下面是一個 Eclipse 中目錄結(jié)構(gòu)圖:

文件位置

接著讓我們在main.jsp文件中調(diào)用該Bean:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>

<h2>Jsp 使用 JavaBean 實例</h2>
<jsp:useBean id="test" class="com.runoob.main.TestBean" />
 
<jsp:setProperty name="test" 
                    property="message" 
                    value="菜鳥教程..." />
 
<p>輸出信息....</p>
 
<jsp:getProperty name="test" property="message" />

</body>
</html>
  • 注意上面這里<jsp:useBean id="test" class="com.runoob.main.TestBean" />表示使用使用這個JavaBean類,并且設(shè)了一個id為test(這個id后面有用)
  • 接著,
<jsp:setProperty name="test" 
                    property="message" 
                    value="菜鳥教程..." />
  • 這里的name屬性的值與之前的id相同,然后指定改變TestBean中的message屬性的值為“菜鳥教程···”
  • 注意jsp:setProperty只有在新建Bean實例時才會執(zhí)行,如果是使用現(xiàn)有實例則不執(zhí)行jsp:setProperty。

5、其他JSP元素

<jsp:forward page="相對 URL 地址" />

把請求轉(zhuǎn)到另外的頁面

6、JSP隱式對象

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JSP總結(jié)(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    91數(shù)據(jù)閱讀 3,644評論 0 13
  • 前面講了servlet入門實踐現(xiàn)在開始介紹jsp入門實踐,開發(fā)環(huán)境的搭建請參考我前面的tomcat的文章,jsp入...
    伊豚wall閱讀 3,430評論 2 56
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,692評論 18 399
  • 爬出枯草,一臉羞澀 少女的緋紅 與天空的瓦藍(lán)合謀 我與一個小姑娘陷入其中 一樹海棠紅只是序跋 正文,含在 桃花的小...
    云兒云兒閱讀 603評論 1 8
  • 笑來老師最讓我佩服的就是他的思維方式了,文章里的一些在生活中早就熟爛于心的真理,竟然能在他的文章,用另一種方式和比...
    LeMon青檸閱讀 345評論 0 0

友情鏈接更多精彩內(nèi)容