webservice服务器端获取request对象的三种方式
生活随笔
收集整理的這篇文章主要介紹了
webservice服务器端获取request对象的三种方式
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
有的時(shí)候在webservice里我們需要獲取request對(duì)象和response對(duì)象,比如想要獲得客戶(hù)端的訪(fǎng)問(wèn)ip的時(shí)候就需要這么做,下面說(shuō)三種方式,當(dāng)然三種方式可能是針對(duì)不同方式部署webservice獲取request對(duì)象的方法。
第一種:先配置注入:
@Resource private WebServiceContext webServiceContext;其次是下面的代碼:
MessageContext mc = webServiceContext.getMessageContext(); HttpServletRequest request = (HttpServletRequest) (mc.get(MessageContext.SERVLET_REQUEST));第二種:
WebServiceContext context = new WebServiceContextImpl(); MessageContext ctx = context.getMessageContext(); HttpServletRequest request = (HttpServletRequest) ctx.get(AbstractHTTPDestination.HTTP_REQUEST);第三種(附帶獲取客戶(hù)端ip地址的方法):
Message message = PhaseInterceptorChain.getCurrentMessage(); HttpServletRequest request = (HttpServletRequest) message.get(AbstractHTTPDestination.HTTP_REQUEST);獲取ip:
public static String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for");if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");}if (ip == null || ip.length() == 0 || "unknow".equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();}return ip;}轉(zhuǎn)載于:https://www.cnblogs.com/soul-wonder/p/8889108.html
總結(jié)
以上是生活随笔為你收集整理的webservice服务器端获取request对象的三种方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【sping揭秘】9、容器内部事件发布(
- 下一篇: k8s nodeport下访问请求未被分