欢迎来到Java学习网!
设为首页 | 加入收藏
当前位置: 首页 > Java语言 > JSP教程 >

动态JSP页生成静态HTML代码

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

 

代码:JspFilter.java

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class JspFilter implements Filter {
public void destroy() {
// TODO 自动生成方法存根
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest hreq = (HttpServletRequest) request;
HttpServletResponse hresp = (HttpServletResponse) response;
String name = hreq.getRequestURL().substring(
hreq.getRequestURL().lastIndexOf( "/" ) + 1,
hreq.getRequestURL().lastIndexOf( "." ));
if (hreq.getRequestURL().indexOf( ".jsp" ) != -1 && ( null == hreq.getParameter( "type" ) || hreq.getParameter( "type" ).equals( "" ))) {
hresp.sendRedirect(hreq.getContextPath()+ "/conversion ?name=" +hreq.getRequestURL());
return ;
}
chain.doFilter(request, response);
}


public void init(FilterConfig arg0) throws ServletException {
// TODO 自动生成方法存根
}
}
 

相关教程
推荐内容