溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSP技術怎樣實現(xiàn)動態(tài)頁面到靜態(tài)頁面

發(fā)布時間:2021-09-26 15:47:53 來源:億速云 閱讀:136 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關JSP技術怎樣實現(xiàn)動態(tài)頁面到靜態(tài)頁面的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

  JSP技術實現(xiàn)動態(tài)頁面到靜態(tài)頁面的方案第一:

  為了能深入淺出的理解這個框架的由來,我們首先來了解一下JSP解析器將我們寫的JSP代碼轉換成的JAVA文件的內(nèi)容。

  下面是一個JSP文件test.jsp

﹤%@pagelanguage=javacontentType=text/html;charset=GB2312%﹥
  ﹤%
  out.write(﹤!--文件開始--﹥);
  %﹥
  ﹤html﹥
  ﹤head﹥
  ﹤body﹥
  ﹤%=輸出%﹥
  ﹤/body﹥
  ﹤/head﹥
  ﹤/html﹥
  經(jīng)過Tomcat轉換出的Java文件test$jsp.java內(nèi)容如下:
  packageorg.apache.jsp;
  importjavax.servlet.*;
  importjavax.servlet.http.*;
  importjavax.servlet.jsp.*;
  importorg.apache.jasper.runtime.*;
  publicclasstest$jspextendsHttpJspBase{
  static{
  }
  publictestOutRedir$jsp(){
  }

JSP技術怎樣實現(xiàn)動態(tài)頁面到靜態(tài)頁面

privatestaticboolean_jspx_inited=false;
  publicfinalvoid_jspx_init()throwsorg.apache.jasper.runtime.JspException{
  }
  publicvoid_jspService(HttpServletRequestrequest,HttpServletResponseresponse)
  throwsjava.io.IOException,ServletException{
  JspFactory_jspxFactory=null;
  PageContextpageContext=null;
  HttpSessionsession=null;
  ServletContextapplication=null;
  ServletConfigconfig=null;
  JspWriterout=null;
  Objectpage=this;
  String_value=null;
  try{
  if(_jspx_inited==false){
  synchronized(this){
  if(_jspx_inited==false){
  _jspx_init();
  _jspx_inited=true;
  }
  }
  }
  _jspxFactory=JspFactory.getDefaultFactory();
  response.setContentType(text/html;charset=GB2312);
  pageContext=_jspxFactory.getPageContext(this,request,response,
  ,true,8192,true);
  application=pageContext.getServletContext();
  config=pageContext.getServletConfig();
  session=pageContext.getSession();
  out=pageContext.getOut();
  //為了節(jié)省篇幅,我刪除了解釋器添加的注釋
  out.write(\r\n);
  //上一句是由于
  ﹤%@pagelanguage=javacontentType=text/html;charset=GB2312%﹥后面的換行產(chǎn)生的
  out.write(﹤!--文件開始--﹥);
  out.write(\r\n﹤html﹥\r\n﹤head﹥\r\n﹤body﹥\r\n);
  out.print(輸出);
  out.write(\r\n﹤/body﹥\r\n﹤/head﹥\r\n﹤/html﹥\r\n);
  }catch(Throwablet){
  if(out!=null&&out.getBufferSize()!=0)
  out.clearBuffer();
  if(pageContext!=null)pageContext.handlePageException(t);
  }finally{
  if(_jspxFactory!=null)_jspxFactory.releasePageContext(pageContext);
  }
  }
  }

  從上面的代碼中可以清晰的看到JSP內(nèi)建的幾個對象(out、request、response、session、pageContext、application、config、page)是怎么產(chǎn)生的,懂servlet的朋友一看就能明白。

感謝各位的閱讀!關于“JSP技術怎樣實現(xiàn)動態(tài)頁面到靜態(tài)頁面”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

jsp
AI