Servlets 将Glassfish输出写入servlet html页面

Servlets 将Glassfish输出写入servlet html页面,servlets,Servlets,如何将Glassfish服务器输出重定向到HttpServletResponse.out?我正在NetBeans中创建servlet。这里是一个工作示例,将其作为servlet公开即可 public class ReadLogs extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=UTF-8"; public void init(ServletConfig c

如何将Glassfish服务器输出重定向到HttpServletResponse.out?我正在NetBeans中创建servlet。

这里是一个工作示例,将其作为servlet公开即可

public class ReadLogs extends HttpServlet {

    private static final String CONTENT_TYPE = "text/html; charset=UTF-8";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void service(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.append("<html>\n<head>\n\n");
        out.append("<script>function toBottom()" + "{"
                + "window.scrollTo(0, document.body.scrollHeight);" + "}");
        out.append("\n</script>");
        out.append("\n</head>\n<body onload=\"toBottom();\">\n<pre>\n");
        try {
            File file = new File("C:\\pathToServerLogFile");
            BufferedReader in = new BufferedReader(new FileReader(file));
            StringBuilder sb = new StringBuilder();
            while (in.ready()) {
                String x = in.readLine();
                sb.append(x).append("<br/>");
            }
            in.close();
            out.append("\n</pre>\n</body>\n</html>");
            out.close();
        } catch (FileNotFoundException fnfe) {
            fnfe.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

这里是一个工作示例,只需将其作为servlet公开即可

public class ReadLogs extends HttpServlet {

    private static final String CONTENT_TYPE = "text/html; charset=UTF-8";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void service(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.append("<html>\n<head>\n\n");
        out.append("<script>function toBottom()" + "{"
                + "window.scrollTo(0, document.body.scrollHeight);" + "}");
        out.append("\n</script>");
        out.append("\n</head>\n<body onload=\"toBottom();\">\n<pre>\n");
        try {
            File file = new File("C:\\pathToServerLogFile");
            BufferedReader in = new BufferedReader(new FileReader(file));
            StringBuilder sb = new StringBuilder();
            while (in.ready()) {
                String x = in.readLine();
                sb.append(x).append("<br/>");
            }
            in.close();
            out.append("\n</pre>\n</body>\n</html>");
            out.close();
        } catch (FileNotFoundException fnfe) {
            fnfe.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

所以。。要仅打印调用脚本后出现的行,我编写了以下代码:

BufferedReader=newbufferedreader(newfilereader(“/path/to/server/log/server.log”);
int行=0;
while(reader.readLine()!=null){
行++;
}
reader.close();
BufferedReader reader2=新的BufferedReader(新文件读取器(“/path/to/server/log/server.log”);
弦斯特林;
int i=0;
while(i!=行){
reader2.readLine();
i++;
}
而((strLine=reader2.readLine())!=null){
out.println(stringToHTMLString(strLine));
out.println(“
”); } reader2.close();
当servlet启动时,它计算服务器日志中的行数(将其保存在变量i中),然后单击操作表单后,它读取索引高于i的行,并将其显示在html页面上。我使用了stringToHTMLString函数,我在stackoverflow上找到了它


问候。

所以。。要仅打印调用脚本后出现的行,我编写了以下代码:

BufferedReader=newbufferedreader(newfilereader(“/path/to/server/log/server.log”);
int行=0;
while(reader.readLine()!=null){
行++;
}
reader.close();
BufferedReader reader2=新的BufferedReader(新文件读取器(“/path/to/server/log/server.log”);
弦斯特林;
int i=0;
while(i!=行){
reader2.readLine();
i++;
}
而((strLine=reader2.readLine())!=null){
out.println(stringToHTMLString(strLine));
out.println(“
”); } reader2.close();
当servlet启动时,它计算服务器日志中的行数(将其保存在变量i中),然后单击操作表单后,它读取索引高于i的行,并将其显示在html页面上。我使用了stringToHTMLString函数,我在stackoverflow上找到了它


欢迎。

要在jsp/servlet页面中显示服务器日志文件吗?要在jsp/servlet页面中显示服务器日志文件吗?谢谢。我已经将这段代码粘贴到我的主java文件中,然后在doPost方法的末尾,我编写了ReadLogs read=new ReadLogs();读取服务(请求、响应);但jsp/servlet页面没有新的输出。第二件事是,我不想打印整个.log文件,因为它会打印很多天的所有信息,我只需要调用servlet时的信息。欢迎。是的,但我用了一种有点不同的方式,因为如果我正确点击,你的代码将打印整个日志,但我只需要调用servlet后出现的这行代码。你只能得到它的一部分,比如说最后一个MB等等。。。看我的照片。我已经将这段代码粘贴到我的主java文件中,然后在doPost方法的末尾,我编写了ReadLogs read=new ReadLogs();读取服务(请求、响应);但jsp/servlet页面没有新的输出。第二件事是,我不想打印整个.log文件,因为它会打印很多天的所有信息,我只需要调用servlet时的信息。欢迎。是的,但我用了一种有点不同的方式,因为如果我正确点击,你的代码将打印整个日志,但我只需要调用servlet后出现的这行代码。你只能得到它的一部分,比如说最后一个MB等等。。。查看我的更新
BufferedReader reader = new BufferedReader(new FileReader("/path/to/server/log/server.log"));
int lines = 0;
while (reader.readLine() != null) {
    lines++;
}

reader.close();

BufferedReader reader2 = new BufferedReader(new FileReader("/path/to/server/log/server.log"));
String strLine;
int i = 0;
while (i != lines) {
   reader2.readLine();
   i++;

}
while ((strLine = reader2.readLine()) != null) {
    out.println(stringToHTMLString(strLine));
    out.println("<br>");
}

reader2.close();