当前位置: 首页 > 工具软件 > webutil > 使用案例 >

util(Web帮助类WebUtil)

翟高明
2023-12-01
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;// 返回文本字符串
    }

}

 

转载于:https://www.cnblogs.com/guwenren/archive/2013/04/02/2994846.html

 类似资料: