Pie*_*rre 4 java jsp servlets guice guice-servlet
上周我发现了Guice ...我正在尝试一些简单的技巧.但是,我目前被封锁......
我正在尝试将请求转发到由包含" * " 的url-pattern服务的Servlet中的JSP .但我一直收到"错误404":(
一步步 :
ServletModule :
serve("/test/*").with(TestServlet.class);
TestServlet :
public void doGet(HttpServletRequest req, HttpServletResponse resp)  
{
    System.err.println("Start");
    try 
    {
        req.getRequestDispatcher("/WEB-INF/layout/test.jsp").forward(req, resp);
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}
我收到此错误:
HTTP错误404
访问/WEB-INF/layout/test.jsp时出现问题.原因:/
WEB-INF/layout/test.jsp
我测试了"serve("/ test").with(TestServlet.class);" 它工作
我没有Guice测试(通过在web.xml中定义servlet),它工作... 
感谢阅读!
小智 6
你根本没有做错任何事情.Guice中存在一个错误,因为它们对servlet标准的Include和Forward属性处理不当,如此处所述... http://code.google.com/p/google-guice/issues/detail?id=647
结果是接收servlet被错误地描述了路径,因此加载资源的请求即使正确指定它们也找不到正确的目标,即使相同的代码在使用web.xml时也是如此(由servlet解释)引擎而不是Guice).
我无休止的困惑为什么这对于Guice中的许多项目来说并不是一个死胡同,所以也许其他servlet引擎配置的行为掩盖了这个错误.我正在使用Server #start()在Java中显式启动Jetty; 它是许多服务器逻辑的交易破坏者.
然而,即使在针对v2.0向他们提供补丁的情况下,Guice团队似乎已经刻意忽略了这个bug很长一段时间.他们需要的是一个测试用例编写对他们的SVN构建但我从来没有得手给予创造出模拟servlet引擎等存根所需的全部工作.
| 归档时间: | 
 | 
| 查看次数: | 3633 次 | 
| 最近记录: |