package com.fanruan.api.net; import com.fr.base.ServerConfig; import com.fr.data.NetworkHelper; import com.fr.decision.webservice.utils.WebServiceUtils; 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 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); } }