我有一个可以看到 JSP 的项目......但是 Jboss 向我展示了 servlet,所以在地址栏中我只能看到:
“appservleer?=AppDev”
这是一个示例,不是实际地址……但仅凭该信息,我如何才能知道 JBoss 当时正在显示哪个 JSP。
还是我对这个 Jboss、servlet、JSP 的理解有误?
一些指导将不胜感激。
谢谢。
除非开发人员决定给出提示,否则您无法知道jsp
正在显示哪个。
Ajsp
只是 servlet 用来呈现响应的一种视图技术。也就是说,通常jsp
会解析并生成 html。但是,servlet 的开发人员可能决定自己写入响应。所以没有什么能真正告诉你你得到的东西是来自一个jsp
来源还是另一个来源,即使你有一个像www.mydomain.com/page.jsp
. 无法保证您在浏览器中看到的响应是从jsp
.
确定使用哪个 JSP 进行渲染的唯一方法是查看映射下的 servlet 的源代码(在您的示例中)"appservleer"
。
看看web.xml
这个路径映射到哪个servlet,打开这个servlet的源代码。然后搞清楚执行路径,从doGet(...)
ordoPost(...)
方法开始,看最后转发到哪个JSP...
祝你好运。
您应该始终从 web.xml 文件开始,该文件最终将引导您到显示的实际 jsp 文件。从 servlet 映射开始,检查为 url 调用了哪个 servlet。然后深入研究 servlet 以找出它被重定向到的 jsp。如果您正在使用任何应用程序框架,请查找实现以找出映射。例如,在 spring 中,spring 配置文件或控制器类会告诉您调用重定向到哪里。