小编csa*_*uel的帖子

使用Spring MVC HandlerInterceptorAdapter从HttpServletResponse记录响应主体(HTML)

我正在尝试记录(仅为了简单起见,现在是控制台写入)最终呈现的HTML将由HttpServletResponse返回.(即正文)为此,我使用Spring MVC中的HandlerInterceptorAdapter,如下所示:

public class VxmlResponseInterceptor extends HandlerInterceptorAdapter {
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println(response.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作,我在控制台中看到HTTP响应头.我的问题是,是否有一种相对简单的方法可以将整个响应体(即最终呈现的HTML)记录到控制台,而无需使用PrintWriters,OutputStream等进行跳跃.

提前致谢.

java spring servlets spring-mvc

26
推荐指数
3
解决办法
3万
查看次数

Ruby中的隐式返回值

我对Ruby有点新鲜,虽然我发现它是一种非常直观的语言,但我很难理解隐式返回值的行为方式.

我正在开发一个小程序来grep Tomcat日志并从相关数据生成管道分隔的CSV文件.这是我用来从日志条目生成行的简化示例.

class LineMatcher
  class << self
    def match(line, regex)
      output = ""
      line.scan(regex).each do |matched|
        output << matched.join("|") << "\n"
      end
      return output
    end        
  end
end


puts LineMatcher.match("00:00:13,207 06/18 INFO  stateLogger - TerminationRequest[accountId=AccountId@66679198[accountNumber=0951714636005,srNumber=20]",
                       /^(\d{2}:\d{2}:\d{2},\d{3}).*?(\d{2}\/\d{2}).*?\[accountNumber=(\d*?),srNumber=(\d*?)\]/)
Run Code Online (Sandbox Code Playgroud)

当我运行这段代码时,我得到了以下内容,这是显式返回输出值时的预期结果.

00:00:13,207|06/18|0951714636005|20
Run Code Online (Sandbox Code Playgroud)

但是,如果我将LineMatcher更改为以下内容并且不显式返回输出:

    class LineMatcher
      class << self
        def match(line, regex)
          output = ""
          line.scan(regex).each do |matched|
            output << matched.join("|") << "\n"
          end
        end        
      end
    end
Run Code Online (Sandbox Code Playgroud)

然后我得到以下结果:

00:00:13,207
06/18
0951714636005
20
Run Code Online (Sandbox Code Playgroud)

显然,这不是理想的结果.感觉我应该能够摆脱输出变量,但不清楚返回值的来源.此外,欢迎任何其他可读性的建议/改进.

ruby readability return implicit

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

implicit ×1

java ×1

readability ×1

return ×1

ruby ×1

servlets ×1

spring ×1

spring-mvc ×1