【问题标题】:Internal Servlet mapping - web.xml内部 Servlet 映射 - web.xml
【发布时间】:2012-07-23 02:38:49
【问题描述】:

我想知道是否有任何方法可以创建只能在 web 应用程序中访问的 servlet 映射。例如,此应用程序中的一个文件调用了另一个文件,但它不能从网络应用程序外部访问。

谢谢,

【问题讨论】:

  • 你把你的网络文件放在哪里了?如果将它们放在 web-inf 文件夹中,外部世界将无法访问它。
  • 您在 web.xml 中所做的任何映射都是全局的,所以我认为您不能像您要求的那样进行限制。一种方法可能是编写一个过滤器,它检查请求标头(或)某些参数以区分浏览器调用(或)内部调用,然后决定是否转发到 servlet(或)返回错误页面。
  • 感谢过滤器的建议。我已经实现了它并且工作正常。

标签: java web-services jsp servlets


【解决方案1】:

是的,有办法。将受限制的 jsp 文件放在 web-inf 目录中。然后将这些jsp导入其他jsp是完全合法的,不会给您带来任何问题。

查看下面的示例jsp:

<%@page import="admin.*"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert template='myTemplate.jsp'>
  <tiles:put name='top' content='/WEB-INF/templates/top.jsp''/>  
  <tiles:put name='main' content='/WEB-INF/templates/main.jsp''/>  
  <tiles:put name='footer' content='/WEB-INF/templates/footer.jsp'/>
</tiles:insert>

【讨论】:

    猜你喜欢
    • 2015-03-01
    • 2013-01-20
    • 2016-07-05
    • 2012-04-17
    • 2012-01-02
    • 2011-07-06
    • 2013-09-24
    • 2010-10-04
    相关资源
    最近更新 更多