Spring Mvc DispatcherServlet Nedir?
Spring Mvc Dersleri‘ne devam ediyoruz.
Bu yazıda Spring ile yapacağımız web uygulamalarında önemli olan DispatcherServlet’i açıklamaya çalışacağım.
Spring uygulaması tek bir servlet üzerinden yönetir. Bu servlet DispatcherServlettir. DispatcherServlet tüm HTTP isteklerini cevaplayan, yöneten bir servlet mekanizmasıdır. DispatcherServlet merkezi bir servlettir. Gelen istekleri alır ve Spring’in tüm özellikleri işleyebilmeyi sağlamaktadır. Java beanlarimizi servletin ele alabilmesi için servlete tanımlamız ya da Java beanlerimizin olduğu paketimizi taramasını söylememiz gerekir.
DispatcherServlet’in web uygulamasında devrede olabilmesi için web.xml dosyamıza belirtmemiz gerekmektedir. Uygulama çalıştığında öncelikli olarak çalışması için;
<load-on-startup>1</load-on-startup>
belirtmemiz gerekmektedir. Ayrıca bu yapacağımız web uygulamalarında tüm url’den gelen isteklerin DispatcherServlet tarafından işlenebilmesi için
<url-pattern>/</url-pattern>
yazmamız gerekmektedir.
DispatcherServlet bir Front Controller’dir.
Örnek bir DispatcherServlet şu şekilde olmaktadır.
<context:component-scan base-package="com.burakkutbay.blog"></context:component-scan> <mvc:annotation-driven /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".jsp" /> </bean>
viewResolver ile web sayfalarımızın hangi klasör altında bulunacağını prefix propertisi ile, bu klasör altında hangi dosya uzantılarının işleme konacağının belirtilmesi ise suffix propertisi ile tanımlanmaktadır.
web.xml ise;
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <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>/</url-pattern> </servlet-mapping> </web-app>
olacaktır. Sonraki dersimizde Spring MVC kullanarak Merhaba Dünya diyeceğiz.
Önceki Ders: Spring MVC Nedir? | Spring MVC Dersleri | Sonraki Ders: Spring MVC ile Merhaba Dünya Uygulaması |
No Comment! Be the first one.