生活随笔
收集整理的這篇文章主要介紹了
java web判断服务器是否是本机
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,如何獲取瀏覽器的ip
Java代碼??
??????????public?static?String?getClientIpAddr(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?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("WL-Proxy-Client-IP");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("HTTP_X_FORWARDED_FOR");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("HTTP_X_FORWARDED");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("HTTP_X_CLUSTER_CLIENT_IP");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("HTTP_CLIENT_IP");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("HTTP_FORWARDED_FOR");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("HTTP_FORWARDED");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("HTTP_VIA");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getHeader("REMOTE_ADDR");????????????}????????????if?(ip?==?null?||?ip.length()?==?0?||?"unknown".equalsIgnoreCase(ip))?{????????????????ip?=?request.getRemoteAddr();????????????}????????????return?ip;????????}??????public?static?String?getIpAddr(HttpServletRequest?request)?{??????????String?ip?=?request.getHeader("X-Real-IP");??????????if?(null?!=?ip?&&?!"".equals(ip.trim())??????????????????&&?!"unknown".equalsIgnoreCase(ip))?{??????????????return?ip;??????????}??????????ip?=?request.getHeader("X-Forwarded-For");??????????if?(null?!=?ip?&&?!"".equals(ip.trim())??????????????????&&?!"unknown".equalsIgnoreCase(ip))?{????????????????????????????int?index?=?ip.indexOf(',');??????????????if?(index?!=?-1)?{??????????????????return?ip.substring(0,?index);??????????????}?else?{??????????????????return?ip;??????????????}??????????}??????????return?request.getRemoteAddr();??????}?? ?
?
2,如何判斷服務器是否是本機
Java代碼??
??????????public?static?boolean?isLocalIp(HttpServletRequest?request){??????????String?ip=WebServletUtil.getClientIpAddr(request);??????????return?ip.equals("127.0.0.1")||ip.equals("localhost")||ip.equals("0:0:0:0:0:0:0:1");??????}?? ?3,應用:
Java代碼??
?????????@RequestMapping(value?=?"/favicon.ico")??????public?ResponseEntity<byte[]>?faviconIco(HttpServletRequest?request)?throws?IOException?{??????????HttpHeaders?headers?=?new?HttpHeaders();??????????headers.setContentType(MediaType.IMAGE_PNG);??????????String?faviconIcoName="sms-4.ico";??????????headers.set(Constant2.CONTENT_DISPOSITION,WebServletUtil.getContentDisposition(true,?faviconIcoName));????????????????????String?webappPath=null;??????????if(WebServletUtil.isLocalIp(request)){??????????????webappPath=WebServletUtil.getRealPath(request);??????????}else{??????????????webappPath=DictionaryParam.get(Constant2.DICTIONARY_GROUP_GLOBAL_SETTING,?"WEB-INF_LOC");??????????}??????????return?new?ResponseEntity<byte[]>(FileUtils.getBytes4File(??????????????????webappPath??????????????????+"WEB-INF/static/img/"+faviconIcoName),????????????????????????????????????????????headers,?HttpStatus.CREATED);????????}?? ?
4,如何獲取服務器部署的本地路徑
Java代碼??
public?static?String?getRealPath(HttpServletRequest?request)?{??????????return?getRealPath(request,??"\\");??????}??????????????????public?static?String?getRealPath(HttpServletRequest?request,?String?relativePath)?{??????????return?request.getSession().getServletContext().getRealPath(relativePath);??????}?? ?
總結
以上是生活随笔為你收集整理的java web判断服务器是否是本机的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。