SP與Servlet什么關系?JSP和ASP什么關系?下面我們一一來探討。
第一個.jsp文件:
<html>
<head>
<title>HelloWorldJSP~</title>
</head>
<body>
<%
out.println("HelloWorld");
%>
</body>
</html>
其實就是當你通過http請求一個JSP頁面是,首先Tomcat會將JSP編譯成為Servlet,然后執行Servlet.
詳細說說這個運行過程:
1, 首先web客戶端發送URL請求給Tomcat。服務器獲得請求,對請求字符串分析,如果后綴名是.jsp文件的,則Tomcat把調用JspServlet處理。JspServlet是
2, 如果JSP文件第一次被調用,則會把jsp編譯成servlet(編譯后的servlet文件在tomcat下的work文件夾中,就是那個存放類似於緩存的文件夾),如果jsp不是第一次調用則不會被編譯。Jsp文件在沒有修改的情況下,只會編譯一次。
3, Tomcat調用service()方法編譯jsp文件,創建一個.Java和.class文件。該java文件繼承自父類HttpJspBase類。

4, 創建HttpServletRequest類和HttpServletResponse類
5, 調用.java繼承父類的HttpJspBase類方法service(request,response)
6, 在service方法里面調用jspService(request,reponse)方法,渲染html返回給客戶端。
由此可見,什么是渲染?就是把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服務器做的。
