2012-03-29 3 views
5

Je dois utiliser des connecteurs qui sont en fait des servlets. Comment puis-je faire cela dans Grails et qu'en est-il du web.xml? Comment configurer l'URL de la servlet?Comment utiliser une servlet dans mon application grails?

J'ai effectivement une application Spring ici et j'essaie de le convertir en une application Grails partielle. J'ai une servlet de connecteur dans l'application de printemps, que je souhaite utiliser ici mais le mappage est un must pour appeler le servlet dans le fichier gsp. Comment puis-je faire ceci? J'ai fondamentalement besoin de savoir où est le fichier xml dans le cas de Grails.

+0

Cette question est trop conseil, u besoin de restreindre vous la question à une partie plus spécifique de ce don Tu ne comprends pas, ce que tu as essayé. – Churk

+0

@Churk Merci churk pour la réponse j'ai édité la question pour être plus précis. –

Répondre

8

pour obtenir le fichier web.xml, vous pouvez exécuter:

grails install-templates 

Ensuite, le fichier se trouve dans:

<yourapp>/src/templates/war/web.xml 

Modifier comme d'habitude pour ajouter <servlet> et <servlet-mapping> sections, puis mettez votre code de servlet dans :

<yourapp>src/java/your/package/structure/WhateverServlet.java 

et vous devriez être bon d'aller

+0

Merci, j'ai essayé cela, mais pour une raison quelconque, je reçois une ressource 404 pas avilable.Je ne sais pas pourquoi, Et la cartographie est absolument la même que celle de mon application de printemps où la même cartographie fonctionne parfaitement.Aussi le la structure du dossier est la même. J'appelle cette servlet dans un javascript de ma page de gsp. En fait cette même page est un HTML dans le cas de mon ancienne application de printemps. –

+0

Assurez-vous de placer le mappage d'URL de votre servlet avant la servlet du répartiteur de grails – vishesh

-3

bonnes et mauvaises nouvelles, et j'ai moi-même posé cette question ici avant. Avec l'application de printemps, vous pouvez avoir plusieurs niveaux d'URI tels que domain.com/abc/def/efg/abc vs grails a beaucoup de problème avec tout ce qui dépasse domain.com/controller/view. Voici un lien vers ma question originale: Grails URL mapping cause error on GSP

La bonne nouvelle est que vous n'avez pas besoin de gérer le mappage XML, les grails le font sans problème avec les contrôleurs et les vues. Donc, vous êtes presque limité à domain.com/YouController/YourView/SomeParamteres ... mais si c'est tout ce dont vous avez besoin, tout ce que vous avez à faire est de créer grails-app/Controller/SomethingController.groovy et vous avez automatiquement domain.com/Quelque chose

3

Si vous êtes dans un Grails-plugin, alors vous avez un endroit défini au sein de votre *GrailsPlugin.groovy, où faire de telles choses. Par exemple. Regardez la fermeture générée automatiquement:

def doWithWebDescriptor = { xml -> 
    [] 
} 

Ici vous pouvez ajouter vos configurations de servlets personnalisées:

def servlets = xml.'servlet' 
    servlets[servlets.size() - 1] + { 
     servlet { 
      'servlet-name'('yourName') 
      'servlet-class'('yourpackage.YourClass') 
     } 
    } 

    def mappings = xml.'servlet-mapping' 
    mappings[mappings.size() - 1] + { 
     'servlet-mapping' { 
      'servlet-name'('yourName') 
      'url-pattern'('/yourPattern/*') 
     } 
    } 
Questions connexes