zoukankan      html  css  js  c++  java
  • util(Web帮助类WebUtil)

    package com.guwenren.utils;
    
    
    import java.util.HashMap;
    import java.util.Map;
    import java.util.regex.Pattern;
    
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.struts2.ServletActionContext;
    
    import com.guwenren.bean.BuyCart;
    import com.guwenren.bean.privilege.Employee;
    import com.guwenren.bean.user.Buyer;
    
    /**
     * Web帮助类
     * @author guwenren
     * 
     */
    public class WebUtil {
        /**
         * 编码后的URL
         * 
         * @param url
         * @return
         */
        public static String encodeUrl(String url) {
            return new String(Base64.encodeBase64(url.trim().getBytes()));
        }
    
        /**
         * 解码后的URL
         * 
         * @param url
         * @return
         */
        public static String decodeUrl(String url) {
            return new String(Base64.decodeBase64(url.trim().getBytes()));
        }
    
        /**
         * 获取购物车
         * 
         * @param request
         * @return
         */
        public static BuyCart getBuyCart(HttpServletRequest request) {
            return (BuyCart) request.getSession().getAttribute("buyCart");
        }
        /**
         * 删除购物车
         * 
         * @param request
         * @return
         */
        public static void deleteBuyCart(HttpServletRequest request) {
            request.getSession().removeAttribute("buyCart");
        }
    
        /**
         * 获取登录用户
         */
        public static Buyer getBuyer(HttpServletRequest request) {
            return (Buyer) request.getSession().getAttribute("user");
        }
        /**
         * 获取登录员工
         */
        public static Employee getEmployee(HttpServletRequest request){
            return (Employee) request.getSession().getAttribute("employee");
        }
        /***
         * 获取URI的路径,如路径为http://www.babasport.com/action/post.htm?method=add,
         * 得到的值为"/action/post.htm"
         * 
         * @param request
         * @return
         */
        public static String getRequestURI(HttpServletRequest request) {
            return request.getRequestURI();
        }
    
        /**
         * 获取完整请求路径(含内容路径及请求参数)
         * 
         * @param request
         * @return
         */
        public static String getRequestURIWithParam(HttpServletRequest request) {
            return getRequestURI(request) + (request.getQueryString() == null ? "" : "?" + request.getQueryString());
        }
    
        /**
         * 
         * @param name
         *            cookie的名称
         * @param value
         *            cookie的值
         * @param maxAge
         *            cookie存放的时间(以秒为单位,假如存放三天,即3*24*60*60; 如果值为0,cookie将随浏览器关闭而清除)
         */
        public static void addCookie(String name, String value, int maxAge) {
            Cookie cookie = new Cookie(name, value);
            cookie.setPath("/");
            if (maxAge > 0) {
                cookie.setMaxAge(maxAge);
            }
            ServletActionContext.getResponse().addCookie(cookie);
        }
    
        /**
         * 
         * @param name
         *            cookie的名称
         * @return
         */
        public static String getCookieByName(String name) {
            Map<String, Cookie> cookieMap = WebUtil.readCookieMap();
            if (cookieMap.containsKey(name)) {
                Cookie cookie = cookieMap.get(name);
                return cookie.getValue();
            }
            return null;
        }
    
        /**
         * 
         * @return
         */
        private static Map<String, Cookie> readCookieMap() {
            Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
            Cookie[] cookies = ServletActionContext.getRequest().getCookies();
            if (null != cookies) {
                for (int i = 0; i < cookies.length; i++) {
                    cookieMap.put(cookies[i].getName(), cookies[i]);
                }
            }
            return cookieMap;
        }
    
        /**
         * 去除html代码
         * 
         * @param inputString
         * @return
         */
        public static String HtmltoText(String inputString) {
            String htmlStr = inputString; // 含html标签的字符串
            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_ba;
            java.util.regex.Matcher m_ba;
    
            try {
                String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; // 定义script的正则表达式{或<script[^>]*?>[\\s\\S]*?<\\/script>
                                                                                                            // }
                String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; // 定义style的正则表达式{或<style[^>]*?>[\\s\\S]*?<\\/style>
                                                                                                        // }
                String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式
                String patternStr = "\\s+";
    
                p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
                m_script = p_script.matcher(htmlStr);
                htmlStr = m_script.replaceAll(""); // 过滤script标签
    
                p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
                m_style = p_style.matcher(htmlStr);
                htmlStr = m_style.replaceAll(""); // 过滤style标签
    
                p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
                m_html = p_html.matcher(htmlStr);
                htmlStr = m_html.replaceAll(""); // 过滤html标签
    
                p_ba = Pattern.compile(patternStr, Pattern.CASE_INSENSITIVE);
                m_ba = p_ba.matcher(htmlStr);
                htmlStr = m_ba.replaceAll(""); // 过滤空格
    
                textStr = htmlStr;
    
            } catch (Exception e) {
                System.err.println("Html2Text: " + e.getMessage());
            }
            return textStr;// 返回文本字符串
        }
    
    }
  • 相关阅读:
    使用python scrapy爬取知乎提问信息
    [java基础]一文理解java多线程必备的sychronized关键字,从此不再混淆!
    python scrapy 登录知乎过程
    python scrapy爬虫框架概念介绍(个人理解总结为一张图)
    【干货】一文理解Druid原理架构(时序数据库,不是ali的数据库连接池)
    2016年我所面试过的那些公司
    写在2017年1月
    分页pagination实现及其应用
    inconsistent line count calculation in projection snapshot
    来去匆匆
  • 原文地址:https://www.cnblogs.com/guwenren/p/2994846.html
Copyright © 2011-2022 走看看