社区
Java EE
帖子详情
JSP中的读取配置文件问题
xiongxu
2009-12-21 10:19:39
我想在启动tomcat服务器后读取一个配置文件,把配置文件的内容显示在页面上。当我把配置文件改变时。我刷新页面时,页面的内容会随配置文件该变而改变。我采用的Struts框架。。我自己也试过了。。就是当我改变配置文件时。我刷新页面时。我读取的内容还是上次读取的内容。让我郁闷了好久。。请教个位大虾指点下。。
...全文
691
8
打赏
收藏
JSP中的读取配置文件问题
我想在启动tomcat服务器后读取一个配置文件,把配置文件的内容显示在页面上。当我把配置文件改变时。我刷新页面时,页面的内容会随配置文件该变而改变。我采用的Struts框架。。我自己也试过了。。就是当我改变配置文件时。我刷新页面时。我读取的内容还是上次读取的内容。让我郁闷了好久。。请教个位大虾指点下。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
君者
2009-12-22
打赏
举报
回复
这个其实很容易。每次刷新时实际上是会向你的后台发送请求。你经过如下步骤即可:
1. 将你的配置文件一次读到内存里。
2. 在你每次读取该内存数据时可以检测该文件是否被修改过,如果修改则将新的内容替换原来内存数据。
3. 将内容展现。
具体的代码思路:
1. 自己写一个文件读取类,封装判断逻辑及内部的属性值。使用File类很容易做到,
2. 使用apache下的配置文件包(具体名字忘了)。
jarvis_java
2009-12-22
打赏
举报
回复
写一个监听类,在Servlet里启动监听器 (Timer类)
监听类比较文件最后修改时间,如果有修改 就刷新
这样可以定义检测
上树的蜗牛儿
2009-12-22
打赏
举报
回复
楼主的思维比较好,不过实现起来比较难。因为你想要的是一种实时监控的效果,而你在程序中读取的配置文件所在的地方是部署到tomcat的webapps目录下的项目目录,而你更改的配置文件所在的位置在eclipse的工作空间中,这就要求你更改配置文件后就要做一个重新部署的操作,这样才能实现你程序中可以实时读取配置文件更新后的内容。但是只更改tomcat安装目录conf下context.xml中<Context reloadable="true">的配置是不够的,虽然它是能监控项目中文件更改后进行重新部署的功能,但是是有一定的限度的,它只对项目中web.xml文件的更改和JSP页面及java代码的更改有效,而且更改java代码有时这个功能也不会起作用(有些BUG),但是有效的范围绝对不包括Struts的配置文件。
不过间接可以实现类楼主的功能,就是在你更改完配置文件后在简单改动一下web.xml配置文件,这样就能让<Context reloadable="true">的重新部署功能生效,以便达到楼主的实时更新的效果。
希望对楼主有帮助。
crazylaa
2009-12-21
打赏
举报
回复
你可以使用单例,启动的时候先load好。然后页面刷新的时候,利用ajax去调一下这个单例里面的refresh方法去重新load配置文件。
BearKin
2009-12-21
打赏
举报
回复
[Quote=引用 3 楼 xiongxu 的回复:]
这样不会对系统的性能造成很大的影响吗?
[/Quote]
开发模式可以这么用 实际情况就不这么用了 我并不知道你那个配置文件时什么东西 也不知道你修改之后你去怎么读他 但是如果这个配置文件总变的话 你还是换种方式保存吧
xiongxu
2009-12-21
打赏
举报
回复
这样不会对系统的性能造成很大的影响吗?
happygao521
2009-12-21
打赏
举报
回复
你在conf目录下的context.xml文件中的<Context>中添加reloadable="true" 如下:
<Context reloadable="true"> 应该就可以了!!!
sean1203
2009-12-21
打赏
举报
回复
有点难
因为在缓存里面东西你不好这样搞的
最后不行的话
只能改设计了
java源码包---java 源码 大量 实例
数字证书:从文件
中
读取
数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
JSP
读取
配置文件
jsp
文件 <%@ page import="java.util.ResourceBundle" %> <% ResourceBundle resource = ResourceBundle.getBundle("config"); String file=ctx + resource....config指的是
配置文件
的名称,例如 confi
JSP
极简实操入门
循环语句(for循环-1)
JSP
概述-循环语句(for循环-2)
JSP
概述-循环语句(While循环)
jsp
中
include标签举例一
jsp
中
include标签举例二
jsp
中
param属性传值-1
jsp
中
param属性传值-2
jsp
中
useBean-1
jsp
中
useBean-2 ...
JSP
中
怎么
读取
配置文件
在
JSP
中
读取
配置文件
分两种情况,第一种是从在servlet
中
读,第二种是在普通类(比如dao
中
读取
数据库配置)
中
读。 第一种情况的
读取
方法: public void doGet(HttpServletRequest request, HttpServletResponse ...
如何在
jsp
中
读取
配置文件
的内容
在项目
中
碰到一个需求就是要在
jsp
页面
中
读取
配置文件
的内容,首先在小脚本
中
获得
配置文件
指定内容 String value= com.jshx.core.utils.SysPropertiesUtil.getProperty("beaconUrl"); %>这里获得
配置文件
方法是...
Java EE
67,512
社区成员
225,885
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章