package org.hepx.jgt.common.http; import org.hepx.jgt.common.JgtConstant; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; /** * HTTP 工具类 * * @author: Koala * @Date: 14-8-23 下午11:10 * @Version: 1.0 */ public class HttpUtil { /** * 获取URL查询条件 * @param request * @param encode 编码 * @return * @throws IOException */ public static String getQueryString(HttpServletRequest request, String encode) throws IOException { StringBuffer sb = request.getRequestURL(); String query = request.getQueryString(); if (query != null && query.length() > 0) { sb.append("?").append(query); } return URLEncoder.encode(sb.toString(), encode); } /** * getRequestURL是否包含在URL之内 * @param request * @param url 参数为以';'分割的URL字符串 * @return */ public static boolean inContainURL(HttpServletRequest request, String url) { boolean result = false; if (url != null && !"".equals(url.trim())) { String[] urlArr = url.split(";"); StringBuffer reqUrl = request.getRequestURL(); for (int i = 0; i < urlArr.length; i++) { if (reqUrl.indexOf(urlArr[i]) > 1) { result = true; break; } } } return result; } /** * URLEncoder返回地址 * @param url 跳转地址 * @param retParam 返回地址参数名 * @param retUrl 返回地址 * @return */ public static String encodeRetURL(String url, String retParam, String retUrl) { if (url == null) { return null; } StringBuffer retStr = new StringBuffer(url); retStr.append("?"); retStr.append(retParam); retStr.append("="); try { retStr.append(URLEncoder.encode(retUrl, JgtConstant.ENCODING)); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return retStr.toString(); } /** * GET 请求 * <p/> * * @param request * @return boolean */ public boolean isGet(HttpServletRequest request) { if ("GET".equalsIgnoreCase(request.getMethod())) { return true; } return false; } /** * POST 请求 * <p/> * * @param request * @return boolean */ public boolean isPost(HttpServletRequest request) { if ("POST".equalsIgnoreCase(request.getMethod())) { return true; } return false; } }