获得eclipse发布的web项目WEB-INFO下的路径(最淳朴的方法)

简介:

不解析,直接贴代码

public class TransformService {

	private Logger log = Logger.getLogger(TransformService.class);

	private final String TEMPLET = "templet";

	/**
	 * 转换类
	 * 
	 * @param xmlReq
	 * @param xslTempletName
	 * @return
	 */
	public String xmlTransform(String xmlReq, String xslTempletName) {
		// TODO Auto-generated method stub
		try {
			log.info("Para xml:" + xmlReq);
			log.info("Para xslTempletName:" + xslTempletName);
			Resource res = new ClassPathResource(TEMPLET + "/" + xslTempletName
					+ ".xsl");
			log.info("Templet URL:" + res.getFile() == null ? null : res
					.getFile().toString());
			Source templet = new StreamSource(res.getFile());
			Transformer transf = TransformerFactory.newInstance()
					.newTransformer(templet);
			Document req = DocumentHelper.parseText(xmlReq);
			Source xmlSource = new StreamSource(new StringReader(req.asXML()));
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			Result result = new StreamResult(baos);
			transf.setOutputProperty(OutputKeys.METHOD, "xml");
			transf.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
			transf.setOutputProperty(OutputKeys.INDENT, "yes");
			transf.transform(xmlSource, result);
			ByteArrayInputStream bais = new ByteArrayInputStream(
					baos.toByteArray());
			String path = res.getFile().toString();
			String rPath = path.substring(0, path.lastIndexOf("classes"));
			File folder = new File(rPath + "xmlFolder");
			log.info("XML_FOLD_DIR:" + folder == null ? null : folder
					.toString());
			if (!folder.exists()) {
				folder.mkdir();
			}
			File file = new File(folder + File.separator + xslTempletName + "_"
					+ new Date().getTime() + ".xml");
			log.info("XML_FILE_URL:" + file == null ? null : file.toString());
			FileOutputStream fis = new FileOutputStream(file);
			fis.write(baos.toByteArray());
			fis.close();
			SAXReader sax = new SAXReader();
			Document resXML = sax.read(bais);
			log.info(resXML.asXML());
			System.out.println(resXML.asXML());
			return resXML.asXML();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			log.error(e.getMessage());
		} catch (TransformerConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			log.error(e.getMessage());
		} catch (TransformerFactoryConfigurationError e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			log.error(e.getMessage());
		} catch (TransformerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			log.error(e.getMessage());
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			log.error(e.getMessage());
		}
		return null;
	}

	public static void main(String[] args) {
		try {
			TransformService ts = new TransformService();
			Resource res = new ClassPathResource("templet/DY.xml");
			SAXReader sax = new SAXReader();
			Document resXML = sax.read(res.getFile());
			ts.xmlTransform(resXML.asXML(), "DY2HS");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
}


目录
相关文章
|
25天前
|
SQL 存储 安全
Web 常见攻击方式及防御方法
【10月更文挑战第25天】Web 安全是一个复杂而重要的领域,攻击者不断寻找新的攻击方法,我们需要不断加强防御措施,提高安全意识,以保障 Web 应用的安全运行。通过采取多种防御手段的综合运用,我们可以有效地降低 Web 攻击的风险,保护用户的信息和财产安全。同时,随着技术的不断发展,我们也需要持续关注和研究新的安全威胁和防御方法,以应对不断变化的安全形势。
129 56
|
11天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
31 4
|
26天前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
58 3
|
1月前
|
Java Maven Android开发
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
89 2
eclipse创建maven项目
|
1月前
|
Java Maven Android开发
eclipse如何导入springboot项目
本文介绍了如何在Eclipse中导入Spring Boot项目。
34 1
eclipse如何导入springboot项目
|
1月前
|
Java 应用服务中间件 Android开发
Eclipse创建Spring项目
本文介绍了在Eclipse中创建Spring项目的步骤,包括如何配置Tomcat服务器、创建项目、部署项目到Tomcat以及添加Spring框架所需的JAR包。
61 1
Eclipse创建Spring项目
|
1月前
|
Java Maven Android开发
eclipse搭建springboot项目
本文介绍了如何使用Spring Initializr官网生成Spring Boot项目并用Eclipse打开和运行该项目,包括配置项目信息、添加依赖、下载依赖以及启动项目的步骤。
86 1
|
1月前
|
前端开发 JavaScript
掌握微前端架构:构建现代Web应用的新方法
本文介绍了微前端架构的概念及其在现代Web应用开发中的优势与实施方法。微前端架构通过将应用拆分成独立模块,提升了开发效率和灵活性。其核心优势包括技术栈灵活性、独立部署、团队协作及易于维护。文章详细阐述了定义边界、选择框架、管理状态和通信等关键步骤,并讨论了状态同步、样式隔离及安全性等挑战。微前端架构有望成为未来Web开发的重要趋势。
|
1月前
|
存储 前端开发 API
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
95 0
|
Java Android开发
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
98 0
下一篇
无影云桌面