SORU
29 Temmuz 2012, Pazar


ApplicationContext ve Spring MVC WebApplicationContext arasındaki fark nedir?

Olası Çoğalt:
difference between applicationContext and spring-servlet.xml in spring

Uygulama İçerik ve Web Uygulama Bağlamı arasındaki fark nedir?

WebApplicationContext Spring MVC odaklı mimari uygulamalar için kullanılan farkındayım?

MVC uygulamalarında ApplicationContext kullanımı ne olduğunu bilmek istiyorum? Ve ne tür fasulye ApplicationContext tanımlanır?

CEVAP
29 Temmuz 2012, Pazar


Web Uygulama kapsamında mümkün kabı ile iletişim kurmak için standart ile çalışmak üzere tasarlanmış olan Uygulama Kapsamında javax.servlet.ServletContext genişletilmiş.

public interface WebApplicationContext extends ApplicationContext {
    ServletContext getServletContext();
}

Fasulye, WebApplicationContext örneği de arayüzü ServletContextAware uygularsanız ServletContext kullanmak mümkün olacak

package org.springframework.web.context;
public interface ServletContextAware extends Aware { 
     void setServletContext(ServletContext servletContext);
}

Pek çok şey mümkün ServletContext örneği ile, örneğin WEB-INF kaynakları(xml yapılandırmaları vb.) erişim yapmak için vardır bu getResourceAsStream arayarak() yöntemi. Tüm uygulama kapsamları sunucu uygulaması Bahar bir uygulama web.xml tanımlanmış Web Uygulama kapsamları genellikle, bu iki kök Web içeriği ve sunucu uygulaması app içerik için de geçerli.

Ayrıca, web uygulama kapsamında yeteneklerine bağlı olarak uygulama biraz daha fazla test yapmak ve test etmek için MockServletContext Sınıf kullanmanız gerekebilir.

Sunucu uygulaması ve kök bağlam arasındaki fark Bahar seni çok düzeyli uygulama kapsamında hiyerarşileri inşa eder, gerekli bean geçerli uygulama çerçevesinde mevcut değilse üst bağlamda getirilen olacak. Varsayılan olarak web uygulamaları iki hiyerarşi düzeyleri, kök ve sunucu barındırma kaynaklar:enter image description here vardır

Bu olanak sağlar çalışma bazı hizmetler olarak tekiz için tüm uygulama (Bahar Güvenlik fasulye ve temel veritabanı erişim hizmetleri genellikle burada ikamet) ve diğer olarak ayrılmış hizmetleri ile ilgili sunucu uygulamalarını önlemek adına çatışmalar arasında fasulye. Örneğin, bir sunucu uygulaması kapsamında web sayfaları sunmak olacaktır ve başka bir vatansız bir web hizmeti uygulama olacaktır.

Bu iki düzey ayrılık bahar uygulamasında sınıfları kullandığınızda kutusundan çıkıyor: kullanmalısınız kök uygulama kapsamında yapılandırılacakbağlam-paramsenin web.xml etiket

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

(root uygulama kapsamında web.xml ilan ContextLoaderListener tarafından oluşturulur

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

) vesunucu uygulamasısunucu uygulaması uygulama kapsamları için etiket

<servlet>
   <servlet-name>myservlet</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>app-servlet.xml</param-value>
   </init-param>
</servlet>

Lütfen init-param silinmiş olacak, bahar bu örnekte myservlet-servlet.xml kullanacağını unutmayın.

Ayrıca bakınız: Difference between applicationContext.xml and spring-servlet.xml in Spring

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jedimasterkyle

    jedimasterky

    11 ŞUBAT 2006
  • KittiesMama

    KittiesMama

    10 AĞUSTOS 2008
  • TechShowsYou

    TechShowsYou

    3 Mart 2011