Java 在tomcat上部署一个html文件,该文件是在部署war后创建的

Java 在tomcat上部署一个html文件,该文件是在部署war后创建的,java,spring,Java,Spring,我有一个动态网络应用程序。我和maven和mybatis在spring环境中工作。我正在tomcat上部署一个war文件。我使用log4j来记录数据。我希望每个人都能实时访问这些数据。例如,如果web应用程序的主页是localhost:8080,那么我希望像localhost:8080/logs这样的东西实时显示日志。我知道我必须为此请求Spring映射。但当我的文件不断自我更新时,我不知道如何让它工作 如果是spring mvc,欢迎提供任何帮助 在控制器中,需要读取文件并将其写入响应 其实很

我有一个动态网络应用程序。我和maven和mybatis在spring环境中工作。我正在tomcat上部署一个war文件。我使用log4j来记录数据。我希望每个人都能实时访问这些数据。例如,如果web应用程序的主页是
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将日志文件输出到网页的帮助。