現在的位置: 首頁 > 編程語言 > 正文

JSP技術怎麼實現動態頁面到靜態頁面

2020年06月08日 編程語言 ⁄ 共 2188字 ⁄ 字型大小 評論關閉

  對於JSP技術實現動態頁面到靜態頁面的方案,我們從三個步驟來說明。下面學步園小編來講解下JSP技術怎麼實現動態頁面到靜態頁面?

  JSP技術怎麼實現動態頁面到靜態頁面

  JSP技術實現動態頁面到靜態頁面的方案第一:

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

  下面是一個JSP文件test.jsp

  ﹤%@pagelanguage=javacontentType=text/html;charset=GB2312%﹥

  ﹤%

  out.write(﹤!--文件開始--﹥);

  %﹥

  ﹤html﹥

  ﹤head﹥

  ﹤body﹥

  ﹤%=輸出%﹥

  ﹤/body﹥

  ﹤/head﹥

  ﹤/html﹥

  經過Tomcat轉換出的Java文件test$jsp.java內容如下:

  packageorg.apache.jsp;

  importjavax.servlet.*;

  importjavax.servlet.http.*;

  importjavax.servlet.jsp.*;

  importorg.apache.jasper.runtime.*;

  publicclasstest$jspextendsHttpJspBase{

  static{

  }

  publictestOutRedir$jsp(){

  }
JSP技術怎麼實現動態頁面到靜態頁面
  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();

  //為了節省篇幅,我刪除了解釋器添加的注釋

  out.write(\r\n);

  //上一句是由於

  ﹤%@pagelanguage=javacontentType=text/html;charset=GB2312%﹥後面的換行產生的

  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內建的幾個對象(out、request、response、session、pageContext、application、config、page)是怎麼產生的,懂servlet的朋友一看就能明白。

  以上就是關於「JSP技術怎麼實現動態頁面到靜態頁面」的內容,希望對大家有用。更多資訊請關注學步園。學步園,您學習IT技術的優質平台!

抱歉!評論已關閉.