1

J'ai commencé mon nouveau projet Spring mvc et j'ai décidé d'aller avec SpringSource ToolSuite. Quand je crée un projet, il crée automatiquement un filtre urlrewrite dans mon fichier web.xml, que j'apprécie beaucoup. Cependant, cette chose brillante d'urlrewrite ne semble pas fonctionner avec opensessioninviewfilter. Est-ce que quelqu'un peut m'aider?urlrewrite et opensessioninviewfilter ne fonctionnent pas ensemble

Voici mon web.xml (j'ai essayé en changeant l'ordre des filtres.)

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring/app-config.xml</param-value> 
    </context-param> 

    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <!-- sessiong neelttei bailgah tohirgoo --> 
    <filter> 
     <filter-name>hibernateFilter</filter-name> 
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> 
     <init-param> 
     <param-name>sessionFactoryBeanName</param-name> 
     <param-value>sessionFactory</param-value>   
     </init-param>  
    </filter> 

    <filter-mapping> 
    <filter-name>hibernateFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    <!-- Enables clean URLs with JSP views e.g. /welcome instead of /app/welcome --> 
    <filter> 
     <filter-name>UrlRewriteFilter</filter-name> 
     <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>UrlRewriteFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    <!-- Handles all requests into the application --> 
    <servlet> 
     <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value> 
       /WEB-INF/spring/*.xml 
      </param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <!-- Maps all /app requests to the DispatcherServlet for handling --> 
    <servlet-mapping> 
     <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
     <url-pattern>/app/*</url-pattern> 
    </servlet-mapping> 



</web-app> 
+0

Que se passe-t-il exactement? – axtavt

+0

Le filtre Opensessioninview ne fonctionnerait tout simplement pas. J'ai une exception d'initialisation paresseuse comme si je n'utilisais pas de filtre opensessioninview. Je sais que c'est à cause de ce filtre urlrewrite. Parce que le filtre opensessioninview fonctionne parfaitement sans cela, mais je ne veux vraiment pas supprimer urlrewritefilter pour plusieurs raisons. – beku8

Répondre

0

Cette chose exacte me arrivait et la solution proposée par axtavt sur here pour un autre filtre fonctionne un régal sur celui-ci aussi.

Juste Déclarez votre OpenSessionInViewFilter filter-mapping comme ceci:

<filter-mapping> 
    <filter-name> 
     OpenPersistenceManagerInViewFilter 
    </filter-name> 
    <url-pattern>/app/*</url-pattern> 
    <url-pattern>/api/*</url-pattern> 
    <url-pattern>/admin/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
</filter-mapping> 

Juste pour les mots-clés charge Incase il aide, cette erreur se manifeste lorsque vous essayez d'accéder au magasin de données sur Google App Engine avec JDO comme:

org.datanucleus.exceptions.NucleusUserException: Object Manager has been closed 
Questions connexes