Исключить JSP из безопасности web.xml

Я хотел бы исключить только один JSP файл question.jsp из security-constraint.

У меня это из моего web.xml:

<security-constraint>
    <display-name>My Security Constraint</display-name>
    <web-resource-collection>
        <web-resource-name>Protected Area</web-resource-name>      
        <url-pattern>*.do</url-pattern>
        <url-pattern>*.jsp</url-pattern>
    </web-resource-collection>
    <auth-constraint>      
        <role-name>*</role-name>
    </auth-constraint>
</security-constraint>

Ответ 1

Просто добавьте раздел бесплатных страниц, не предоставляя никаких ограничений на использование. Он будет иметь приоритет над защищенными страницами:

<security-constraint>
  <web-resource-collection>
    <web-resource-name>free pages</web-resource-name>
    <url-pattern>/question.jsp</url-pattern>
  </web-resource-collection>
</security-constraint>

Ответ 2

Один из способов сделать это - переместить весь ваш безопасный JSP-контент в определенный путь к каталогу (скажем/защищен/от веб-корня), а затем ваш контент web.xml будет выглядеть следующим образом:

<security-constraint>
    <display-name>My Security Constraint</display-name>
    <web-resource-collection>
        <web-resource-name>Protected Area</web-resource-name>      
        <url-pattern>/protected/*.jsp</url-pattern>

Вы можете оставить свои общедоступные JSP на docroot по умолчанию или на какой-либо другой путь к каталогу по мере необходимости.