我有一个类似webroot/TellSomeoneMail
的网址格式和相应的类
<servlet>
<servlet-name>TellSomeoneMail</servlet-name>
<display-name>Tell Someone Mail</display-name>
<servlet-class>com.nightingale.register.servlet.TellSomeoneMailServlet</servlet-class>
</servlet>
但是如何识别调用此servlet的JSP文件?
答案 0 :(得分:3)
通过查看HTTP正文中的referer头,可以在执行期间识别我们的servlet:
String referrer = request.getHeader("referer");
编辑1 :您还可以使用会话来保留用户加入的最后一个网址(这种机制已经存在于框架中,如grails或Spring下的“flash”属性,不要混淆用adobe flash)。如果你使用简单的Servlet / JSP,你需要编写这样的支持......
编辑2 如果Cookie和裁判被阻止,最后的解决方案是在URL中添加参考最后一页的参数,例如URL?from=home_pg
或URL?from=/homepage.html
但是它可能需要重写页面中嵌入的网址。
答案 1 :(得分:0)
您可以获取发送请求的网址。看一下下面的代码
if (request instanceof HttpServletRequest) {
String url = ((HttpServletRequest)request).getRequestURL().toString();
}
答案 2 :(得分:0)
查找允许用户向servlet发出请求的JSP页面:在web.xml中的<servlet-mapping>
元素中检查servlet映射的路径。
然后对您的项目中的所有JSP进行全文搜索。查找包含servlet路径的目标的HTML <a>
和<form>
元素。