小编Mel*_*ssa的帖子

嵌入式Jetty重写无法正常工作

我试图在Jetty文档示例之后在嵌入式Jetty服务器中实现一个简单的重写规则.

我想要请求/admin/重写到/admin.html.目前,如果我要求/admin/我得到404错误,/admin.html但未找到.但如果我/admin.html直接要求,它的确有效!

stackoverflow上有2个其他类似的帖子,但没有问题的答案!

这是代码:

WebAppContext _ctx = new WebAppContext();
_ctx.setContextPath("/");
_ctx.setDefaultsDescriptor(JETTY_DEFAULTS_DESCRIPTOR);
_ctx.setParentLoaderPriority(true);       
_ctx.setWar(getShadedWarUrl());
_ctx.setResourceBase(getShadedWarUrl());

RewriteHandler rewriter = new RewriteHandler();
rewriter.setRewritePathInfo(true);
rewriter.setRewriteRequestURI(true);
rewriter.setOriginalPathAttribute("requestedPath");

RewritePatternRule admin = new RewritePatternRule();
admin.setPattern("/admin/");
admin.setReplacement("/admin.html");
admin.setTerminating(true); // this will stop Jetty from chaining the rewrites
rewriter.addRule(admin);

_ctx.setHandler(rewriter);

HandlerCollection _handlerCollection = new HandlerCollection();
_handlerCollection.setHandlers(new Handler[] {_ctx});
server.setHandlers(_result);
Run Code Online (Sandbox Code Playgroud)

rewrite jetty embedded-jetty

10
推荐指数
1
解决办法
2010
查看次数

标签 统计

embedded-jetty ×1

jetty ×1

rewrite ×1