17 Aralık 2021 Cuma

Servlet web.xml İle Spring'i Birleştirme

Giriş
Servlet olarak org.springframework.web.servlet.DispatcherServlet belirtilir

Örnek
Şöyle yaparız
<servlet>
  <servlet-name>spring</servlet-name>
  <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
  
</servlet>
<servlet-mapping>
  <servlet-name>spring</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>
servlet-name olarak ne verdiysek isim + "-servlet.xml" diye bir dosya oluşturulur. Dosyada Spring bean'leri tanımlanır. Bu örnek için xml dosyası şöyledir
spring-servlet.xml
spring-servlet.xml şöyledir. Burada JSP dosyalarının /WEB-INF/jsp altında olduğu belirtiliyor, ayrıca spring component scan yapılıyor. 
<beans ...>

  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
      <value>/WEB-INF/jsp/</value>
    </property>
    <property name="suffix">
      <value>.jsp</value>
    </property>
  </bean>
	
  <bean id="multipartResolver" 
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- max upload size in bytes -->
    <property name="maxUploadSize" value="2097152" /> <!-- 2MB -->
         
    <!-- max size of file in memory (in bytes) -->
    <property name="maxInMemorySize" value="10240" /> <!-- 10 kB -->
  </bean>
	
  <context:component-scan base-package="com.nsn.advantage.in.railway.gui.controller" />
  <context:component-scan base-package="com.nsn.advantage.in.railway.gui.batchprocess" />
	
</beans>
Daha da ilkel bir yöntem şöyle. Burada component scan kullanılmadan her bean elle tanımlanıyor. JNDI içinse yine String sabitlerinden faydalanılıyor
<?xml version="1.0" encoding="UTF-8"?>
<beans ...>
	    
  <bean id="myHttpController" class="com.foo.MyHttpController" >  
   	<property name="jndiBean" ref="jndiBean" /> 
  </bean>

  <bean id="jndiBean" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" 
      value="#{T(com.foo.MyBeansUtils).SESSION_BEAN_LOCAL_JNDI}" />
  </bean>
	
  <bean id="urlMapAdmin"
    class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="urlMap">
      <props>                
        <prop key="/myHttp">myHttpController</prop>      
      </props>
    </property>
  </bean>
   
</beans>





Hiç yorum yok:

Yorum Gönder

Bean Validation @GroupSequence Anotasyonu

Örnek Elimizde şöyle bir kod olsun public class SampleRequest {   @NotNull   LocalDate startDate;   @NotNull   LocalDate endDate;   @AssertT...