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;// 返回文本字符串
        }
    
    }
  • 相关阅读:
    Innodb之线程独享内存
    Innodb之全局共享内存
    mysql三层体系
    grep/字符/次数匹配/锚定符/小大括号/wc/tr/cut/sort/uniq
    Mysql多字段模糊查询
    小程序中使用less(最优方式)
    js控制文本框只能输入中文、英文、数字与指定特殊符号
    连接 MySQL 数据库出现问题:The server time zone value ‘�й���׼ʱ��‘ is unrecogni....
    Mysql聚簇索引和非聚簇索引
    npm run dev 和 npm run serve
  • 原文地址:https://www.cnblogs.com/guwenren/p/2994846.html
Copyright © 2011-2022 走看看