全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA处理的HTML的工具类,可以生成静态HTML页面,将HTML的内容转成纯文本。可以用于一些爬虫功能或者一些特殊处理的地方,代码有比较清晰的注释,所以也可以用于I/O流和HTML标签相关正则表达式的学习。package example.utils.html;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.util.regex.Pattern;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.WriteListener;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletResponseWrapper;import org.apache.log4j.Logger;/* * HTML页面工具类 * * author Javier.Yao * */public class HtmlUtils private static Logger logger = Logger.getLogger(HtmlUtils.class);/* * 生成静态HTML页面的方法 * * param request * 请求对象 * param response * 响应对象 * param servletContext * Servlet上下文 * param fileName * 文件名称 * param fileFullPath * 文件完整路径 * param jspPath * 需要生成静态文件的JSP路径(相对即可) * throws IOException * throws ServletException */public void createStaticHTMLPage(HttpServletRequest request, HttpServletResponse response, ServletContext servletContext, String fileName, String fileFullPath, String jspPath)throws ServletException, IOException response.setContentType(text/html;charset=UTF-8);/ 设置HTML结果流编码(即HTML文件编码)RequestDispatcher rd = servletContext.getRequestDispatcher(jspPath);/ 得到JSP资源final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();/ 用于从ServletOutputStream中接收资源final ServletOutputStream servletOuputStream = new ServletOutputStream() / 用于从HttpServletResponse中接收资源Overridepublic void write(int b) throws IOException byteArrayOutputStream.write(b);public void write(byte b, int off, int len) byteArrayOutputStream.write(b, off, len);Overridepublic void setWriteListener(WriteListener listener) Overridepublic boolean isReady() return false; final PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(byteArrayOutputStream);/ 把转换字节流转换成字符流HttpServletResponse httpServletResponse = new HttpServletResponseWrapper(response) / 用于从response获取结果流资源(重写了两个方法)public ServletOutputStream getOutputStream() return servletOuputStream;public PrintWriter getWriter() return printWriter;rd.include(request, httpServletResponse);/ 发送结果流printWriter.flush();/ 刷新缓冲区,把缓冲区的数据输出FileOutputStream fileOutputStream = new FileOutputStream(fileFullPath);byteArrayOutputStream.writeTo(fileOutputStream);/ 把byteArrayOuputStream中的资源全部写入到fileOuputStream中fileOutputStream.close();/ 关闭输出流,并释放相关资源response.sendRedirect(fileName);/ 发送指定文件流到客户端/* * 将HTML的内容转成纯文本 * * param inputString 带html标签的文本内容 * return 返回纯文本 */public static String Html2Text(String inputString) String htmlStr = inputString;String textStr = ;java.util.regex.Pattern p_script;java.util.regex.Matcher m_script;java.util.regex.Pattern p_style;java.util.regex.Matcher m_style;java.util.regex.Pattern p_html;java.util.regex.Matcher m_html;java.util.regex.Pattern p_html1;java.util.regex.Matcher m_html1;try / 定义script的正则表达式或*?sS*?String regEx_script = *?sS*?;/ 定义style的正则表达式或*?sS*?String regEx_style = *?sS*?;String regEx_html = +; / 定义HTML标签的正则表达式String regEx_html1 = +;p_script = Ppile(regEx_script, Pattern.CASE_INSENSITIVE);m_script = p_script.matcher(htmlStr);htmlStr = m_script.replaceAll(); / 过滤script标签p_style = Ppile(regEx_style, Pattern.CASE_INSENSITIVE);m_style = p_style.matcher(htmlStr);htmlStr = m_style.replaceAll(); / 过滤style标签p_html = Ppile(regEx_html, Pattern.CASE_INSENSITIVE);m_html = p_html.matcher(htmlStr);htmlStr = m_html.replaceAll(); / 过滤html标签p_html1 = Ppile(regEx_html1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园安全例会工作制度
- 幼儿园家长接访工作制度
- 幼儿园应急处置工作制度
- 幼儿园接诉即办工作制度
- 幼儿园教研教改工作制度
- 幼儿园校务监督工作制度
- 幼儿园清洁人员工作制度
- 幼儿园病媒防制工作制度
- 幼儿园美术教师工作制度
- 幼儿园财务预算工作制度
- 2026年宁波慈溪市煤气有限公司下属公司公开招聘工作人员4人建设笔试备考试题及答案解析
- 2026苏科版(新教材)初中数学七年级下册期中知识点复习要点梳理(7-9章)
- 2026中国地铁广告行业营销态势及投资盈利预测报告
- 期中考试模拟试卷(含答案) 2025~2026学年度人教版七年级下册地理
- 2025河北林业和草原局事业单位笔试试题及答案
- 黑龙江哈尔滨德强学校2025-2026学年度六年级(五四制)下学期阶段学情调研语文试题(含答案)
- 广东江西稳派智慧上进教育联考2026届高三年级3月二轮复习阶段检测政治+答案
- 2025-2026学年浙美版(新教材)小学美术二年级下册《我爱运动》教学课件
- 2026年商丘学院单招综合素质考试题库及答案详解(历年真题)
- 2025年大连职业技术学院单招职业技能考试试题及答案解析
- 既有线路基帮宽施工方案范本
评论
0/150
提交评论