SP與Servlet什麼關係?JSP和ASP什麼關係?下面咱們一一來探討。
第一個.jsp文件:
<html>
<head>
<title>HelloWorldJSP~</title>
</head>
<body>
<%
out.println("HelloWorld");
%>
</body>html
</html>java
其實就是當你經過http請求一個JSP頁面是,首先Tomcat會將JSP編譯成爲Servlet,而後執行Servlet.web
詳細說說這個運行過程:瀏覽器
1, 首先web客戶端發送URL請求給Tomcat。服務器得到請求,對請求字符串分析,若是後綴名是.jsp文件的,則Tomcat把調用JspServlet處理。JspServlet是緩存
2, 若是JSP文件第一次被調用,則會把jsp編譯成servlet(編譯後的servlet文件在tomcat下的work文件夾中,就是那個存放相似於緩存的文件夾),若是jsp不是第一次調用則不會被編譯。Jsp文件在沒有修改的狀況下,只會編譯一次。tomcat
3, Tomcat調用service()方法編譯jsp文件,建立一個.Java和.class文件。該java文件繼承自父類HttpJspBase類。服務器
4, 建立HttpServletRequest類和HttpServletResponse類
5, 調用.java繼承父類的HttpJspBase類方法service(request,response)
6, 在service方法裏面調用jspService(request,reponse)方法,渲染html返回給客戶端。jsp
因而可知,什麼是渲染?就是把tomcat把jsp編譯成servlet,而servlet會將以HTML格式返回給瀏覽器,這就是渲染。能夠簡單理解爲:瀏覽器能夠直接運行html文件(雙擊打開一個html文件,就能夠在瀏覽器中運行),而不能直接運行jsp文件(雙擊打開一個jsp文件,它是不能夠再瀏覽器中運行的。而若是某個jsp如index.jsp在某個工程如test中的WebContent路徑下(不能放在WEB-INF中,由於WEB-INF下的文件是不容許直接訪問的),而把test工程在tomcat服務器中運行,那麼輸入http://127.0.0.1:8080/tes/index.jsp就能夠運行,並顯示jsp頁面的內容了),因此須要經過tomcat服務器將jsp轉換成HTML格式,而後再返回給瀏覽器進行顯示。因此渲染工做時tomcat服務器作的。.net