当前位置: 首页 > 知识库问答 >
问题:

在servlet 3.0中启用/禁用由@webservlet注释映射的servlet

贺善
2023-03-14

我是一名管理人员,习惯了定义servlets/映射的老派html" target="_blank">方法,即在web.xml中定义servlets/映射。

如果您是开发人员,Servlet3.0非常棒,@webservlet注释也非常漂亮。

问题是,作为一名管理员,如果我管理的webapp包含大量由注释定义的不同实用程序servlets.jar,而并非所有这些都适合于每个部署,该怎么办?换句话说,我希望将适合给定部署的URI映射列入白名单,或者将不适合给定部署的URI映射列入黑名单。

而不需要恢复到早期的servlet规范,而且理想情况下(尽管这并不在桌面上)不要求我的开发人员改变他们做事情的方式。

运行JDK1.7Tomcat7(如果需要的话)。

共有1个答案

章晋鹏
2023-03-14

我希望将适合给定部署的URI映射设置为白名单,或者将不适合的URI映射设置为黑名单。

您可以使用带有空 来阻止对给定URL模式的访问。

<security-constraint>
    <display-name>Restrict direct access to some servlets.</display-name>
    <web-resource-collection>
        <web-resource-name>Restricted URLs</web-resource-name>
        <url-pattern>/servlet1/*</url-pattern>
        <url-pattern>/servlet2/*</url-pattern>
        <url-pattern>/servlet3/*</url-pattern>
        <!-- ... -->
    </web-resource-collection>
    <auth-constraint />
</security-constraint>
 类似资料:
  • 我有以下映射器 我期望的是将使用映射列表中的每个条目。但是当我看到生成的代码时,我有以下内容 创建并使用新的映射器方法,而不是使用。 如何告诉使用。 注意:没有的情况下,一切都很正常。

  • 我有许多带有JAXB注释的实体,我希望使用消息转换器将它们转换为JSON。 我知道我的ObjectMapper可以读取JAXB注释: 但是当我调用rest服务时,默认的注册MappingJacksonHttpMessageConverter(它不是为读取JAXB而配置的)似乎会接管--当忽略@XMLTransient时,由于循环引用而导致stackoverflow... 如何配置Spring来使用

  • 我有三个表:用户,角色,董事会。每个用户可以有多个板,但在一个板中用户只能有一个角色。我创建了三个类并添加了注释: Hibernate创建一个新表,如下所示: 我使用的是hibernate 4.2.2。

  • 问题内容: 考虑此问题中列出的情况: 在Hibernate中映射多级继承 如何使用注释而不是hbm文件完成此映射? 问题答案: 您具体遇到什么问题?通过联接的子类映射类层次结构非常简单: 更新 (基于Michal的评论)。 如果您确实要使用区分符(并且您应该有 充分的 理由这样做),则可以通过将基于类的表策略与辅助表进行混合来实现: 这种方法的缺点是,您必须为每个映射的属性显式指定表:

  • 如何在Grails 3.0.1中映射带有注释的域类? 以下步骤对我不起作用。 步骤1.我使用Grails 3.0.1创建了一个新应用程序()。 步骤2。如Hibernate注释映射中所述,我在src/main/com/books/Book中创建了一个新类。groovy(也是groovy) 步骤3。然后通过将相关条目添加到grails-app/conf/Hibernate/Hibernate,向Hi

  • 问题内容: 是否有注释声明某个方法即使是公共的也不会包含在JavaDocs中? 就像是: 附言:我了解这里有关API的要点,但是这些方法只是“不受支持”。它们可以工作(并且必须是公共的,以便从其他软件包访问),但是我们不希望在它们的功能与受支持的使用场景无关时,对其进行记录并回答有关如何使用它们的问题。好的设计可能意味着将它们移到另一个类,但是它们在逻辑上引用了该类中的数据。 问题答案: 如果您使