jsp转换html的代码.docx

上传人:b****3 文档编号:26421627 上传时间:2023-06-19 格式:DOCX 页数:17 大小:16.94KB
下载 相关 举报
jsp转换html的代码.docx_第1页
第1页 / 共17页
jsp转换html的代码.docx_第2页
第2页 / 共17页
jsp转换html的代码.docx_第3页
第3页 / 共17页
jsp转换html的代码.docx_第4页
第4页 / 共17页
jsp转换html的代码.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

jsp转换html的代码.docx

《jsp转换html的代码.docx》由会员分享,可在线阅读,更多相关《jsp转换html的代码.docx(17页珍藏版)》请在冰豆网上搜索。

jsp转换html的代码.docx

jsp转换html的代码

packagecom.servlet;

importjava.io.IOException;

importjavax.servlet.Filter;

importjavax.servlet.FilterChain;

importjavax.servlet.FilterConfig;

importjavax.servlet.ServletException;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletResponse;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

publicclassJspFilterimplementsFilter{

publicvoiddestroy(){

//TODO自动生成方法存根

}

publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,

FilterChainchain)throwsIOException,ServletException{

HttpServletRequesthreq=(HttpServletRequest)request;

HttpServletResponsehresp=(HttpServletResponse)response;

//Stringname=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);

}

publicvoidinit(FilterConfigarg0)throwsServletException{

//TODO自动生成方法存根

}

}

ConversionServlet.java

packagecom.servlet;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.io.InputStreamReader;

importjava.io.PrintWriter;

import.HttpURLConnection;

import.URL;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

publicclassConversionServletextendsHttpServlet{

publicConversionServlet(){

super();

}

publicvoiddestroy(){

super.destroy();//Justputs"destroy"stringinlog

//Putyourcodehere

}

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

response.setContentType("text/html");

PrintWriterout=response.getWriter();

//----获取请求的URL

StringreqTarget=request.getParameter("name");

//----指定对应JSP的HTML名称

Stringname=reqTarget.substring(reqTarget.lastIndexOf("/")+1,reqTarget.lastIndexOf("."));

//---判断是否存在对应的HTML文件

Filefile=newFile(request.getRealPath("/")+name+".html");

if(!

file.exists()){//--------如果不存在对应的HTML文件

try{

file.createNewFile();//--------创建HTML文件

//-------将JSP的内容写入对应的HTML文件内

InputStreamin;

StringBuffersb=newStringBuffer("");

//----注意这里,不能直接访问请求的URL,如果直接访问的话,会陷入死循环

URLurl=new.URL(reqTarget.toString()+"?

type=11");

HttpURLConnectionconnection=(HttpURLConnection)url

.openConnection();

connection.setRequestProperty("User-Agent","Mozilla/4.0");

connection.connect();

in=connection.getInputStream();

java.io.BufferedReaderbreader=newBufferedReader(

newInputStreamReader(in,"GBK"));

StringcurrentLine;

FileOutputStreamfos=newFileOutputStream(file);

while((currentLine=breader.readLine())!

=null){

sb.append(currentLine);

fos.write(currentLine.getBytes());

}

if(null!

=breader)

breader.close();

if(null!

=fos)

fos.close();

//---------------转到与JSP对应的HTML页

response.sendRedirect(request.getContextPath()+"/"+name+".html");

}catch(Exceptione){

e.printStackTrace();

}

}else{

//----------如果存在指定的HTML,直接跳转到指定的HTML页

response.sendRedirect(request.getContextPath()+"/"+name+".html");

}

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

doGet(request,response);

}

publicvoidinit()throwsServletException{

//Putyourcodehere

}

}

web.xml

ChangeHtml

com.servlet.ChangeHtml

ChangeHtml

/changeHtml

jspfilter

com.servlet.JspFilter

jspfilter

*.jsp

conversion

com.servlet.ConversionServlet

conversion

/conversion

====================================

具体实现:

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

如果存在对应的.html文件,则直接跳转到对应的.html即可。

代码:

JspFilter.java

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.io.InputStreamReader;

import.HttpURLConnection;

import.URL;

importjavax.servlet.Filter;

importjavax.servlet.FilterChain;

importjavax.servlet.FilterConfig;

importjavax.servlet.ServletException;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletResponse;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

publicclassJspFilterimplementsFilter{

publicvoiddestroy(){

//TODO自动生成方法存根

}

publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,

FilterChainchain)throwsIOException,ServletException{

HttpServletRequesthreq=(HttpServletRequest)request;

HttpServletResponsehresp=(HttpServletResponse)response;

Stringname=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);

}

publicvoidinit(FilterConfigarg0)throwsServletException{

//TODO自动生成方法存根

}

}

ConversionServlet.java

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.io.InputStreamReader;

importjava.io.PrintWriter;

import.HttpURLConnection;

import.URL;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

publicclassConversionServletextendsHttpServlet{

publicConversionServlet(){

super();

}

publicvoiddestroy(){

super.destroy();//Justputs"destroy"stringinlog

//Putyourcodehere

}

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

response.setContentType("text/html");

PrintWriterout=response.getWriter();

//----获取请求的URL

StringreqTarget=request.getParameter("name");

//----指定对应JSP的HTML名称

Stringname=reqTarget.substring(reqTarget.lastIndexOf("/")+1,

reqTarget.lastIndexOf("."));

//---判断是否存在对应的HTML文件

Filefile=newFile(request.getRealPath("/")+name+".html");

if(!

file.exists()){//--------如果不存在对应的HTML文件

try{

file.createNewFile();//--------创建HTML文件

//-------将JSP的内容写入对应的HTML文件内

InputStreamin;

StringBuffersb=newStringBuffer("");

//----注意这里,不能直接访问请求的URL,如果直接访问的话,会陷入死循环

URLurl=new.URL(reqTarget.toString()+"?

type=11");

HttpURLConnectionconnection=(HttpURLConnection)url

.openConnection();

connection.setRequestProperty("User-Agent","Mozilla/4.0");

connection.connect();

in=connection.getInputStream();

java.io.BufferedReaderbreader=newBufferedReader(

newInputStreamReader(in,"GBK"));

StringcurrentLine;

FileOutputStreamfos=newFileOutputStream(file);

while((currentLine=breader.readLine())!

=null){

sb.append(currentLine);

fos.write(currentLine.getBytes());

}

if(null!

=breader)

breader.close();

if(null!

=fos)

fos.close();

//---------------转到与JSP对应的HTML页

response.sendRedirect(request.getContextPath()+"/"+name+".html");

}catch(Exceptione){

e.printStackTrace();

}

}else{

//----------如果存在指定的HTML,直接跳转到指定的HTML页

response.sendRedirect(request.getContextPath()+"/"+name+".html");

}

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

doGet(request,response);

}

publicvoidinit()throwsServletException{

//Putyourcodehere

}

}

WEB.XML配置:

xmlversion="1.0"encoding="UTF-8"?

>

xmlns="

xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="

jspfilter

com.beanutil.JspFilter

jspfilter

*.jsp

conversion

com.beanutil.ConversionServlet

conversion

/conversion

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1