剛接觸JSP技術(shù)的時(shí)候讓我想起了在大學(xué)學(xué)的Asp+VBScript,記得當(dāng)時(shí)我還用aspstudy做了一個小的新聞發(fā)布系統(tǒng)作為期末作品,也正是在那時(shí)候在盧哥盧老師的指導(dǎo)下走向編程的道路,對編程越來越感興趣。為什么會讓我想起asp呢?因?yàn)镴sp和它還挺類似的,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文件,當(dāng)客戶端第一次請求時(shí)Tomcat先將test.jsp文件轉(zhuǎn)化為.java文件,并將.java文件編譯成.class文件,該.class便是jsp對應(yīng)的Servlet,編譯完之后再運(yùn)行.class文件來響應(yīng)客戶請求,以后客戶訪問會直接調(diào)用.class來響應(yīng),下面的代碼是.java的代碼。
View Code
二、JSP指令
JSP的語法這塊比較簡單,就此略過。在新建jsp頁面時(shí)會在頁面的第一行會有類似下面的一