Java 在tomcat上部署一个html文件,该文件是在部署war后创建的
我有一个动态网络应用程序。我和maven和mybatis在spring环境中工作。我正在tomcat上部署一个war文件。我使用log4j来记录数据。我希望每个人都能实时访问这些数据。例如,如果web应用程序的主页是Java 在tomcat上部署一个html文件,该文件是在部署war后创建的,java,spring,Java,Spring,我有一个动态网络应用程序。我和maven和mybatis在spring环境中工作。我正在tomcat上部署一个war文件。我使用log4j来记录数据。我希望每个人都能实时访问这些数据。例如,如果web应用程序的主页是localhost:8080,那么我希望像localhost:8080/logs这样的东西实时显示日志。我知道我必须为此请求Spring映射。但当我的文件不断自我更新时,我不知道如何让它工作 如果是spring mvc,欢迎提供任何帮助 在控制器中,需要读取文件并将其写入响应 其实很
localhost:8080
,那么我希望像localhost:8080/logs这样的东西实时显示日志。我知道我必须为此请求Spring映射。但当我的文件不断自我更新时,我不知道如何让它工作
如果是spring mvc,欢迎提供任何帮助
在控制器中,需要读取文件并将其写入响应
其实很简单
代码段供您参考:以下是SUDO代码。只要告诉你方向
@请求映射(“/log”) 公共类控制器{
public void readLog(HttpRequest req, HttpResponse resp) {
File file = new File('YOUR_FILE_LOCATION')
FileReader fr = new FileReader(file);
// you can read every line for the log file and write into resposne
while(str = nextLine()) {
resp.println(str)
}
fr.close()
}
}如果是spring mvc
在控制器中,需要读取文件并将其写入响应
其实很简单
代码段供您参考:以下是SUDO代码。只要告诉你方向
@请求映射(“/log”) 公共类控制器{
public void readLog(HttpRequest req, HttpResponse resp) {
File file = new File('YOUR_FILE_LOCATION')
FileReader fr = new FileReader(file);
// you can read every line for the log file and write into resposne
while(str = nextLine()) {
resp.println(str)
}
fr.close()
}
}您可以使用log4j的HTML布局功能,如下所示:
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${catalina.base}/webapps/yourappname/log.html
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.FILE.layout.Title=HTML logs
log4j.appender.FILE.layout.LocationInfo=true
此文件应可在
http://localhost:8080/yourappname/log.html
。Tomcat将提供catalina.base/catalina.home作为系统属性,或者您可以提供完整的文件路径 您可以使用log4j的HTML布局功能,如下所示:
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${catalina.base}/webapps/yourappname/log.html
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.FILE.layout.Title=HTML logs
log4j.appender.FILE.layout.LocationInfo=true
此文件应可在
http://localhost:8080/yourappname/log.html
。Tomcat将提供catalina.base/catalina.home作为系统属性,或者您可以提供完整的文件路径 您是否认为@RequestMapping(“errLog.log”)会读取日志文件并将其转储到response.getOutputStream()?我想我对这个问题感到困惑,您需要帮助使映射正常工作还是使用mappings/servlet输出日志文件。@ns47732,谢谢您的回答。我需要使用mapping/servlet将日志文件输出到网页的帮助。您是否认为@RequestMapping(“errLog.log”)会读取日志文件并将其转储到response.getOutputStream()?我想我对这个问题感到困惑,您需要帮助使映射正常工作还是使用mappings/servlet输出日志文件。@ns47732,谢谢您的回答。我需要使用mapping/servlet将日志文件输出到网页的帮助。