Spring Web MVC: dispatcher-servlet.xml vs applicationContext.xml (artı paylaşılan güvenlik)
Ne doğru yolu iki bağlamlarda kullanmak için: dispatcher-servlet.xml
applicationContext.xml
? Ne nereye gider?
Oldukça tipik bir uygulama sunucu uygulaması bir kap içinde dağıtılan yazmak istiyorum. JSP manzaralı bazı denetleyicileri var. Ayrıca arka uç biraz saçma bir mantığı vardır. Gerçekten her iki grupta ihtiyacım var mı? Nasıl birbirleri ile ilişkilidir? Nasıl koymak için ne karar miyim?
Ayrıca, benim uygulama için Bahar-güvenlik kullanmak istiyorum. Daha derin katmanlarda web denetleyicileri yanı sıra özellikleri (ek açıklamalar ile bildirime dayanan güvenlik gibi) kullanmak isteyebilirsiniz. Nasıl bu durumda çalışmak için güvenlik yapılandırmanız gerekir? Bu dosyalar (?) olmalıdır ya da her ikisi?
CEVAP
dispatcher-servlet.xml
dosya Spring MVC
için yapılandırma içerir. O yüzden yaniViewHandlerResolvers
, , * ConverterFactories
*9 ve diğerleri gibi fasulye bulabilirsiniz. Bu fasulye tüm web istekleri nasıl yapılar bir çerçeve olan Spring MVC
parçası, veri bağlama, görünüm çözünürlük ve talep eşleştirme gibi kullanışlı özellikleri sağlar.
application-context.xml
isteğe bağlı olarak Spring MVC
ya da bu konuda başka bir çerçeve kullanırken dahil edilebilir. Bu, veri sebat gibi şeyler için destek sağlayan bahar fasulye diğer türleri yapılandırmak için kullanılan bir kap verir. Temelde, diğer güzellikler Bahar teklifler tüm çekilip bu yapılandırma dosyası.
Bu yapılandırma dosyaları, gösterildiği gibi: web.xml dosyasında yapılandırılır
Dağıtıcı Config
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Uygulama Config
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/application-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Denetleyicileri yapılandırmak için @Controller
ile açıklama dispatcher-context.xml
dosya: şunlardır
<mvc:annotation-driven/>
<context:component-scan base-package="package.with.controllers.**" />
Arasındaki fark applicationContext.xml...
ApplicationContext ve Spring MVC WebAp...
Nasıl applicationcontext.xml yerine Ba...
Spring MVC @PathVariable kesildi...
Spring MVC için JSP alternatifleri kat...