关于静态页面的好处,我不想多阐述,但如何将动态处理的jsp页面,处理为 html静态页面。
这个问题,一直都在困扰我。
刚开始接触jsp时,本人都是在servlet中使用out输出。这个问题就出现了,不好使用css+div修饰页面,过于单调。
希望各位高手指点一二。
如果有这个包就更好~~ 万分感谢!
24 个解决方案
#1
freemark
#2
上面的打错了,像FreeMarker这样的模板语言都可以的
#3
up...
#4
听说过Html页面可以转为Jsp页面!
对于这个吗!
wo也想知道!
还得请教高手啊!
!!!!!
对于这个吗!
wo也想知道!
还得请教高手啊!
!!!!!
#5
学习
#6
将后缀名一改就行了
#7
一般不都是先设计页面(html)再去实现(JSP)的吗 ?
#8
呵,JSP放在容器里执行
转到客户端就成了HTML格式的文件了
只要把源代码存为HTML的就可以了
转到客户端就成了HTML格式的文件了
只要把源代码存为HTML的就可以了
#9
那是假象,现在的网站都是用框架(过滤器)开发的
其实,后面的后缀名是可以再框架里定义的,你访问的看似是html文件,其实在服务器端首先经过过滤器转成后台真正的jsp页面的
其实,后面的后缀名是可以再框架里定义的,你访问的看似是html文件,其实在服务器端首先经过过滤器转成后台真正的jsp页面的
#10
哈哈,看了这么多无聊的发的帖子,真是急,还是我说两句,转成html方法很多,这里我给个小例子,不要告诉我你看不懂
是servelt的,也不要告诉我你不懂用。
package SystemTools;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class UrlToHtml extends HttpServlet {
private static final long serialVersionUID = -3616674121206024906L;
//public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
public void jsptohtml(HttpServletRequest request, HttpServletResponse response )throws ServletException, IOException{
// String bh=request.getParameter("bh");
ServletContext sc = getServletContext();
String url = "www.163.com"; // jsp的路径
RequestDispatcher rd = sc.getRequestDispatcher(url);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
final ServletOutputStream stream = new ServletOutputStream() {
public void write(byte[] data, int offset, int length) {
os.write(data, offset, length);
}
public void write(int b) throws IOException {
os.write(b);
}
};
final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));
HttpServletResponse rep = new HttpServletResponseWrapper(response) {
public ServletOutputStream getOutputStream() {
return stream;
}
public PrintWriter getWriter() {
return pw;
}
};
rd.include(request, rep);
pw.flush();
FileOutputStream fos = new FileOutputStream("d:\\index.html"); // 把jsp输出的内容写到d:\test.htm
os.writeTo(fos);
fos.close();
}
}
这段代码是我以前的csdn网友给我提供的,效果不错,都有6年的历史了,现在放出来,也谢谢以前不知名的网友
是servelt的,也不要告诉我你不懂用。
package SystemTools;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class UrlToHtml extends HttpServlet {
private static final long serialVersionUID = -3616674121206024906L;
//public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
public void jsptohtml(HttpServletRequest request, HttpServletResponse response )throws ServletException, IOException{
// String bh=request.getParameter("bh");
ServletContext sc = getServletContext();
String url = "www.163.com"; // jsp的路径
RequestDispatcher rd = sc.getRequestDispatcher(url);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
final ServletOutputStream stream = new ServletOutputStream() {
public void write(byte[] data, int offset, int length) {
os.write(data, offset, length);
}
public void write(int b) throws IOException {
os.write(b);
}
};
final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));
HttpServletResponse rep = new HttpServletResponseWrapper(response) {
public ServletOutputStream getOutputStream() {
return stream;
}
public PrintWriter getWriter() {
return pw;
}
};
rd.include(request, rep);
pw.flush();
FileOutputStream fos = new FileOutputStream("d:\\index.html"); // 把jsp输出的内容写到d:\test.htm
os.writeTo(fos);
fos.close();
}
}
这段代码是我以前的csdn网友给我提供的,效果不错,都有6年的历史了,现在放出来,也谢谢以前不知名的网友
#11
经典
#12
我有一点不明白的是为什么要用final来定义
#13
html可以看成String 对象,java最后交给浏览器的,肯定是html格式的String
#14
改后缀名啊,要么你运行那个页面,然后另存为啊。
#15
这个问题也很疑惑,期待高手解答!
#16
本人真的看不懂哦
#17
呵呵,本人的理解就是去访问一个动态的页面,然后他会返回一堆文本,也就是HTML语言之类的,把这些文本放在一个新的文件中,后缀是html就行了。貌似这样就是动态转换成静态了。
#18
http://blog.csdn.net/java2000_net/archive/2008/12/21/3561234.aspx
#19
Java群 加108363309
#20
模板静态化技术
#21
那些页面根本就不是写个 JSP 然后再很做作地去转成 HTML 的,如果是真正的 HTML 是在后台数据录进去之后直接生成 HTML 文件的,不需要通过 JSP 再倒一下手。
一般使用模板工具来做这些事情,比如:Velocity, FreeMarker 等。
一般使用模板工具来做这些事情,比如:Velocity, FreeMarker 等。
#22
有的网站其实就是用了urlrewrite伪静态化了下的
#23
FreeMarker 可以做到吧。
#24
关注中,很想知道是怎么弄的
#1
freemark
#2
上面的打错了,像FreeMarker这样的模板语言都可以的
#3
up...
#4
听说过Html页面可以转为Jsp页面!
对于这个吗!
wo也想知道!
还得请教高手啊!
!!!!!
对于这个吗!
wo也想知道!
还得请教高手啊!
!!!!!
#5
学习
#6
将后缀名一改就行了
#7
一般不都是先设计页面(html)再去实现(JSP)的吗 ?
#8
呵,JSP放在容器里执行
转到客户端就成了HTML格式的文件了
只要把源代码存为HTML的就可以了
转到客户端就成了HTML格式的文件了
只要把源代码存为HTML的就可以了
#9
那是假象,现在的网站都是用框架(过滤器)开发的
其实,后面的后缀名是可以再框架里定义的,你访问的看似是html文件,其实在服务器端首先经过过滤器转成后台真正的jsp页面的
其实,后面的后缀名是可以再框架里定义的,你访问的看似是html文件,其实在服务器端首先经过过滤器转成后台真正的jsp页面的
#10
哈哈,看了这么多无聊的发的帖子,真是急,还是我说两句,转成html方法很多,这里我给个小例子,不要告诉我你看不懂
是servelt的,也不要告诉我你不懂用。
package SystemTools;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class UrlToHtml extends HttpServlet {
private static final long serialVersionUID = -3616674121206024906L;
//public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
public void jsptohtml(HttpServletRequest request, HttpServletResponse response )throws ServletException, IOException{
// String bh=request.getParameter("bh");
ServletContext sc = getServletContext();
String url = "www.163.com"; // jsp的路径
RequestDispatcher rd = sc.getRequestDispatcher(url);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
final ServletOutputStream stream = new ServletOutputStream() {
public void write(byte[] data, int offset, int length) {
os.write(data, offset, length);
}
public void write(int b) throws IOException {
os.write(b);
}
};
final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));
HttpServletResponse rep = new HttpServletResponseWrapper(response) {
public ServletOutputStream getOutputStream() {
return stream;
}
public PrintWriter getWriter() {
return pw;
}
};
rd.include(request, rep);
pw.flush();
FileOutputStream fos = new FileOutputStream("d:\\index.html"); // 把jsp输出的内容写到d:\test.htm
os.writeTo(fos);
fos.close();
}
}
这段代码是我以前的csdn网友给我提供的,效果不错,都有6年的历史了,现在放出来,也谢谢以前不知名的网友
是servelt的,也不要告诉我你不懂用。
package SystemTools;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class UrlToHtml extends HttpServlet {
private static final long serialVersionUID = -3616674121206024906L;
//public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
public void jsptohtml(HttpServletRequest request, HttpServletResponse response )throws ServletException, IOException{
// String bh=request.getParameter("bh");
ServletContext sc = getServletContext();
String url = "www.163.com"; // jsp的路径
RequestDispatcher rd = sc.getRequestDispatcher(url);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
final ServletOutputStream stream = new ServletOutputStream() {
public void write(byte[] data, int offset, int length) {
os.write(data, offset, length);
}
public void write(int b) throws IOException {
os.write(b);
}
};
final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));
HttpServletResponse rep = new HttpServletResponseWrapper(response) {
public ServletOutputStream getOutputStream() {
return stream;
}
public PrintWriter getWriter() {
return pw;
}
};
rd.include(request, rep);
pw.flush();
FileOutputStream fos = new FileOutputStream("d:\\index.html"); // 把jsp输出的内容写到d:\test.htm
os.writeTo(fos);
fos.close();
}
}
这段代码是我以前的csdn网友给我提供的,效果不错,都有6年的历史了,现在放出来,也谢谢以前不知名的网友
#11
经典
#12
我有一点不明白的是为什么要用final来定义
#13
html可以看成String 对象,java最后交给浏览器的,肯定是html格式的String
#14
改后缀名啊,要么你运行那个页面,然后另存为啊。
#15
这个问题也很疑惑,期待高手解答!
#16
本人真的看不懂哦
#17
呵呵,本人的理解就是去访问一个动态的页面,然后他会返回一堆文本,也就是HTML语言之类的,把这些文本放在一个新的文件中,后缀是html就行了。貌似这样就是动态转换成静态了。
#18
http://blog.csdn.net/java2000_net/archive/2008/12/21/3561234.aspx
#19
Java群 加108363309
#20
模板静态化技术
#21
那些页面根本就不是写个 JSP 然后再很做作地去转成 HTML 的,如果是真正的 HTML 是在后台数据录进去之后直接生成 HTML 文件的,不需要通过 JSP 再倒一下手。
一般使用模板工具来做这些事情,比如:Velocity, FreeMarker 等。
一般使用模板工具来做这些事情,比如:Velocity, FreeMarker 等。
#22
有的网站其实就是用了urlrewrite伪静态化了下的
#23
FreeMarker 可以做到吧。
#24
关注中,很想知道是怎么弄的