您的位置:首页 > 房产 > 建筑 > 全网营销和网络营销的区别_网络优化大师手机版_福清市百度seo_友链交易交易平台

全网营销和网络营销的区别_网络优化大师手机版_福清市百度seo_友链交易交易平台

2025/3/12 0:12:19 来源:https://blog.csdn.net/neo_Ggx23/article/details/146160406  浏览:    关键词:全网营销和网络营销的区别_网络优化大师手机版_福清市百度seo_友链交易交易平台
全网营销和网络营销的区别_网络优化大师手机版_福清市百度seo_友链交易交易平台

文章目录

  • 获取ip地址
  • 请求上下文相关
  • Spring上下文获取Bean对象

获取ip地址

public class IpUtils {private IpUtils() {}/*** 获取请求ip地址** @return {@link String}*/public static String getIpAddress() {HttpServletRequest request = RequestContextHolderUtils.getRequest();String ip = request.getHeader("x-forwarded-for");if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");}if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("X-Forwarded-For");}if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");}if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("X-Real-IP");}if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();}if ("0:0:0:0:0:0:0:1".equals(ip)) {ip = "127.0.0.1";}if (ip.contains(",")) {ip = ip.split(",")[0];}return ip;}
}

请求上下文相关

  • 获取HttpServletRequest、HttpServletResponse、HttpSession、ServletContext等对象
public class RequestContextHolderUtils {/*** 获取HttpServletRequest请求对象** @return {@link HttpServletRequest}*/public static HttpServletRequest getRequest() {return getRequestAttributes().getRequest();}/*** 获取HttpServletResponse响应对象** @return {@link HttpServletResponse}*/public static HttpServletResponse getResponse() {return getRequestAttributes().getResponse();}/*** 获得会话** @return {@link HttpSession}*/public static HttpSession getSession() {return getRequest().getSession();}/*** 设置会话属性** @param name  名字* @param value 值*/public static void setSessionAttribute(String name, Object value) {getSession().setAttribute(name, value);}/*** 获得会话属性** @param name 名字* @return {@link Object}*/public static Object getSessionAttribute(String name) {return getSession().getAttribute(name);}/*** servlet容器请求属性** @return {@link ServletRequestAttributes}*/public static ServletRequestAttributes getRequestAttributes() {return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes());}/*** 得到servlet上下文** @return {@link ServletContext}*/public static ServletContext getServletContext() {return Objects.requireNonNull(ContextLoader.getCurrentWebApplicationContext()).getServletContext();}
}

Spring上下文获取Bean对象

@Component
public class SpringContextUtils implements ApplicationContextAware {/*** 上下文对象实例* -- GETTER --*  获取applicationContext*/@Getterprivate static ApplicationContext applicationContext;@Override@Autowiredpublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {SpringContextUtils.applicationContext = applicationContext;}/*** 通过name获取 Bean.*/public static Object getBean(String name) {return getApplicationContext().getBean(name);}/*** 通过class获取Bean.*/public static <T> T getBean(Class<T> clazz) {return getApplicationContext().getBean(clazz);}/*** 通过name,以及Clazz返回指定的Bean*/public static <T> T getBean(String name, Class<T> clazz) {return getApplicationContext().getBean(name, clazz);}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com