一 JSP2.0與JSP1.2比較
JSP 2.0是對JSP 1.2的升級,新增功能:
1. Expression Language (我平常都叫EL表達式的)
2. 新增Simple Tag和Tag File
3.web.xml新增<jsp:config>元素
- 特別說明:<jsp-config> 元素主要用來設定JSP相關配置,<jsp-config> 包括<taglib>和<jsp-property-group>子元素。
-
- (1)其中<taglib>以前的Jsp1.2中就有的,taglib主要作用是作為頁面taglib標簽中的uri和tld文件的一個映射關系
-
- (2)其中<jsp-property-group>是JSP2.0種新增的元素。
- <jsp-property-group> 主要包括8個子元素,它們分別是:
-
- <jsp-property-group>
-
- <description>
- 設定的說明
- </description>
-
- <display-name>設定名稱</display-name>
-
- <url-pattern>設定值所影響的范圍</url-pattern>
-
- <el-ignored>若為true則不支持EL語法</el-ignored>
-
- <page-encoding>ISO-8859-1</page-encoding>
-
- <scripting-invalid> 若為true則不支持<% scripting%> 語法</scripting-invalid>
-
- <include-prelude>設置JSP網頁的抬頭,擴展名為.jspf </include-prelude>
-
- <include-coda>設置JSP網頁的結尾,擴展名為.jspf</include-coda>
-
- </jsp-property-group>
-
- 例如: 其中抬頭程序:
- prelude.jspf
- <br>
- <center>
- 文本內容
- </center>
- <hr>
-
- 結尾程序:
- coda.jspf
- <br>
- <center>
- 文本內容
- </center>
- <hr>
二、Servlet個版本比較
servlet 2.3 新增功能:
2000年10月份出來
Servlet API 2.3中最重大的改變是增加了filters(過濾器)
servlet 2.4 新增功能:
2003年11月份出來
1、web.xml DTD改用了XML Schema;
Servlet 2.3之前的版本使用DTD作為部署描述文件的定義,其web.xml的格式為如下所示:
xml 代碼
- <?xml version="1.0" encoding="IS0-8859-1"?>
- <!DOCTYPE web-app
- PUBLIC "-//sunMicrosystems,Inc.//DTD WebApplication 2.3f//EN"
- "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">
- <web-app>
- .......
- </web-app>
Servlet 2.4版首次使用XML Schema定義作為部署描述文件,這樣Web容器更容易校驗web.xml語法。同時XML Schema提供了更好的擴充性,其web.xml中的格式如下所示:
xml 代碼
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:workflow="http://www.workflow.com"
- xmins:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- .........
- </web-app>
注意: 改為Schema后主要加強了兩項功能:
(1) 元素不依照順序設定
(2) 更強大的驗證機制
主要體現在:
a.檢查元素的值是否為合法的值
b.檢查元素的值是否為合法的文字字符或者數字字符
c.檢查Servlet,Filter,EJB-ref等等元素的名稱是否唯一
2.新增Filter四種設定:REQUEST、FORWARD、INCLUDE和ERROR。
3.新增Request Listener、Event和Request Attribute Listener、Enent。
4.取消SingleThreadModel接口。當Servlet實現SingleThreadModel接口時,它能確保同時間內,只能有一個thread執行此Servlet。
5.<welcome-file-list>可以為Servlet。
6.ServletRequest接口新增一些方法。
public String getLocalName()
public String getLocalAddr()
public int getLocalPort()
public int getRemotePort()
Servlet 2.5的新特征
2005年9月發布Servlet 2.5
Servlet2.5一些變化的介紹:
1) 基于最新的J2SE 5.0開發的。
2) 支持annotations 。
3) web.xml中的幾處配置更加方便。
4) 去除了少數的限制。
5) 優化了一些實例
servlet的各個版本對監聽器的變化有:
(1)servlet2.2和jsp1.1
新增Listener:HttpSessionBindingListener
新增Event: HttpSessionBindingEvent
(2)servlet2.3和jsp1.2
新增Listener:ServletContextListener,ServletContextAttributeListener
,HttpSessionListener,HttpSessionActivationListener,HttpSessionAttributeListener
新增Event: ServletContextEvent,ServletContextAttributeEvent,HttpSessionEvent
(3)servlet2.4和jsp2.0
新增Listener:ServletRequestListener,ServletRequestAttribureListener
新增Event: ServletRequestEvent,ServletRequestAttributeEvent
三、J2EE規范版本比較
1.J2EE的發展
1997年Servlet技術的產生以及緊接著JSP的產生,為Java對抗PHP,ASP等等服務器端語言帶來了籌碼。1998年,Sun發布了EJB1.0標準,至此J2EE平臺的三個核心技術都已經出現。于是,1999年,Sun正式發布了J2EE的第一個版本。并與1999年底發布了J2EE1.2,在2001年發布了J2EE1.3,2003年發布了J2EE1.4。
2.J2EE1.3
J2EE1.3的架構,其中主要包含了Applet容器,Application Client容器,Web容器和EJB容器,并且包含了Web Component,EJB Component,Application Client Component,以JMS,JAAS,JAXP,JDBC,JAF,JavaMail,JTA等等技術做為基礎。
1.3中引入了幾個值得注意的功能:Java消息服務(定義了JMS的一組API),J2EE連接器技術(定義了擴展J2EE服務到非J2EE應用程序的標準),XML解析器的一組Java API,Servlet2.3,JSP1.2也都進行了性能擴展與優化,全新的CMP組件模型和MDB(消息Bean)。
3.J2EE1.4
J2EE1.4大體上的框架和J2EE1.3是一致的,1.4增加了對Web服務的支持,主要是Web Service,JAX-RPC,SAAJ,JAXR,還對EJB的消息傳遞機制進行了完善(EJB2.1),部署與管理工具的增強(JMX),以及新版本的Servlet2.4和JSP2.0使得Web應用更加容易。
四、Tomcat版本比較
Tomcat 3.x
servlet2.2和jsp1.1標準
Tomcat 4.x
Servlet 2.3 和 JSP 1.2 版本
Tomcat 5.x
Servlet 2.4或2.5 和 JSP 2.0 版本
五、JDK版本比較
已發行的版本:
版本號 名稱 中文名 發布日期
JDK 1.1.4 Sparkler 寶石 1997-09-12
JDK 1.1.5 Pumpkin 南瓜 1997-12-13
JDK 1.1.6 Abigail 阿比蓋爾--女子名 1998-04-24
JDK 1.1.7 Brutus 布魯圖--古羅馬政治家和將軍 1998-09-28
JDK 1.1.8 Chelsea 切爾西--城市名 1999-04-08
J2SE 1.2 Playground 運動場 1998-12-04
J2SE 1.2.1 none 無 1999-03-30
J2SE 1.2.2 Cricket 蟋蟀 1999-07-08
J2SE 1.3 Kestrel 美洲紅隼 2000-05-08
J2SE 1.3.1 Ladybird 瓢蟲 2001-05-17
J2SE 1.4.0 Merlin 灰背隼 2002-02-13
J2SE 1.4.1 grasshopper 蚱蜢 2002-09-16
J2SE 1.4.2 Mantis 螳螂 2003-06-26
將發行的版本:
J2SE 5.0 (1.5.0) Tiger 老虎 已發布了Beta版本
J2SE 5.1 (1.5.1) Dragonfly 蜻蜓 未發布
J2SE 6.0 (1.6.0) Mustang 野馬 未發布