Nano Hash - криптовалюты, майнинг, программирование

Конфликт шаблона URL-адреса фильтра в web.xml?

Я работаю над проектом, приложение находится в j2ee, и я использовал ehcache для кэширования веб-страницы, но из-за записей фильтра это дает мне ошибку кодирования содержимого. Я добавил следующий фильтр, и ehcache.xml может кто-нибудь сказать, какая запись вызывает это?

Запись фильтра web.xml

    <filter>
    <filter-name>SetCharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>SetCharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
    <filter>
    <filter-name>Pretty Filter</filter-name>
    <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>Pretty Filter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>
<filter>
    <filter-name>extensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    <init-param>
        <description>Set the size limit for uploaded files.
                   Format: 10 - 10 bytes
                  10k - 10 KB
        </description>
        <param-name>uploadMaxFileSize</param-name>
        <param-value>100m</param-value>
    </init-param>
    <init-param>
        <description>Set the threshold size - files below this limit are stored
             in memory, files above this limit are stored on disk.
                     Format: 10 - 10 bytes
                     10k - 10 KB
        </description>
        <param-name>uploadThresholdSize</param-name>
        <param-value>100k</param-value>
    </init-param>
    <init-param>
        <param-name>uploadRepositoryPath</param-name>
        <param-value>/home</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>*.jsf</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>
<filter>
    <filter-name>CachePage1CachingFilter</filter-name>
    <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter</filter-class>
    <init-param>
        <param-name>suppressStackTraces</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>cacheName</param-name>
        <param-value>CachePage1CachingFilter</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>CachePage1CachingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>

ehcache.xml выглядит следующим образом

 <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">

<diskStore path="java.io.tmpdir"/>
<defaultCache
    maxElementsInMemory="10"
    eternal="false"
    timeToIdleSeconds="5"
    timeToLiveSeconds="10"
    overflowToDisk="true"
/>
<!-- Page and Page Fragment Caches -->
<cache name="CachePage1CachingFilter"
    maxElementsInMemory="10"
    eternal="false"
    timeToIdleSeconds="10000"
    timeToLiveSeconds="10000"
    overflowToDisk="true">
</cache>

Edited:-

Я попытался, и у меня возникла проблема из-за шаблона URL в

   <filter-name>CachePage1CachingFilter</filter-name>
    <url-pattern>/*</url-pattern> 

в фильтре он идет непрерывно в фильтре исключение было повторным исключением, если я пишу следующее

    <filter-name>CachePage1CachingFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>

он работает нормально, но я хочу, чтобы он работал для jsf, а ввод jsf выполняется в конфигурации preety, например, следуйте

 <url-mapping id="ManageUsers">
    <pattern>/manageUsers</pattern>
    <view-id>/pages/master/manageUsers.jsf</view-id>
 </url-mapping>

что мне делать, чтобы избежать этого?


  • Это помогает, если вы публикуете точное сообщение об ошибке, включая трассировку стека. 17.11.2011

Ответы:


1

В спецификации сервлета 2.5 (реализованной Tomcat 6) вы можете указать несколько шаблонов URL:

<filter-mapping>
    <filter-name>CachePage1CachingFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    <url-pattern>*.jsf</url-pattern>
</filter-mapping>

До версии 2.5 вы могли указать два сопоставления.

<filter-mapping>
    <filter-name>CachePage1CachingFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>CachePage1CachingFilter</filter-name>
    <url-pattern>*.jsf</url-pattern>
</filter-mapping>
17.11.2011
Новые материалы

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

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

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

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..