doc自动生成html,java web应用中自动生成文章html页面的实现.doc

java web应用中自动生成文章html页面的实现

java web应用中自动生成文章html页面的实现

2009-11-09 00:24:15

标签:web开发,页面转换   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。/695412/224058?我 们可能都已经注意到了,访问诸如新浪这样的大型站点的新闻时,我们会发现每一篇文章都会对应一个静态的页面,以此方式在大量并发访问时减小数据库服务器的 负担。刚开始做web应用程序时,对于这类需求感觉非常之难,且不知从何处着手。偶然的机会看到一个论坛上实现介绍这类应用实现原理的讨论,突然大悟,就 试着实现了该应用,现在正是我工作还没着落的最不如意的时期,正好边学习,边整理曾经的学习笔记,避免以后用得着的时候笔记又丢失的无影无踪。

?

原理倒也简单:在页面中以编程的方式访问一篇文章,通过拦截响应内容并写入html文件。

使用方法:只需要在添加完文章代码之后:设置相关属性(加背景色的代码需要的属性),并且使用元素或具有相同功能的代码访问servlet即可

?

注意:使用了文字背景的部分,使用时注意查看访问该servlet时是否设置了相关属性,否则servlet可能不能正常执行。

servlet 代码如下:

?

import java.io.*;import .*;

import javax.servlet.*;import javax.servlet.http.*;

public class toHtml extends HttpServlet {?private static final long serialVersionUID = 1L;??protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {???request.setCharacterEncoding("GBK");???//测试表明:通过REFERER 可以在服务器段获得发送请求的页面完整的路径信息??String send_req_url =request.getHeader("REFERER");?????//获取应用程序在服务器端文件系统的绝对路径??ServletContext context=getServletContext();????String rootRealPath=context.getRealPath("/");??????String foldPath="/m/fy/fmd";//模板文件的目录结构??String modelName="/m_article.jsp";//模板文件的名字????//构造rootPath,形如:"http://localhost:8080/AjaxTrip"??String contextStr=request.getContextPath();??String urlStr=request.getRequestURL().toString();??String rootPath=urlStr.substring(0, urlStr.indexOf(contextStr))+contextStr;//"http://localhost:8080/AjaxTrip"??????String htmlId=(String)request.getAttribute("htmlId");??String action=(String)request.getAttribute("action");??String queryStr=null;????//构造访问模板文件的url??String sourceUrl=rootPath+foldPath+modelName;????if("addArticle".equals(action)){???queryStr=(String)request.getAttribute("queryStr");??}??if(queryStr!=null){???sourceUrl=sourceUrl+"?"+queryStr;??}??/* JspToHtml :自定义类,实现依据当期日期生成响应的目录结构和文件:如:n/2009/1108/htmlId.html?? * 并且提供了将响应内容写入文件的方法:?? * */???? JspToHtml jth=new JspToHtml();???? jth.s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值