程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JSP基礎知識

JSP基礎知識

編輯:關於JAVA
 

什麼是JSP?
JSP就是Java Server Pages,就是通過在標准的HTML頁面中嵌入Java代碼。整個頁面由兩部分組成:

靜態部分:標准的HTML標簽、靜態的頁面內容,這些內容與靜態HTML頁面相同
動態部分:受Java程序控制的內容,這些內容由Java程序來動態生成

為什麼要用JSP?
原因有二:

在Servlet中嵌入大量的靜態文本格式,導致Servlet的開發效率低,代碼難維護,而JSP就是為了解決這個問題而出現的;
工作需要,我不得不去學習,不得不會,總之,為了養家,“討生活”不易。

JSP的本質
JSP的本質還是Servlet,每個JSP頁面就是一個Servlet實例。JSP頁面由系統編譯成Servlet,Servlet再負責響應用戶請求。也就是說,JSP是Servlet的另外一種形式,使用JSP時,其實還是使用Servlet,因為Web應用中的每個JSP頁面都會由Servlet容器生成對應的Servlet,比如Tomcat,最終都是由對應的Servlet來處理用戶的請求。


JSP注釋
從最基本的注釋說起。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%-- 這裡是JSP注釋 --%>
<%
/**
*這個是多行注釋
*/
for (int i = 0; i < 3; ++i)
{
out.println("http://http://www.etwiki.cn"); // 這個是Java單行注釋
}
%>

<!-- 這個是HTML注釋 -->
</body></html>
HTML的注釋可以通過源碼查看到,但JSP的注釋是無法通過網頁源碼查看到的,也就是說JSP注釋不會被發送到客戶端。


JSP聲明
JSP聲明用於聲明變量和方法。在JSP中,我們似乎不會看到的類的直接定義,方法貌似可以獨立存在,這好像有點脫離了Java的軌跡。實際上,JSP聲明將會被轉換成對應的Servlet的成員變量或成員方法,所以JSP聲明依然是遵循著Java語法的。

JSP的聲明語法格式如下:

<%! 聲明部分 %>
例如:

<%!int i = 0;String getDefaultWebsite(){
return "http://http://www.etwiki.cn";}
%>
我們可以在生成對應的Java源碼文件中找到以下定義:

public final class greeting_jsp extends org.apache.jasper.runtime.HttpJspBaseimplements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
// 變量i對應在JSP中定義的i
private int i = 0;

// 函數getDefaultWebsite對應JSP中的getDefaultWebsite
public String getDefaultWebsite()
{
return "http://http://www.etwiki.cn";
}

// ..............}
可以很直觀的看到,JSP頁面的聲明部分被轉換成了對應Servlet的成員變量或成員方法。


輸出JSP表達式
JSP提供了一種輸出表達式值的簡單方法,可以輸出各種類型數據,具體包括int、double、boolean、String、Object等,具體格式如下:

<%= 表達式%>
例如:

<%!private int i = 0;private String defaultSite = http://www.etwiki.cn;private boolean isFinished = true;private double money = 23.45f;public String toString(){
return "輸出JSP表達式測試類";}
%>

<%-- 輸出int類型值 --%>
<%= i%>

<%-- 輸出String類型值 --%>
<%= defaultSite %>

<%-- 輸出boolean類型值 --%>
<%= isFinished %>

<%-- 輸出double類型值 --%>
<%= money %>

<%-- 輸出Object類型值 --%>
<%= this %>
當輸出Object類型的值時,會調用對應的toString方法。


JSP腳本
在JSP頁面中可以包含任何可以執行的Java代碼,所有可執行Java代碼都可以通過如下方式嵌入JSP頁面中,

<% Java代碼 %>
例如:

<%for (int i = 0; i < 3; ++i){
out.println("果凍想 - 一個原創技術文章分享網站");
%>
<br/><%} %>

<%out.println("重要的事情說三遍");
%>

總結
上一次看JSP相關內容還是大二呢,沒有想到現在又要撿起JSP了。在創業公司、互聯網公司幾乎都沒有JSP的身影了,而在傳統的銀行、電信、電力等行業,都還在大范圍的使用JSP。沒辦法,誰讓我在傳統的IT行業呢?從這篇文章起,我要開始學習並總結SSH(struts、spring和hibernate)了。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved