这篇文章给大家分享的是有关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技术怎样实现动态页面到静态页面”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.xuebuyuan.com/3295143.html