代码示例讲解如何用servlet将jsp文件内容生成html格式
发布时间:2023-06-05 13:28:07 所属栏目:教程 来源:
导读:以下讨论的是和servlet jsp 相关的代码实例讲解如何用servlet将jsp文件内容生成html格式教程文章,内容是本站精心挑选整理的教程,希望对广大的网友给到帮助,下面是详细内容:
用servlet将jsp文件内容转为html。
用servlet将jsp文件内容转为html。
以下讨论的是和servlet jsp 相关的代码实例讲解如何用servlet将jsp文件内容生成html格式教程文章,内容是本站精心挑选整理的教程,希望对广大的网友给到帮助,下面是详细内容: 用servlet将jsp文件内容转为html。代码如下: package examples; 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 ToHtml extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=GBK"; // Initialize global variables public void init() throws ServletException { } // Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); service(request, response); /** * 只有成功初始化后此方法才能被调用处理用户请求。前一个参数提供访问初始请求数据的方法和字段, * 后一个提供servlet构造响应的方法。 */ } // Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } public void destroy() { } public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletContext sc = getServletContext(); String url = "/index.jsp"; String name = "index.htm"; // 这是生成的html文件名 String pName = "e://Tomcat 5.5//webapps//jspTohtml//index.htm"; // 生成html的完整路径 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(pName); // 把jsp输出的内容写到指定路径的htm文件中 os.writeTo(fos); fos.close(); response.sendRedirect(name); // 书写完毕后转向htm页面 } } 在web.xml文件中配置: < servlet> < servlet-name>Tohtml< /servlet-name> < servlet-class>examples.ToHtml< /servlet-class>< /servlet> < servlet-mapping> < servlet-name>Tohtml< /servlet-name> < url-pattern>/Tohtml< /url-pattern> < /servlet-mapping> 下面是用来测试的index.jsp: < %@ page contentType="text/html; charset=gb2312" %>< html> < head> < title>Cache Filter Test< /title> < meta http-equiv="Content-Type" content="text/html; charset=gb2312"> < /head> < body>简单测试:s=< % int s=0; // mock time-consuming code for (int i=0;i< 1000;i++) { for (int j=0;j< 1000;j++) { s=s+j; } }out.print(s);%> < /body>< /html> (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐