我正在编写一个基于Java的Web应用程序,它在实际的生产环境中将由另一个应用程序进行前端处理,该应用程序会在请求到达我的应用程序之前设置某些HTTP请求标头。
但是,在开发环境中,我没有前端应用程序,我需要创建一个模拟相同行为的模拟Web应用程序。即这个模拟应用程序应该将请求标题和重定向或转发或我不知道的任何内容设置为我的应用程序中的某个页面。
我该如何做到这一点?
答案 0 :(得分:5)
以下文章可能会对您有所帮助:
P.S。
对不起,我只提供了链接,这是我早期的答案之一))
答案 1 :(得分:1)
如果您不想按@ user1979427的建议修改代码,可以使用代理服务器修改标题或动态添加标题。
例如,在Apache HTTPD中,您可以添加类似下面的内容并代理
Header add HEADER "HEADERVALUE"
RequestHeader set HEADER "HEADERVALUE"
请参阅HTTPD doc
答案 2 :(得分:0)
您应该创建一个传递headername和header值的AddReqHeaderForFrowardWrapper请求包装器。并覆盖与请求标头相关的方法以返回自定义标头。
答案 3 :(得分:0)
您可以使用Tracer来实现。 有可用的框架来支持此实现。 Spring提供了Sleuth,Zipkin,OpenTracing。 我发现OpenTracing易于使用,而不必担心依赖冲突。 在此处了解更多信息:https://opentracing.io/guides/java/
答案 4 :(得分:-3)
我没有编写模拟应用程序,而是使用了一个允许我添加自定义标题的浏览器插件!
答案 5 :(得分:-5)
要在java中设置标题,您可以使用:
request.setHeader(attributeName, attributeValue);
要重定向到其他页面,您可以使用:
request.sendRedirect(URL);