剛接觸JSP技術(shù)的時(shí)候讓我想起了在大學(xué)學(xué)的Asp+VBScript,記得當(dāng)時(shí)我還用aspstudy做了一個(gè)小的新聞發(fā)布系統(tǒng)作為期末作品,也正是在那時(shí)候在盧哥盧老師的指導(dǎo)下走向編程的道路,對(duì)編程越來越感興趣。為什么會(huì)讓我想起asp呢?因?yàn)镴sp和它還挺類似的,asp本身就是把vbscript都放在asp頁面,沒有像asp.net那樣界面與邏輯分離,這樣更加清楚。

一、工作原理與生命周期

JSP編譯之后也是一個(gè)繼承HttpServlet的類,所以也能完成HttpServlet能完成的所有事。只是工作方式和Servlet不一樣,Servlet是先編譯后部署,而jsp是先部署后編譯。jsp是一個(gè)Servlet那它的生命周期也和Servlet一樣,只是它有自己的初始化和銷毀方法。

  public void _jspInit() {}  public void _jspDestroy() {}

我們可以查看下它生成的java類是什么樣的。在工作空間下找到下面的路徑.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\HelloWorld\org\apache\jsp,會(huì)出現(xiàn)兩個(gè)文件,一個(gè)是.java文件,一個(gè)是.class文件,當(dāng)客戶端第一次請(qǐng)求時(shí)Tomcat先將test.jsp文件轉(zhuǎn)化為.java文件,并將.java文件編譯成.class文件,該.class便是jsp對(duì)應(yīng)的Servlet,編譯完之后再運(yùn)行.class文件來響應(yīng)客戶請(qǐng)求,以后客戶訪問會(huì)直接調(diào)用.class來響應(yīng),下面的代碼是.java的代碼。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn) View Code

二、JSP指令

JSP的語法這塊比較簡(jiǎn)單,就此略過。在新建jsp頁面時(shí)會(huì)在頁面的第一行會(huì)有類似下面的一