插件开发工具库,推荐依赖该工具库。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

166 lines
5.2 KiB

package com.fanruan.api.net;
import com.fr.base.ServerConfig;
import com.fr.data.NetworkHelper;
import com.fr.decision.webservice.utils.WebServiceUtils;
import com.fr.web.core.gzip.GZIPResponseWrapper;
import org.jetbrains.annotations.Nullable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Locale;
import java.util.Map;
/**
* @author richie
* @version 10.0
* Created by richie on 2019-08-15
* 网络请求参数相关的工具类
*/
public class NetworkKit {
/**
* 生成一个打印输出器
*
* @param res http响应
* @return 打印输出器
* @throws java.io.IOException 如果无法创建输出器则抛出此异常
*/
public static PrintWriter createPrintWriter(HttpServletResponse res) throws IOException {
return NetworkHelper.createPrintWriter(res);
}
/**
* 生成一个打印输出器
*
* @param res http响应
* @param charsetName 编码
* @return 打印输出器
* @throws java.io.IOException 如果无法创建输出器则抛出此异常
*/
public static PrintWriter createPrintWriter(HttpServletResponse res, String charsetName) throws IOException {
return NetworkHelper.createPrintWriter(res, charsetName);
}
/**
* 写出指定的模板
*
* @param resource 模板路径
* @param response http响应
* @param map 用于替换模板中参数的的参数集
* @throws java.io.IOException 如果无法创建输出器则抛出此异常
*/
public static void writeOutTemplate(String resource, HttpServletResponse response, Map<String, Object> map) throws IOException {
NetworkHelper.writeOutTemplate(resource, response, map);
}
/**
* 把HTTP请求中指定名字的参数值转化为整数,参数为空或不是整数则返回-1
*
* @param req http请求
* @param paraName 参数名
* @return 整型参数值
*/
public static int getHTTPRequestIntParameter(HttpServletRequest req, String paraName) {
return NetworkHelper.getHTTPRequestIntParameter(req, paraName);
}
/**
* 把HTTP请求中指定名字的参数值转化为整数
*
* @param req http请求
* @param paraName 参数名
* @param defaultValue 默认值
* @return 返回req中参数的整数值。参数为空或不是整数则返回defaultValue
*/
public static int getHTTPRequestIntParameter(HttpServletRequest req, String paraName, int defaultValue) {
return NetworkHelper.getHTTPRequestIntParameter(req, paraName, defaultValue);
}
/**
* 从http请求中获取sessionID
*
* @param req http请求
* @return session编号
*/
public static @Nullable String getHTTPRequestSessionIDParameter(HttpServletRequest req) {
return NetworkHelper.getHTTPRequestSessionIDParameter(req);
}
/**
* 把HTTP请求中指定名字的参数值转化为布尔值
*
* @param req http请求
* @param paraName 参数名
* @return 布尔类型的参数值
*/
public static boolean getHTTPRequestBoolParameter(HttpServletRequest req, String paraName) {
return NetworkHelper.getHTTPRequestBoolParameter(req, paraName);
}
/**
* 获取HTTP请求中指定名字的参数值
*
* @param req http请求
* @param paraName 参数名
* @return 字符型参数值
*/
public static @Nullable String getHTTPRequestParameter(HttpServletRequest req, String paraName) {
return NetworkHelper.getHTTPRequestParameter(req, paraName);
}
/**
* 获取第一个不为空的参数
*
* @param req http请求
* @param paraNames 参数列表
* @return 字符型参数值
*/
public static @Nullable String getHTTPRequestParameter(HttpServletRequest req, String... paraNames) {
return NetworkHelper.getHTTPRequestParameter(req, paraNames);
}
/**
* 生成服务器地址
*
* @param req http请求
* @return 服务器地址
*/
public static String createServletURL(HttpServletRequest req) {
return NetworkHelper.createServletURL(req, ServerConfig.getInstance().getServletName());
}
/**
* 从http请求中获取用户的国际化信息
*
* @param req http请求
* @return 国际化对象
*/
public static Locale getLocale(HttpServletRequest req) {
return WebServiceUtils.getLocale(req);
}
/**
*获取HTTP请求中指定名字的参数值
* @param req 请求
* @param encode 是否编码
* @param paraName 参数名
* @return 参数值
* */
public static String getHTTPRequestEncodeParameter(HttpServletRequest req, String paraName, boolean encode) {
return NetworkHelper.getHTTPRequestEncodeParameter(req, paraName, encode);
}
/**
* 获取GZip响应
*
* @param req 请求
* @param res 响应
* @return gzip响应
*/
public static GZIPResponseWrapper getGZIPResponseWrapper(HttpServletRequest req, HttpServletResponse res) {
return WebServiceUtils.getGZIPResponseWrapper(req, res);
}
}