Java读取和修改Tomcat的server.xml配置文件(多个service配置适用)
1、读取工具类
public static Document getXMLAttribute(String filepath, String nodeName){Document document = null;List<Map<String,String>> retListmap = new ArrayList<>();try {//创建解析器SAXReader reader=new SAXReader();//创建读取文件内容对象document=reader.read(filepath);//指定文件并读取return document;}catch (DocumentException e){if (document!=null){document.clone();}} catch (Exception e) {e.printStackTrace();}return null;}
2、调用
public class XMLConfig {public static Document getTomcatServerContext(){Document el = DocumentUtils.getXMLAttribute(ApplicationConfig.pathurl+"/tomcat/conf/server.xml","Context");return el;//return list;}/*** 把改变的domcument对象保存到指定的xml文件中*/public static String saveDocument(Document document){XMLWriter writer = null;try {Writer osWrite=new OutputStreamWriter(new FileOutputStream(ApplicationConfig.pathurl+"/tomcat/conf/server.xml"));//创建输出流OutputFormat format = OutputFormat.createPrettyPrint(); //获取输出的指定格式format.setEncoding("UTF-8");//设置编码 ,确保解析的xml为UTF-8格式writer = new XMLWriter(osWrite,format);//XMLWriter 指定输出文件以及格式writer.write(document);//把document写入xmlFile指定的文件(可以为被解析的文件或者新创建的文件)writer.flush();writer.close();return "修改配置文件成功";}catch (Exception e){if (writer!=null){try {writer.flush();writer.close();}catch (Exception ex){}}}return "修改配置文件失败!";}}
3、获取想要的内容(以获取服务端口号为例)
由于我配置了两个Tomcat的service服务,因此是循环读取的
public static List<String> readTomcatConfig() {new IniUtils();ArrayList<String> portList = new ArrayList<>();Document document = XMLConfig.getTomcatServerContext();// 获取根节点Element root = document.getRootElement();// 获取所有的子节点List<Element> elements = root.elements();// 由于配置了两个service服务,而且是最后两个,因此只要最后两个节点elements.subList(0,elements.size() - 2).clear();for (Element element : elements){Element Connector_config = element.element("Connector");String port = Connector_config.attribute("port").getValue();portList.add(port);}/**这里是单个配置的Document document = XMLConfig.getTomcatServerContext();Element root = document.getRootElement();Element Service_config = root.element("Service");Element Connector_config = Service_config.element("Connector");String port= Connector_config.attribute("port").getValue();*/return portList;}
Java读取和修改Tomcat的server.xml配置文件(多个service配置适用)相关推荐
- [转]/tomcat/conf/server.xml配置文件的源码解析
备注: 在把Java项目直接放到/tomcat/webapps目录下时,server.xml的代码是不变的,端口为8080 你可以通过修改这个8080端口进行配置,以及配置<host>里面 ...
- Docker Centos 7.X部署Tomcat 并且修改Server.xml配置文件方案 并设置时区 只要十一步
我用的是腾讯云 Centos 7.3版本,使用Docker最好使用7.x以上版本 1.拉取镜像 docker pull tomcat:8 2.创建容器并且挂载webapps的目录(我这里将本地端口映射 ...
- java读取并修改xml文件
java读取并修改xml文件 java如何读取xml并且修改xml文件呢?代码如下: //复制模板xnl File file = new File(xmlSavePath + "/mb.xm ...
- Tomcat在server.xml中配置虚拟目录
首先,在D盘中新建文件chapter02,然后,在chapter02目录下,新建文件welcome.xml 此时,直接访问是访问不到的 启动Tomcat服务器,在浏览器地址栏中输入 http://lo ...
- Tomcat 服务器server.xml,web.xml的关键参数配置
Tomcat 服务器server.xml的关键参数配置 说明:以下文字均以tomcat5.0.30为例进行. 1,配置tomcat服务器访问端口,只需配置Connector的port端口即可.Tomc ...
- 配置Tomcat的server.xml以适应web-content文件系统的位置改变
刚才把写的一对jsp.html文件夹改变了位置,然后测试的时候出现了404 后来思考,应该去重新配置tomcat的server.xml文件,修改虚拟路径对应的文件系统路径,修改为当前对应的文件系统路径 ...
- 本机tomcat的server.xml被还原的问题及解决办法
将tomcat的server.xml进行修改,但当eclipse发布站点后,发布tomcat中的server.xml会被还原. 原因是eclipse会将自己的tomcat配置文件对tomcat覆盖,解 ...
- Tomcat server.xml配置文件介绍
一.server.xml文件介绍 1.server.xml作用 Server.xml配置文件用于对整个容器进行相关的配置. 2.server.xml文件的配置元素列表 <Server&g ...
- Java读取并修改图片的像素值
Java程序读取图片像素的值类, package work;import java.awt.AWTException; import java.awt.Dimension; import java.a ...
最新文章
- Mycat 读写分离 数据库分库分表 中间件 安装部署,及简单使用
- Visual C++ 2010 使用心得 和帮助文档问题
- Java 面向抽象编程和面向接口编程
- Eclipse文档注释快捷键以及自定义文档注释内容
- 商场专柜私收银现象治理要点
- 紫书 习题 10-20 UVa 1648 (推公式)
- 保护你的Web服务器 iptables防火墙脚本全解读
- Android Monkey测试入门(摘)
- 微软 Windows11 Build 22000.71 更新(KB5004252)发布
- 核心API最佳实践——JDK日志分级
- 微软全新Chromium版Edge浏览器下载
- python开发小型数据库_python web开发之数据库ORM的 peewee库 动手学习实践笔记
- async和await理解代码
- Tunnels 状压DP+BFS
- 使用MVC框架中要注意的问题(一):修改首页以支持主题
- rtl8188eu无线网卡驱动linux,关于rtl8188eu_Linux的驱动问题想请教一下
- docker部署达梦流程记录(DM7和DM8)
- Excel 常用函数和公式
- ipad上写代码???阿里云+vscode-server助你一臂之力
- Mac Gradle 5.0安装