`

动态JSP页生成静态HTML

阅读更多

具体实现:<o:p></o:p>

         利用Filter的过滤功能把*.jsp过滤出来,判断是否存在对应的.html文件,如果不存在对应的.html文件,则将其内容读出写入指定的.html文件,再跳转到对应的.html即可。如果存在对应的.html文件,则直接跳转到对应的.html即可。<o:p></o:p>

<o:p> </o:p>

代码:<o:p></o:p>

JspFilter.java<o:p></o:p>

<o:p> </o:p>

import java.io.BufferedReader;<o:p></o:p>

import java.io.File;<o:p></o:p>

import java.io.FileOutputStream;<o:p></o:p>

import java.io.IOException;<o:p></o:p>

import java.io.InputStream;<o:p></o:p>

import java.io.InputStreamReader;<o:p></o:p>

import java.net.HttpURLConnection;<o:p></o:p>

import java.net.URL;<o:p></o:p>

<o:p> </o:p>

import javax.servlet.Filter;<o:p></o:p>

import javax.servlet.FilterChain;<o:p></o:p>

import javax.servlet.FilterConfig;<o:p></o:p>

import javax.servlet.ServletException;<o:p></o:p>

import javax.servlet.ServletRequest;<o:p></o:p>

import javax.servlet.ServletResponse;<o:p></o:p>

import javax.servlet.http.HttpServletRequest;<o:p></o:p>

import javax.servlet.http.HttpServletResponse;<o:p></o:p>

<o:p> </o:p>

public class JspFilter implements Filter {<o:p></o:p>

<o:p> </o:p>

    public void destroy() {<o:p></o:p>

        // TODO 自动生成方法存根<o:p></o:p>

    }<o:p></o:p>

<o:p> </o:p>

    public void doFilter(ServletRequest request, ServletResponse response,<o:p></o:p>

            FilterChain chain) throws IOException, ServletException {<o:p></o:p>

<o:p> </o:p>

        HttpServletRequest hreq = (HttpServletRequest) request;<o:p></o:p>

        HttpServletResponse hresp = (HttpServletResponse) response;<o:p></o:p>

<o:p> </o:p>

        String name = hreq.getRequestURL().substring(<o:p></o:p>

                    hreq.getRequestURL().lastIndexOf("/") + 1,<o:p></o:p>

                    hreq.getRequestURL().lastIndexOf("."));<o:p></o:p>

        if (hreq.getRequestURL().indexOf(".jsp") != -1 && (null == hreq.getParameter("type") || hreq.getParameter("type").equals(""))) {            <o:p></o:p>

                hresp.sendRedirect(hreq.getContextPath()+"/testservlet?name="+hreq.getRequestURL());<o:p></o:p>

                return ;<o:p></o:p>

        }<o:p></o:p>

        chain.doFilter(request, response);<o:p></o:p>

    }<o:p></o:p>

<o:p> </o:p>

    public void init(FilterConfig arg0) throws ServletException {<o:p></o:p>

        // TODO 自动生成方法存根<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

<o:p> </o:p>

ConversionServlet.java<o:p></o:p>

<o:p> </o:p>

import java.io.BufferedReader;<o:p></o:p>

import java.io.File;<o:p></o:p>

import java.io.FileOutputStream;<o:p></o:p>

import java.io.IOException;<o:p></o:p>

import java.io.InputStream;<o:p></o:p>

import java.io.InputStreamReader;<o:p></o:p>

import java.io.PrintWriter;<o:p></o:p>

import java.net.HttpURLConnection;<o:p></o:p>

import java.net.URL;<o:p></o:p>

<o:p> </o:p>

import javax.servlet.ServletException;<o:p></o:p>

import javax.servlet.http.HttpServlet;<o:p></o:p>

import javax.servlet.http.HttpServletRequest;<o:p></o:p>

import javax.servlet.http.HttpServletResponse;<o:p></o:p>

<o:p> </o:p>

public class ConversionServlet extends HttpServlet {<o:p></o:p>

<o:p> </o:p>

    public ConversionServlet () {<o:p></o:p>

        super();<o:p></o:p>

    }<o:p></o:p>

<o:p> </o:p>

    public void destroy() {<o:p></o:p>

        super.destroy(); // Just puts "destroy" string in log<o:p></o:p>

        // Put your code here<o:p></o:p>

    }<o:p></o:p>

<o:p> </o:p>

    public void doGet(HttpServletRequest request, HttpServletResponse response)<o:p></o:p>

            throws ServletException, IOException {<o:p></o:p>

<o:p> </o:p>

        response.setContentType("text/html");<o:p></o:p>

        PrintWriter out = response.getWriter();<o:p></o:p>

        //----获取请求的URL<o:p></o:p>

        String reqTarget = request.getParameter("name");<o:p></o:p>

        //----指定对应JSPHTML名称<o:p></o:p>

        String name = reqTarget.substring(reqTarget.lastIndexOf("/") + 1,<o:p></o:p>

                reqTarget.lastIndexOf("."));<o:p></o:p>

        //---判断是否存在对应的HTML文件<o:p></o:p>

分享到:
评论

相关推荐

    动态JSP页生成静态HTML的方法

    本文实例讲述了动态JSP页生成静态HTML的方法。分享给大家供大家参考。具体如下: 具体实现: 利用Filter的过滤功能把*.jsp过滤出来,判断是否存在对应的.html文件,如果不存在对应的.html文件,则将其内容读出写入...

    JSP动态生成HTML静态页面源码

    JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码

    jsp 生成 HTML 静态页实例

    jsp生成HTML静态页的小例子,简单易懂

    JSP生成静态HTML页面的几种方法

    JSP生成静态HTML页面的几种方法

    java/jsp生成静态页面html/htm

    java/jsp生成静态页面html/htm

    让jsp编程html生成静态页面,

    java程序,让程序员编写的动态jsp最终生成静态的html,可适用,方便可以下载看看

    JSP文件生成静态页面

    用过滤器为JSP文件生成静态页面

    jsp生成静态文件HTML

    把jsp、文件生成Html静态文件 内附有代码 不懂可以留言

    通用静态页面生成系统

    通过动态批量生成静态页面,可使企业在对外发布服务器选择上,缩减对硬件的投资,并同时降低企业的互联网接入费用。 Engineer系统可与目前98%以上文章管理系统进行无缝结合,2%特例系统,也可通过二次编码进行整合,...

    通过jsp模板生成html

    通过io输入输出流用jsp模板生成静态的html。

    JSP结合JavaBean生成静态页面示例

    1、为什么要做:节省不停操作数据库的开支,减少解析JSP页面的开支 2、怎么做:很简单,就是利用文件操作,把需要的内容与现成的模板相合成再写入一个新的静态WEB页面就OK。 3、功能扩展:这里只是利用文件写出的...

    JSP页面静态化最普遍用的三种

    JSP生成静态HTML页面的最为普遍的三种方法: 前两种比较好理解,看多自然明白,这第三种需对Filter对象进一步理解。

    jsp生成html文档

    jsp生成html的源代码文件,放到项目中可以把动态的jsp文件转换成静态的html文档

    jsp 静态引擎(freemarker)生成静态html案例

    你可以直接写一个java main方法来调用它,我的代码生成器就是这么做的. 2.freemarker 写出来的页面一般都是xml格式友好的,也就是说你可以写出很规范的xhtml,而且还可以直接使用一些xml的代码格式化工具直接美化.而且...

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

    所有的动态页基本上都转换成了html静态页,不用访问数据库,当然反应快了。下面我们讨论一下jsp怎么转换成html??首先要做一个模板。后缀不限,但一般都用*.template例子&lt;html&gt;&lt;head&gt;&lt;title&gt;#title...

    可生成静态html的珠宝购物商城源代码程序

    可生成静态html的珠宝购物商城源代码程序

    JSP页面的动态包含和静态包含示例及介绍

    所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过编译器统一编译,生成HTML代码。 JSP静态包含的语句为: 代码如下: &lt;&#37;@ include file=”...

    JSP技术生成动态web页面

    随着WEB技术的发展,WEB内容从一些静态的页到内容丰富的动态页。对于广大WEB开发人员来讲动态页面的生成是一个挑战。有许多的方法来试图解决这个问题,如plug-in技术及基于服务器端的APIs等方法,但存在的一个问题是...

    JSP(全称JavaServer Pages)

    JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签...

Global site tag (gtag.js) - Google Analytics