import java.io.File; import java.net.URL; import javax.servlet.ServletException; import org.apache.struts2.ServletActionContext; /** * 程序中的很多地方需要用到request.getRealPath()或者getServletContext.getRealPath()。这个方法受到war 和non-war的影响,以及不同app server实现的影响,返回的结果往往不一样,在weblogic中会返回null。 一般的应用都会有一个或几个配置文件放在web-inf下面,getRealPaht返回null是读配置文件有很大困难。 * @author 流浪鱼 * */ public class AbsolutePathUtils { /** * 通过上下文来取工程路径 * * @return * @throws Exception */ private String getAbsolutePathByContext() throws Exception { String webPath = ServletActionContext.getServletContext().getRealPath("/"); webPath = webPath.replaceAll("[\\\\\\/]WEB-INF[\\\\\\/]classes[\\\\\\/]?", "/"); webPath = webPath.replaceAll("[\\\\\\/]+", "/"); webPath = webPath.replaceAll("%20", " "); if (webPath.matches("^[a-zA-Z]:.*?$")) { } else { webPath = "/" + webPath; } webPath += "/"; webPath = webPath.replaceAll("[\\\\\\/]+", "/"); return webPath; } /** * 通过类路径来取工程路径 * * @return * @throws Exception */ private String getAbsolutePathByClass() throws Exception { String webPath = this.getClass().getResource("/").getPath().replaceAll("^\\/", ""); webPath = webPath.replaceAll("[\\\\\\/]WEB-INF[\\\\\\/]classes[\\\\\\/]?", "/"); webPath = webPath.replaceAll("[\\\\\\/]+", "/"); webPath = webPath.replaceAll("%20", " "); if (webPath.matches("^[a-zA-Z]:.*?$")) { } else { webPath = "/" + webPath; } webPath += "/"; webPath = webPath.replaceAll("[\\\\\\/]+", "/"); return webPath; } private String getAbsolutePathByResource() throws Exception { URL url = ServletActionContext.getServletContext().getResource("/"); String path = new File(url.toURI()).getAbsolutePath(); if (!path.endsWith("\\") && !path.endsWith("/")) { path += File.separator; } return path; } public String getAbsolutePath() throws ServletException { String webPath = null; try { webPath = getAbsolutePathByContext(); } catch (Exception e) { } // 在weblogic 11g 上可能无法从上下文取到工程物理路径,所以改为下面的 if (webPath == null) { try { webPath = getAbsolutePathByClass(); } catch (Exception e) { } } if (webPath == null) { try { webPath = getAbsolutePathByResource(); } catch (Exception e) { } } System.out.println(webPath); return webPath; } }
使用如下:
String photoUrl = "images"+File.separator+"small.jpg"; String absolutePath = new AbsolutePathUtils().getAbsolutePath(); System.out.println("--------------"+absolutePath); File file = new File(absolutePath+photoUrl);//Struts2Utils.getSession().getServletContext().getRealPath(File.separator) FileInputStream fis = new FileInputStream(file); int i = 0; while ((i = fis.read(b)) != -1) { os.write(b, 0, i); } os.close(); fis.close();
List<CityZyGrzp> list = this.find(sb.toString(), new HashMap<String, String>()); if(list.size()==1){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); CityZyGrzp result = (CityZyGrzp) (list.get(0)); try { if(result.getZp()!=null) { IOUtils.copy(result.getZp().getBinaryStream(), baos); result.setZpStream(baos.toByteArray()); } } catch (IOException e) { e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(baos!=null){ try { baos.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }else{ return null; }
相关推荐
动态IP环境下客户端自动获取服务器地址新方法的研究 本研究旨在解决动态IP环境下客户端自动获取服务器地址的难题。随着家庭网络环境的普及,许多小型商业用户需要将分布于不同街道的商店、超市通过软件统一管理起来...
【标题】: 动态IP环境下客户端自动获取服务器地址新方法的研究报告 【描述】: 本研究报告探讨了在动态IP环境下,客户端如何自动获取并配置服务器地址,以实现高效稳定的连接。 【标签】: 文档 【正文】: 一、...
Dr.COM客户端破解[自动获取服务器地址版],破解dr.com
在Java编程中,获取服务器的IP地址和MAC地址是常见的需求,特别是在网络通信和系统管理中。本篇文章将详细介绍如何使用Java实现这一功能,包括针对单网卡和多网卡环境的情况。 首先,获取服务器的IP地址通常涉及到`...
在Java和Struts2框架中,获取服务器地址是常见的需求,尤其在处理URL重写、页面跳转或者日志记录时。以下详细说明了如何在Struts2中获取服务器地址。 首先,Struts2框架是基于Java Servlet API的,因此我们可以直接...
请注意,为了保证软件的安全性,建议从官方网站或其他可信渠道获取服务器地址。 2. **设置NOD32软件**: - 打开NOD32软件,进入设置界面。 - 寻找“更新”或“升级”相关的选项,并选择自定义服务器地址。 - 将...
在C#中,可以通过多种方式获取服务器或客户端的IP地址,其中一种常用的方法是利用ASP.NET框架中的`Request`对象。 #### 1. 获取远程客户端IP地址 ```csharp string remoteIP = Request.ServerVariables["REMOTE_...
在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux服务器上的网络接口、回环接口、获取IP地址的方法等。 Linux服务器上的网络接口 在Linux服务器上,网络接口是用来发送和接受数据包的基本设备...
在Java中获取服务器的基本信息是开发人员经常遇到的需求,这些信息包括但不限于CPU使用情况、内存利用率、磁盘空间以及网络状态等。以下是一些使用Java获取服务器基本信息的关键知识点: 1. **第三方库Sigar**: ...
在IT行业中,获取服务器时间是一项基础但至关重要的任务,尤其对于参与网络抢购或秒杀活动的用户来说,准确同步服务器时间能确保操作的及时性。"获取淘宝服务器时间"这个程序就是为了帮助用户实现这一目的。下面将...
// 设置服务器地址 HTTP.Host := 'http://example.com'; // 发送GET请求并获取响应头 ResponseHeader := HTTP.Get('')['Date']; // 解析HTTP Date格式到TDateTime ServerTimeStr := ResponseHeader.Values...
2. **使用gethostbyaddr函数**:虽然这不是直接获取MAC地址的方法,但可以通过获取主机名然后查询DNS反向解析来间接得到。然而,这种方法并不总是可靠的,因为不是所有网络环境都支持反向DNS解析。 3. **利用PHP...
获取服务器或本地计算机的MAC地址是网络管理、故障排查或安全监控中常见的需求。以下是一些关于如何获取MAC地址的方法、工具和技术的详细解释: ### 通过命令行获取MAC地址 #### Windows系统 1. **cmd命令**:在...
获取本服务器的IP地址获取本服务器的IP地址获取本服务器的IP地址获取本服务器的IP地址
在Java编程中,获取服务器硬件信息是常见的需求,特别是在系统监控、性能分析或者资源管理的场景下。Siger(可能是“System Information Gatherer”的缩写)是一个可能的库,用于帮助开发者轻松地获取包括CPU、内存...
1. **构造URL路径**:首先通过`host`与`remoteFile`拼接出完整的FTP服务器地址。 2. **创建FTP请求对象**:利用`System.Net.FtpWebRequest.Create`方法创建一个FTP请求对象,并将其转换为`FtpWebRequest`类型。 3. *...
在本文中,我们将深入探讨网络编程中的一个基本概念——如何获取服务器端的时间。这个过程通常涉及到客户端和服务器端之间的通信,使用TCP/IP协议栈来交换数据。我们将通过一个时间客户服务器程序的示例来理解这一...
在IT领域,获取服务器的MAC(Media Access Control)地址和IP(Internet Protocol)地址是常见的系统管理任务。MAC地址是网络设备的物理地址,而IP地址则是网络通信中的逻辑地址。在Windows和Unix(包括Linux)系统...
在Java IPMI和VxIPMI中,你可以通过以下步骤获取服务器信息: 1. **建立连接**:首先,你需要通过Java程序建立到目标服务器的IPMI连接。这通常涉及设置服务器的IP地址、端口、用户名和密码。VxIPMI库可能提供了一种...
《VC 局域网聊天应用:自动获取服务器IP地址详解》 在计算机网络技术中,局域网(LAN)通信是实现设备间快速、高效交流的重要方式。VC++(Visual C++)作为Microsoft开发的一款集成开发环境,常用于构建Windows平台...