当前位置:  编程技术>java/j2ee

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

    来源: 互联网  发布时间:2014-10-16

    本文导语:  引子:我们以两个大型网站为例作比较:51job和智联招聘(先声明我不是为他们作广告,仅以他们为例作技术上的比较)51job采用的是比较“先进”的php技术,而智联用的是比较落后的asp.但我们可能会明显的感觉到51job的反应...

引子:
我们以两个大型网站为例作比较:
51job和智联招聘(先声明我不是为他们作广告,仅以他们为例作技术上的比较)
51job采用的是比较“先进”的php技术,而智联用的是比较落后的asp.但我们可能会明显的感觉到51job的反应速度相比智联招聘实在是太慢了,为什么会这样?细心的人可能会察觉到了。智联虽然用的是asp,但他采用了另一种更巧妙的技术--asp生成静态页技术。所有的动态页基本上都转换成了html静态页,不用访问数据库,当然反应快了。
下面我们讨论一下jsp怎么转换成html??
首先要做一个模板。后缀不限,但一般都用*.template例子


#title#






#title#



作者:#author#




#content#







做一个处理模板的类或者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("以下是模板内容:
"+templateContent+"
 以下是置换以后的html内容
");
 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做模板

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 需要从数据库中动态生成的页面是该在SERVLET输出生成,还是应该在JSP编码实现?
  • 高分求jsp中动态生成图片的相关资料、生成svg格式和pdf格式的资料,不够再加分
  • 求jsp树的原代码,一定要是jsp+js+xml 执行效率要高。(从数据库中动态生成的)
  • 怎样用JSP将从树状存储结构中读取的数据在JSP页面上生成一个树状目录
  • ?100分求jsp树的原代码 最好是jsp+js+xml 执行效率要高。(从数据库中动态生成的)(散分)
  • 100分求jsp树的原代码 最好是jsp+js+xml 执行效率要高。(从数据库中动态生成的)在线
  • ******"Servlet根据JSP视图的需求生成JavaBeans的实例并输出给JSP环境"如何实现上面这句话的效果??*******
  • ?? 将jsp生成的页面保存成html ??
  • 如何把JSP生成的HTML保存在服务器端
  • Tomcat4在WIN2000下配置后,可以在IE中用localhost:8080看到TOMCAT的画面,但JSP文件并不能被解释而生成网页文件,用IE打开JSP文件时进入了
  • 为什么动态生成的图片,JSP不能动态的获得
  • jsp生成文件的问题
  • JSP最大的特点是将内容的生成和显示进行分离?
  • 采用Jsp从数据库中取得数据,来生成XML文件,进行存储,应该如何做?
  • 在JSP里面怎样动态生成变量?
  • 有谁用过jfreechart在jsp/servlet里生成过图表吗?怎么用啊?谁能帮帮我?
  • jsp中怎么做自动生成网页
  • 请问JAVA程序里如何在服务器端保存JSP生成的HTML页面
  • JSP中如何动态生成SQL语言?
  • 请问<jsp:useBean id="Message" scope="page" class="aq.tt"/>tt的类是怎么生成的?请网上的大侠送点及时雨,小弟在线等待
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3