【菜鳥學Java】7:JSP的基本語法
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>JSP語法例項</title>
</head>
<!-- 下面是JSP宣告部分 -->
<%!
//宣告一個整形變數
public int count;
//宣告一個方法
public String info()
{
return "hello world!";
}
%>
<body>
<%--(1)JSP註釋例項,如本行文字外的註釋格式--%>
<!-- 對比HTML的註釋,如本行文字外的註釋格式-->
<!-- 兩種註釋方式的不同點是,HTML的註釋可以通過原始碼檢視到
但是JSP的註釋無法通過原始碼檢視到,這說明JSP註釋不會被髮送到客戶端-->
<%--(2)JSP宣告例項,見head和body標籤之間的部分--%>
<!-- JSP宣告用於宣告變數和方法。在JSP中宣告的方法看起來很特別,似乎不需要定義型別就可以
直接定義方法,方法似乎可以脫離類獨立存在。實際上,JSP宣告將會轉換成對應Servlet的
成員方法或成員變數,因此JSP宣告依然符合Java語法。-->
<%
//將count的值輸出後再加1
out.println(count++);
%>
<br/>
<%
//輸出info()方法的返回值
out.println(info());
%>
<%--(3)JSP輸出表示式例項,如下程式碼所示--%>
<!--使用表示式輸出變數值-->
<%=count++%><br/>
<!--使用表示式輸出方法返回值-->
<%=info()%>
<!--需要注意的是輸出表示式語法後面不能有分號,從執行結果來看,輸出表示式被轉換成了Servlet裡的輸出語句-->
<%--(4)JSP指令碼例項,我們在JSP指令碼里寫一個利用JDBC查詢資料庫的例子,如下--%>
<%
// 註冊資料庫驅動
Class.forName("com.mysql.jdbc.Driver");
// 獲取資料庫連線
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/shop","root","");
// 建立Statement
Statement stmt = conn.createStatement();
// 執行查詢
ResultSet rs = stmt.executeQuery("select * from category");
%>
<table bgcolor="#9999dd" border="1" width="300">
<%
// 遍歷結果集
while(rs.next())
{%>
<tr>
<!-- 輸出結果集 -->
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
</tr>
<%}%>
<table>
<!--小結一下-->
<!--以前JSP指令碼應用非常廣泛,因此JSP指令碼里面可以包含任何可執行的Java程式碼。通常來說,所有可執行的Java程式碼
都可以通過JSP指令碼嵌入HTML頁面。
但是將過多的Java指令碼放在頁面裡面,會造成產品的複雜性過高,程式程式碼難以閱讀(比如我寫的這個JSP頁面,
融合了好幾個例子,將HTML程式碼和過多的Java程式碼混在一起,是不是看起來特別亂)和維護,雖然說JSP在很多情況
下速度還是很有優勢的,但是需要我們的硬碟空間來儲存一系列的.java檔案和.class檔案,以及對應的版本檔案,這個
是一個比較麻煩的事情。
最後一點要說的是,完全用JSP技術寫成的Web應用程式,除錯起來是特別麻煩的一件事,如果
程式出錯,JSP伺服器會返回出錯資訊,並在瀏覽器中顯示。這時,由於JSP是先被轉換成Servlet後再執行的,所以,
瀏覽器中所顯示的程式碼出錯的行數並不是JSP原始碼的行數,而是指轉換後的Servlet程式程式碼的行數。 -->
<!--本篇博文到此就結束了,主要介紹了JSP的4個基本語法,探討了一下JSP的不足之處。-->
</body>
</html>
給大家看一下上面的JSP頁面的執行結果:
相關文章
- 【菜鳥學Java】6:JSP的基本原理JavaJS
- 菜鳥學Java(九)——Servlet的基本配置JavaServlet
- 菜鳥學Java(四)——JSP內建物件JavaJS物件
- 菜鳥學Java(五)——JSP內建物件之requestJavaJS物件
- JSP基本語法JS
- python菜鳥教程學習3:基礎語法Python
- 菜鳥學Java(十七)——Jboss瘦身Java
- 菜鳥學Java(十八)——異常Java
- 從菜鳥到專家的五步程式語言學習法
- 菜鳥學習筆記:Java基礎篇1(基礎語法、物件導向)筆記Java物件
- Java學習--jsp基礎語法JavaJS
- 菜鳥學Java(十六)——Jboss簡介Java
- 菜鳥學Java(十一)——GET與POSTJava
- 【菜鳥學Java】11:Session技術JavaSession
- 【菜鳥學Java】10:Cookie技術JavaCookie
- 【菜鳥學Java】4:Servlet 技術JavaServlet
- 菜鳥學Java(十四)——Java反射機制(一)Java反射
- 菜鳥學Java(十五)——Java反射機制(二)Java反射
- 菜鳥學Java(十)——分頁查詢Java
- IT菜鳥的學習生活
- Java基本語法Java
- 菜鳥初學Java的備忘錄(二) (轉)Java
- 菜鳥初學Java的備忘錄(五) (轉)Java
- 菜鳥初學Java的備忘錄(八) (轉)Java
- 菜鳥初學Java的備忘錄(七) (轉)Java
- 菜鳥初學Java的備忘錄(九) (轉)Java
- 菜鳥初學Java的備忘錄(四) (轉)Java
- 菜鳥初學Java的備忘錄(六) (轉)Java
- 菜鳥初學Java的備忘錄(十) (轉)Java
- 菜鳥初學Java的備忘錄(一) (轉)Java
- 菜鳥初學Java的備忘錄(三) (轉)Java
- java菜鳥入門Java
- 【菜鳥學Java】15:JSP技術中的Model1和Model2開發模式JavaJS模式
- 菜鳥學Java(二十三)——Java記憶體分析Java記憶體
- 【菜鳥學Java】2:初識J2EEJava
- 菜鳥學Java(六)——簡單驗證碼生成(Java版)Java
- 菜鳥的資訊保安學習之路
- 菜鳥學習寫的Ioc工具