2012-04-10 21 views
4

Ich habe eine kurze Frage, das heißt, wie führe ich Anwendungen, die Spring-Framework auf Glassfish Server verwenden? Das heißt, wie lasse ich es unter Kontrolle von Spring-Containern laufen? Muss ich den Server oder etwas erweitern, ich kann nicht viel Information darüber finden, Sachen, die ich über OSGI-Module gelesen habe, verwirrte mich einfach.Glassfish + Spring

Antwort

7

Im Grunde verwenden Sie web.xml, um Spring mit einem Listener zu starten, und dann ordnen Sie einen oder mehrere spring Dispatcher-Servlets zu. Sie definieren Controller-Beans im dispatcher-servlet.xml, injizieren Beans, die Sie im applicationContext definiert haben, und es gibt eine Kaskade von Kaskaden von dort.

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     /WEB-INF/applicationContext.xml 
     etc etc 
    </param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</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>/myApp/*</url-pattern> 
</servlet-mapping> 
1

Definieren Sie im Implementierungsdeskriptor (web.xml) Servlet Listener und Kontextparameter.

Kontextparameter - Dateispeicherort für Spring Bean-Dateien. (Wild Char erlaubt und Pickup Haufen von Dateien, die unter dieser Wild Char-Auswahl ist.)

Listener - Feder Klasse, die Anfrage hören wird. Verschiedene Klassen sind für verschiedene Zwecke verfügbar.

<context-param> 
    <param-name>contextConfigLocation</param-name> 
      <!-- All file ends with Context.xml under web-inf folder --> 
    <param-value>WEB-INF/*Context.xml</param-value> 
</context-param> 


<listener> 
    <display-name>Spring context loader</display-name> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    <!-- use following if you want to use request scope --> 
    <!-- org.springframework.web.context.request.RequestContextListener --> 
</listener> 

<servlet> 
    <servlet-name>servlet name</servlet-name> 
    <servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>name</servlet-name> 
    <url-pattern>/URLName</url-pattern> 
</servlet-mapping>