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 自动生成方法存根
}
}