主页 > 知识库 > JSP生成静态页实践及其设计思想[转]

JSP生成静态页实践及其设计思想[转]

热门标签:Linux服务器 科大讯飞语音识别系统 阿里云 银行业务 Mysql连接数设置 服务器配置 电子围栏 团购网站
引子:
我们以两个大型网站为例作比较:
51job和智联招聘(先声明我不是为他们作广告,仅以他们为例作技术上的比较)
51job采用的是比较“先进”的php技术,而智联用的是比较落后的asp.但我们可能会明显的感觉到51job的反应速度相比智联招聘实在是太慢了,为什么会这样?细心的人可能会察觉到了。智联虽然用的是asp,但他采用了另一种更巧妙的技术--asp生成静态页技术。所有的动态页基本上都转换成了html静态页,不用访问数据库,当然反应快了。
下面我们讨论一下jsp怎么转换成html??
首先要做一个模板。后缀不限,但一般都用*.template例子
html>
head>
title>#title#/title>
meta http-equiv="Content-Type" content="text/html; charset=gb2312">
LINK href="../css.css" rel=stylesheet type=text/css>
/head>

body>
P align="center">
#title#BR>BR>BR>
作者:#author#BR>BR>
BR>
#content#BR>BR>BR>BR>
/P>
/body>
/html>
做一个处理模板的类或者jsp文件、(为说明问题我们从简单入手以一个jsp文件为例)
 filePath = request.getRealPath("/")+"WEB-INF/templates/template.htm";
 out.print(filePath);
 String templateContent="";
 FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件
 int lenght = fileinputstream.available();
 byte bytes[] = new byte[lenght];
 fileinputstream.read(bytes);
 fileinputstream.close();
 templateContent = new String(bytes);
 out.print("以下是模板内容:br>"+templateContent+"br> 以下是置换以后的html内容br>hr>");
 templateContent=templateContent.replaceAll("#title#",title);
 templateContent=templateContent.replaceAll("#author#",editer);//替换掉模块中相应的地方
 templateContent=templateContent.replaceAll("#content#",content);
 // 根据时间得文件名
 Calendar calendar = Calendar.getInstance();
 String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
 fileame = request.getRealPath("/")+fileame;//生成的html文件保存路径

 out.print(templateContent);
 FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流
 byte tag_bytes[] = templateContent.getBytes();
 fileoutputstream.write(tag_bytes);
 fileoutputstream.close();
嗯,核心技术就是这样了,如果大家要求的性能更高,可以改用freemarker做模板。
您可能感兴趣的文章:
  • JSP页面的动态包含和静态包含示例及介绍
  • jsp生成静态页面的方法
  • 用JSP生成静态页面
  • 动态JSP页生成静态HTML的方法
  • jsp中include指令静态导入和动态导入的区别详解
  • jsp实现将动态网页转换成静态页面的方法

标签:大理 广元 蚌埠 衢州 枣庄 萍乡 江苏 衡水

巨人网络通讯声明:本文标题《JSP生成静态页实践及其设计思想[转]》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266