IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

[WebMVC][Dispatcher] Rendre un vue avec une extension différente


Sujet :

Spring Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [WebMVC][Dispatcher] Rendre un vue avec une extension différente
    Bonjour tout le monde,


    Par defaut, mon application utilise l'extension ".html" mais je dois créer une page Javascript depuis une Servlet.

    Mon idée etait donc de rajouter un <servlet-mapping> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <servlet-mapping>
    		<servlet-name>dispatcher</servlet-name>
    		<url-pattern>*.html</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>dispatcher</servlet-name>
    		<url-pattern>*.dyn.js</url-pattern>
    	</servlet-mapping>
    Mais ça ne semble pas fonctioner, Tomcat me renvoei le message suivant :
    Etat HTTP 404 - /lib/translate.dyn.js

    type Rapport d'�tat

    message /lib/translate.dyn.js

    description La ressource demand�e (/lib/translate.dyn.js) n'est pas disponible.

    Est-il possible de signaler a Spring qu'il dois traiter d'autres extensions ?

    Merci
    Dernière modification par Invité ; 09/01/2009 à 12h35.

  2. #2
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Par défaut
    Y a-t-il moyen de voir tes fichiers de config Spring ?
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui bien sur :
    Web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>
    			classpath:daoContext.xml			<!--  Storage access context -->
    			classpath:servicesContext.xml 		<!--  Services and transaction context -->
    			classpath:securityContext.xml 		<!--  Security Context -->
    			classpath:applicationContext.xml	<!--  Root Context -->
    		</param-value>
    	</context-param>
     
    <listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	<listener>
    		<listener-class>org.springframework.security.ui.session.HttpSessionEventPublisher</listener-class>
    	</listener>
     
    <servlet>
    		<servlet-name>dispatcher</servlet-name>
    		<servlet-class>
    			org.springframework.web.servlet.DispatcherServlet
    		</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>dispatcher</servlet-name>
    		<url-pattern>*.html</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>dispatcher</servlet-name>
    		<url-pattern>*.dyn.js</url-pattern>
    	</servlet-mapping>
    dispatcher-servlet.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <beans>
    	<import resource="classpath:applicationContext.xml"/>	
    <bean id="urlMappingForControllers" 
    		class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
     
    	<bean id="urlMappingsWithoutControllers"
    		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    		<property name="mappings">
    			<props>
                                ...
                               <prop key="lib/translate.dyn.js">translationScriptsController</prop>
    </props>
    		</property>	
    	</bean>
     
    <bean id="viewNameTranslator" 
    		class="org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator" />
     
     -->
    	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<property name="prefix" value="/WEB-INF/views/jsp/" />
            <property name="suffix" value=".jsp" />
     	</bean>

  4. #4
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Par défaut
    As tu des logs ?
    Peux tu mettre log4j au maximum pour avoir un maximum de trace ?
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Non aucuns, j'ai mis "log4j.logger.org.springframework=ALL, stdout" dans mon fichier "log4j.properties" mais il n'y à rien à propos de mon problème.

    Au cas ou, les voici quand même :
    2009-01-09 14:21:45,218 DEBUG [org.springframework.security.util.FilterChainProxy] - Converted URL to lowercase, from: '/lib/translate.dyn.js'; to: '/lib/translate.dyn.js'
    2009-01-09 14:21:45,218 DEBUG [org.springframework.security.util.FilterChainProxy] - Candidate is: '/lib/translate.dyn.js'; pattern is /**; matched=true
    2009-01-09 14:21:45,218 DEBUG [org.springframework.security.util.FilterChainProxy] - /lib/translate.dyn.js at position 1 of 7 in additional filter chain; firing Filter: 'org.springframework.security.context.HttpSessionContextIntegrationFilter[ order=200; ]'
    2009-01-09 14:21:45,218 DEBUG [org.springframework.security.context.HttpSessionContextIntegrationFilter] - HttpSession returned null object for SPRING_SECURITY_CONTEXT
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.context.HttpSessionContextIntegrationFilter] - New SecurityContext instance will be associated with SecurityContextHolder
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.util.FilterChainProxy] - /lib/translate.dyn.js at position 2 of 7 in additional filter chain; firing Filter: 'org.springframework.security.ui.logout.LogoutFilter[ order=300; ]'
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.util.FilterChainProxy] - /lib/translate.dyn.js at position 3 of 7 in additional filter chain; firing Filter: 'org.springframework.security.providers.anonymous.AnonymousProcessingFilter[ order=1300; ]'
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.providers.anonymous.AnonymousProcessingFilter] - Populated SecurityContextHolder with anonymous token: 'org.springframework.security.providers.anonymous.AnonymousAuthenticationToken@6fa90ed4: Principal: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.springframework.security.ui.WebAuthenticationDetails@fffc7f0c: RemoteIpAddress: 127.0.0.1; SessionId: 1506E994F63424388F6FB8FA0EA68231; Granted Authorities: ROLE_ANONYMOUS'
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.util.FilterChainProxy] - /lib/translate.dyn.js at position 4 of 7 in additional filter chain; firing Filter: 'org.springframework.security.ui.webapp.AuthenticationProcessingFilter[ order=700; ]'
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.util.FilterChainProxy] - /lib/translate.dyn.js at position 5 of 7 in additional filter chain; firing Filter: 'org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter[ order=1100; ]'
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.wrapper.SavedRequestAwareWrapper] - Wrapper not replaced; SavedRequest was: null
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.util.FilterChainProxy] - /lib/translate.dyn.js at position 6 of 7 in additional filter chain; firing Filter: 'org.springframework.security.ui.ExceptionTranslationFilter[ order=1400; ]'
    2009-01-09 14:21:45,265 DEBUG [org.springframework.security.util.FilterChainProxy] - /lib/translate.dyn.js at position 7 of 7 in additional filter chain; firing Filter: 'org.springframework.security.intercept.web.FilterSecurityInterceptor@663187'
    2009-01-09 14:21:45,265 DEBUG [org.springframework.orm.hibernate3.SessionFactoryUtils] - Opening Hibernate Session
    2009-01-09 14:21:45,343 DEBUG [org.springframework.orm.hibernate3.HibernateTemplate] - Eagerly flushing Hibernate session
    2009-01-09 14:21:45,343 DEBUG [org.springframework.orm.hibernate3.SessionFactoryUtils] - Closing Hibernate Session
    2009-01-09 14:21:45,359 DEBUG [org.springframework.security.intercept.AbstractSecurityInterceptor] - Secure object: FilterInvocation: URL: /lib/translate.dyn.js; ConfigAttributes: [ROLE_ANONYMOUS]
    2009-01-09 14:21:45,359 DEBUG [org.springframework.security.intercept.AbstractSecurityInterceptor] - Previously Authenticated: org.springframework.security.providers.anonymous.AnonymousAuthenticationToken@6fa90ed4: Principal: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.springframework.security.ui.WebAuthenticationDetails@fffc7f0c: RemoteIpAddress: 127.0.0.1; SessionId: 1506E994F63424388F6FB8FA0EA68231; Granted Authorities: ROLE_ANONYMOUS
    2009-01-09 14:21:45,359 DEBUG [org.springframework.security.intercept.AbstractSecurityInterceptor] - Authorization successful
    2009-01-09 14:21:45,359 DEBUG [org.springframework.web.context.support.XmlWebApplicationContext] - Publishing event in context [org.springframework.web.context.support.XmlWebApplicationContext@1ec3c6d]: org.springframework.security.event.authorization.AuthorizedEvent[source=FilterInvocation: URL: /lib/translate.dyn.js]
    2009-01-09 14:21:45,359 INFO [org.springframework.security.event.authorization.LoggerListener] - Security authorized for authenticated principal: org.springframework.security.providers.anonymous.AnonymousAuthenticationToken@6fa90ed4: Principal: anonymousUser; Password: [PROTECTED]; Authenticated: true; Details: org.springframework.security.ui.WebAuthenticationDetails@fffc7f0c: RemoteIpAddress: 127.0.0.1; SessionId: 1506E994F63424388F6FB8FA0EA68231; Granted Authorities: ROLE_ANONYMOUS; secure object: FilterInvocation: URL: /lib/translate.dyn.js; configuration attributes: [ROLE_ANONYMOUS]
    2009-01-09 14:21:45,359 DEBUG [org.springframework.security.intercept.AbstractSecurityInterceptor] - RunAsManager did not change Authentication object
    2009-01-09 14:21:45,359 DEBUG [org.springframework.security.util.FilterChainProxy] - /lib/translate.dyn.js reached end of additional filter chain; proceeding with original chain
    2009-01-09 14:21:45,359 DEBUG [org.springframework.security.context.HttpSessionContextIntegrationFilter] - SecurityContext contents are anonymous - context will not be stored in HttpSession.
    2009-01-09 14:21:45,359 DEBUG [org.springframework.security.ui.ExceptionTranslationFilter] - Chain processed normally
    2009-01-09 14:21:45,359 DEBUG [org.springframework.security.context.HttpSessionContextIntegrationFilter] - SecurityContextHolder now cleared, as request processing completed

  6. #6
    Invité
    Invité(e)
    Par défaut
    Le problème se trouve dans le servlet-mapping. Si j'utilise le mapping suivant tout fonctionne très bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <servlet-mapping>
    		<servlet-name>dispatcher</servlet-name>
    		<url-pattern>/lib/translate.dyn.js</url-pattern>
    	</servlet-mapping>
    J'ai crée une discussion sur le forum Tomcat afin d'essayer de placer un pattern plus générique :
    http://www.developpez.net/forums/d67...s/#post3928549

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 59
    Par défaut DispatcherServlet, servlet unique.
    Bonjour Blaise,

    Citation Envoyé par Blaise1 Voir le message
    Bonjour tout le monde,


    Par defaut, mon application utilise l'extension ".html" mais je dois créer une page Javascript depuis une Servlet.

    Spring Web MVC utilise le concept de ModelAndView.

    Il te suffit de créer une view spécifique chargée d'écrire dans un fichier ton code javascript (avec les classes de gestion des flux, c'est très simple: InputStream/OutputStream).
    Par exemple une classe qui serait nommée "WriteInFile", dont le constructeur prendrait le path, le nom et l'extension du fichier à créer.

    WriteInFileController -> ton controller Spring,
    WriteInFile(...)View->tes view associées à ce controller.

    A toi, après, de choisir la sortie:
    - HTML classique, (à ce moment-là, ce n'est peut-être pas la peine d'implémenter une view, un simple msg d'état de la tâche dans ton Controller suffira...),
    - Excel/Word avec les librairies POI,
    - PDF avec iText.

    Mais tu n'as en aucun cas besoin d'ajouter un servlet à Spring pour faire cela... Un DispatcherServlet par application, ça suffit amplement.

    Dans ton cas, une view nommée WriteInFileJavascriptView() serait une piste intéressante si tu veux afficher le contenu de ton fichier Javascript à l'écran...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. peut-on relier une vue avec une Table?
    Par geof dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 04/03/2008, 15h27
  2. Réponses: 6
    Dernier message: 30/01/2008, 20h46
  3. Créer une vue avec une image au format postscript *.eps
    Par pobsteta dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 22/11/2007, 15h12
  4. Ouvrir fichier avec une extension dmp
    Par flo_opium dans le forum Oracle
    Réponses: 2
    Dernier message: 23/11/2006, 10h06
  5. conception d'un document avec une extension ??
    Par ouldfella dans le forum Windows
    Réponses: 2
    Dernier message: 23/05/2006, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo