Spring MVC - Basit URL İşleyici Eşleme Örneği
Aşağıdaki örnek, Spring Web MVC çerçevesini kullanarak Basit URL İşleyicisi Eşlemesinin nasıl kullanılacağını gösterir. SimpleUrlHandlerMapping sınıfı, URL'leri sırasıyla denetleyicileriyle açıkça eşlemeye yardımcı olur.
<beans>
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value = "/WEB-INF/jsp/"/>
<property name = "suffix" value = ".jsp"/>
</bean>
<bean class = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name = "mappings">
<props>
<prop key = "/welcome.htm">welcomeController</prop>
<prop key = "/helloWorld.htm">helloController</prop>
</props>
</property>
</bean>
<bean id = "helloController" class = "com.tutorialspoint.HelloController" />
<bean id = "welcomeController" class = "com.tutorialspoint.WelcomeController"/>
</beans>
Örneğin, yukarıdaki yapılandırmanın kullanılması, eğer URI
/helloWorld.htm istenirse, DispatcherServlet isteği şu adrese iletecektir: HelloController.
/welcome.htm istenirse, DispatcherServlet isteği şu adrese iletir: WelcomeController.
Başlangıç olarak, çalışan bir Eclipse IDE'ye sahip olalım ve Spring Web Framework kullanarak Dinamik Form tabanlı bir Web Uygulaması geliştirmek için aşağıdaki adımları göz önünde bulunduralım.
Adım | Açıklama |
---|---|
1 | Adı olan bir proje oluşturun TestWeb Bir paket com.tutorialspoint altında, Spring MVC - Hello World bölümünde açıklandığı gibi. |
2 | Com.tutorialspoint paketi altında HelloController ve WelcomeController Java sınıfları oluşturun. |
3 | Jsp alt klasörü altında hello.jsp ve welcome.jsp görünüm dosyalarını oluşturun. |
4 | Son adım, kaynak ve yapılandırma dosyalarının içeriğini oluşturmak ve uygulamayı aşağıda açıklandığı gibi dışa aktarmaktır. |
HelloController.java
package com.tutorialspoint;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class HelloController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("hello");
model.addObject("message", "Hello World!");
return model;
}
}
WelcomeController.java
package com.tutorialspoint;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class WelcomeController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("welcome");
model.addObject("message", "Welcome!");
return model;
}
}
TestWeb-servlet.xml
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value = "/WEB-INF/jsp/"/>
<property name = "suffix" value = ".jsp"/>
</bean>
<bean class = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name = "mappings">
<props>
<prop key = "/welcome.htm">welcomeController</prop>
<prop key = "/helloWorld.htm">helloController</prop>
</props>
</property>
</bean>
<bean id = "helloController" class = "com.tutorialspoint.HelloController" />
<bean id = "welcomeController" class = "com.tutorialspoint.WelcomeController"/>
</beans>
merhaba.jsp
<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
welcome.jsp
<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
Kaynak ve yapılandırma dosyalarını oluşturmayı tamamladığınızda, uygulamanızı dışa aktarın. Uygulamanıza sağ tıklayın,Export → WAR File seç ve kaydet TestWeb.war Tomcat'in webapps klasöründeki dosya.
Şimdi, Tomcat sunucunuzu başlatın ve diğer web sayfalarına webapps klasöründen standart bir tarayıcı kullanarak erişebildiğinizden emin olun. Bir URL deneyin -http://localhost:8080/TestWeb/helloWorld.htm Spring Web Uygulaması ile her şey yolundaysa aşağıdaki ekranı göreceğiz.
Bir URL deneyin http://localhost:8080/TestWeb/welcome.htm ve Spring Web Uygulamanızda her şey yolundaysa aşağıdaki sonucu görmelisiniz.