剛接觸JSP技術的時候讓我想起了在大學學的Asp+VBScript,記得當時我還用aspstudy做了一個小的新聞發(fā)布系統(tǒng)作為期末作品,也正是在那時候在盧哥盧老師的指導下走向編程的道路,對編程越來越感興趣。為什么會讓我想起asp呢?因為Jsp和它還挺類似的,asp本身就是把vbscript都放在asp頁面,沒有像asp.net那樣界面與邏輯分離,這樣更加清楚。
一、工作原理與生命周期
JSP編譯之后也是一個繼承HttpServlet的類,所以也能完成HttpServlet能完成的所有事。只是工作方式和Servlet不一樣,Servlet是先編譯后部署,而jsp是先部署后編譯。jsp是一個Servlet那它的生命周期也和Servlet一樣,只是它有自己的初始化和銷毀方法。
public void _jspInit() {} public void _jspDestroy() {}
我們可以查看下它生成的java類是什么樣的。在工作空間下找到下面的路徑.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\HelloWorld\org\apache\jsp,會出現(xiàn)兩個文件,一個是.java文件,一個是.class文件,當客戶端第一次請求時Tomcat先將test.jsp文件轉化為.java文件,并將.java文件編譯成.class文件,該.class便是jsp對應的Servlet,編譯完之后再運行.class文件來響應客戶請求,以后客戶訪問會直接調用.class來響應,下面的代碼是.java的代碼。
View Code
二、JSP指令
JSP的語法這塊比較簡單,就此略過。在新建jsp頁面時會在頁面的第一行會有類似下面的一