我有一个项目,我可以看到JSP的......然而Jboss的显示我的servlet所以在地址栏中所有我可以看到JSP网页是:如何知道哪些是显示我的servlet
“appservleer?= AppDev”
这是一个不是实际地址的例子......但是只有那些信息,我怎么知道JBoss当时正在显示哪个JSP。
还是我错误地理解了这个Jboss,servlet,JSP?
一些指导将不胜感激。
谢谢。
我有一个项目,我可以看到JSP的......然而Jboss的显示我的servlet所以在地址栏中所有我可以看到JSP网页是:如何知道哪些是显示我的servlet
“appservleer?= AppDev”
这是一个不是实际地址的例子......但是只有那些信息,我怎么知道JBoss当时正在显示哪个JSP。
还是我错误地理解了这个Jboss,servlet,JSP?
一些指导将不胜感激。
谢谢。
除非开发人员决定给出提示,否则您无法知道哪个jsp
正在显示。
A jsp
只是servlet用来呈现响应的视图技术。也就是说,通常,jsp
将被解析并生成html。但是,servlet的开发人员可能会决定自己写入响应。因此,即使您的网址为www.mydomain.com/page.jsp
,也无法真正了解您是从jsp
还是从其他来源获得的。没有什么能保证您在浏览器中看到的回复是从jsp
生成的。
正是我的观点......我不确切知道生成该特定网页的具体内容。但是我可以访问代码,因此我可以访问我所做的web.xml,并且我发现地址栏上显示的名称,但我不知道下一步该如何查找正在显示的JSP。 – 2013-04-11 16:06:39
@StevenHernandez你可以通过'url-mapping'元素将'Servlet'映射到哪个url的循环。如果您可以访问servlet代码,那么可以查看它们的实现并检查它们可能通过“RequestDispatcher”转发给哪个'jsp'。会有一些相对路径指向它。 – 2013-04-11 16:07:58
ahhh有道理,所以@pravat在他的回答中有一些逻辑。但是所有这些添加过程都是通过跟踪在地址栏中显示的servlet名称从web.xml完成的? – 2013-04-11 16:10:41
确定使用哪个JSP进行渲染的唯一方法是查看映射到(在您的示例中)"appservleer"
下的servlet的源代码。
查看web.xml
哪个servlet与此路径映射,并打开此servlet的源代码。然后找出执行路径,从doGet(...)
或doPost(...)
方法开始,并查看它最终转发到哪个JSP ...
祝你好运。
是的,我找到了web.xml和servlet的名称,但这是我的源代码中的确切名称?所以它会是appservleer.java? – 2013-04-11 16:12:00
应将servlet定义为包含
您应该始终从web.xml文件开始,该文件最终会引导您显示实际的jsp文件。从servlet映射开始,检查为哪个servlet调用了url。然后深入到servlet中,找出它被重定向到的jsp。如果您正在使用任何应用程序框架,请查找实现以查找映射。对于例如在春季,Spring配置文件或控制器类将告诉你呼叫被重定向到的位置。
也许你是对的,我需要跟踪实际的JSP然而@Sotorios说了一些关于不能够知道它是否真的由JSP生成的......那么,其他可能是? – 2013-04-11 16:09:04
我同意。响应也可以由servlet本身生成,这不是一个好习惯,但是,你无法阻止它。而且,无论它是由jsp还是servlet生成的,如果从web.xml开始,则始终可以跟踪到根。 – pravat 2013-04-11 16:42:35
恰恰是因为这意味着如果servlet本身显示网页,通过到达servlet我会做回溯。 – 2013-04-11 16:45:12
感谢您的答案家伙。 – 2013-04-11 16:13:28