jsp渲染

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

相關文章
相關標籤/搜索