【发布时间】:2014-08-04 08:29:12
【问题描述】:
我正在尝试从过滤器中获取登录页面,如下所示: context.getRequestDispatcher("/loginpage.jsp") (然后我想转发)
现在,如果我执行 context.getContext("/loginpage.jsp"),它会正确显示我想要的资源的文件系统路径。所以这意味着它确实可以看到它。但是使用请求调度程序它只是无法解决。
我正在以非常非标准的方式运行这个 tomcat。我使用 catalina.sh 通常会调用的所有属性和选项调用 java.exe。我同意这可能是我所有问题的原因,但我仍然有兴趣找出这里可能出现的问题。
(注意:这仅在开发环境中运行,并且直到最近一直正常工作而没有抱怨。但是我最近对开发环境进行了重大更改,这显然破坏了一些东西)
编辑: 我刚刚注意到的另一点是,即使尝试访问完全静态的资源(如 /css/styles.css 等)也失败了。所以这不是 getrequestDispatcher 的具体问题,而是我认为更基本的问题?
【问题讨论】:
-
在你的爆炸战争中,这个 login.jsp 与你的 web 根目录在哪里
-
它就在war文件的根目录下。因此,当它爆炸时,它会转到 tomcat/webapps/
/loginpage.jsp (我证实确实发生了) -
有点猜测,但如果你把它放在
/WEB-INF/loginpage.jsp中可能会起作用? -
我不太确定这是否会有所帮助。 jsp 并不真正属于 WEB-INF ......事实上,tomcat 甚至不允许通过 http 提供 WEB-INF 中的文件。
标签: java tomcat servlets tomcat7 servlet-filters