具体实现:<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>
//----指定对应JSP的HTML名称<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的方法。分享给大家供大家参考。具体如下: 具体实现: 利用Filter的过滤功能把*.jsp过滤出来,判断是否存在对应的.html文件,如果不存在对应的.html文件,则将其内容读出写入...
JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码
jsp生成HTML静态页的小例子,简单易懂
JSP生成静态HTML页面的几种方法
java/jsp生成静态页面html/htm
java程序,让程序员编写的动态jsp最终生成静态的html,可适用,方便可以下载看看
用过滤器为JSP文件生成静态页面
把jsp、文件生成Html静态文件 内附有代码 不懂可以留言
通过动态批量生成静态页面,可使企业在对外发布服务器选择上,缩减对硬件的投资,并同时降低企业的互联网接入费用。 Engineer系统可与目前98%以上文章管理系统进行无缝结合,2%特例系统,也可通过二次编码进行整合,...
通过io输入输出流用jsp模板生成静态的html。
1、为什么要做:节省不停操作数据库的开支,减少解析JSP页面的开支 2、怎么做:很简单,就是利用文件操作,把需要的内容与现成的模板相合成再写入一个新的静态WEB页面就OK。 3、功能扩展:这里只是利用文件写出的...
JSP生成静态HTML页面的最为普遍的三种方法: 前两种比较好理解,看多自然明白,这第三种需对Filter对象进一步理解。
jsp生成html的源代码文件,放到项目中可以把动态的jsp文件转换成静态的html文档
你可以直接写一个java main方法来调用它,我的代码生成器就是这么做的. 2.freemarker 写出来的页面一般都是xml格式友好的,也就是说你可以写出很规范的xhtml,而且还可以直接使用一些xml的代码格式化工具直接美化.而且...
所有的动态页基本上都转换成了html静态页,不用访问数据库,当然反应快了。下面我们讨论一下jsp怎么转换成html??首先要做一个模板。后缀不限,但一般都用*.template例子<html><head><title>#title...
可生成静态html的珠宝购物商城源代码程序
所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过编译器统一编译,生成HTML代码。 JSP静态包含的语句为: 代码如下: <%@ include file=”...
随着WEB技术的发展,WEB内容从一些静态的页到内容丰富的动态页。对于广大WEB开发人员来讲动态页面的生成是一个挑战。有许多的方法来试图解决这个问题,如plug-in技术及基于服务器端的APIs等方法,但存在的一个问题是...
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签...