想使jsp变成静态html文件,从网上找到一个,可是没有注释,无从下手,希望高手帮忙看一下。文件来自于:http://www.klstudio.com/post/103.htmlimport java.io.*;
import java.net.*;public class Tools {
final static Object lock = new Object();
public static void makeHtml(String page, String filePath){
makeHtml(page,filePath,"UTF-8");
} public static void makeHtml(String page, String filePath,String chartset) {
synchronized (lock) {
HttpURLConnection huc = null;
BufferedReader br = null;
BufferedWriter bw = null;
try {
huc = (HttpURLConnection)new URL(page).openConnection();
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
System.setProperty("sun.net.client.defaultReadTimeout", "30000");
huc.connect();
InputStream stream = huc.getInputStream();
bw = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(filePath),chartset));
br = new BufferedReader(new InputStreamReader(stream, chartset));
String line;
while((line = br.readLine())!= null){
if(line.trim().length() > 0){
bw.write(line);
bw.newLine();
}
}
}catch (Exception e) {
e.printStackTrace();
}finally {
try {
br.close();
bw.close();
huc.disconnect();
}catch (Exception e) {
e.printStackTrace();
}
}
}
}
import java.net.*;public class Tools {
final static Object lock = new Object();
public static void makeHtml(String page, String filePath){
makeHtml(page,filePath,"UTF-8");
} public static void makeHtml(String page, String filePath,String chartset) {
synchronized (lock) {
HttpURLConnection huc = null;
BufferedReader br = null;
BufferedWriter bw = null;
try {
huc = (HttpURLConnection)new URL(page).openConnection();
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
System.setProperty("sun.net.client.defaultReadTimeout", "30000");
huc.connect();
InputStream stream = huc.getInputStream();
bw = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(filePath),chartset));
br = new BufferedReader(new InputStreamReader(stream, chartset));
String line;
while((line = br.readLine())!= null){
if(line.trim().length() > 0){
bw.write(line);
bw.newLine();
}
}
}catch (Exception e) {
e.printStackTrace();
}finally {
try {
br.close();
bw.close();
huc.disconnect();
}catch (Exception e) {
e.printStackTrace();
}
}
}
}
解决方案 »
- 连接Oracle 启动tomcat服务时候出现的警告
- hmailServer win2003 搭建企业邮箱 不能发送sina邮箱
- ext中的renderTo 用法
- 论坛发帖时设置样式怎么保存
- 网站框架问题 着急
- 下拉框问题,请高手帮忙,在线等。
- 请教个问题,关于struts的logic:iterator标签
- weblogic和tomcat不兼容的地方
- 如何实现这种登陆框?有兴趣的请进!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- tomcat 的连接池有什么用?需要为每一个虚拟目录都配置连接池吗?
- 急!急!急!急!急!急!急!急!急!急!急!
- jsp 中 "0000-00-00" 从数据库中取出出现错误
传参
page = 访问的URL地址,例如http://xxx.xxx.xxx/xxx.jsp
filePath = 生成的文件存放的文件夹上下文路径,例如/htmls
chartset = 字符集编码,例如GB2312
建议好好看一看JAVA的IO包API文档.
这是在servlet中的一段代码
BusinessBean bb = new BusinessBean(); //业务逻辑类
ArrayList arr = bb.getAll(); //调用方法,在方法体中从数据库里返回结果集,并把结果集封装到对象中放到ArrayList中
HttpSession session = request.getSession();
session.setAttribute("arr",arr); //向会话中添加属性,使jsp页面接收并显示结果集
Tools.makeHtml("http://localhost:8080/WebSqlTest/ShowAll.jsp","/ShowAll.html", "GB2312"); //调用生成html的方法
response.sendRedirect("ShowAll.html"); //跳转到ShowAll.html显示
可是报异常严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.ShowAll_jsp._jspService(ShowAll_jsp.java:85)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/WebSqlTest/ShowAll.jsp
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at JspToHtml.Tools.makeHtml(Tools.java:22)
at Servlet.ServletBean.doPost(ServletBean.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at JspToHtml.Tools.makeHtml(Tools.java:36)
at Servlet.ServletBean.doPost(ServletBean.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)