Spring MVC - Dahili Kaynak Görünümü Çözümleyici Örneği

InternalResourceViewResolversağlanan URI'yi gerçek URI'ye çözümlemek için kullanılır. Aşağıdaki örnek, Spring Web MVC Framework kullanılarak InternalResourceViewResolver'ın nasıl kullanılacağını gösterir.The following example shows how to use the InternalResourceViewResolver using the Spring Web MVC Framework. InternalResourceViewResolver, web sayfalarının isteklerle eşlenmesine izin verir.

package com.tutorialspoint;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;

@Controller
@RequestMapping("/hello")
public class HelloController{
 
   @RequestMapping(method = RequestMethod.GET)
   public String printHello(ModelMap model) {
      model.addAttribute("message", "Hello Spring MVC Framework!");

      return "hello";
   }
}
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
   <property name = "prefix" value = "/WEB-INF/jsp/"/>
   <property name = "suffix" value = ".jsp"/>
</bean>

Örneğin, yukarıdaki yapılandırmayı kullanarak URI

  • / merhaba istenirse, DispatcherServlet isteği önek + görünüm adı + sonek = /WEB-INF/jsp/hello.jsp önekine iletir.

Başlangıç ​​olarak, çalışan bir Eclipse IDE'ye sahip olalım ve ardından Spring Web Framework kullanarak Dinamik Form tabanlı bir Web Uygulaması geliştirmek için aşağıdaki adımları göz önünde bulundurun.

Adım Açıklama
1 Spring MVC - Hello World Example bölümünde açıklanan com.tutorialspoint paketinin altında TestWeb adıyla bir proje oluşturun.
2 Com.tutorialspointpackage altında HelloController Java sınıfları oluşturun.
3 Jsp alt klasörü altında bir görünüm dosyası hello.jsp 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 org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;

@Controller
@RequestMapping("/hello")
public class HelloController{
 
   @RequestMapping(method = RequestMethod.GET)
   public String printHello(ModelMap model) {
      model.addAttribute("message", "Hello Spring MVC Framework!");

      return "hello";
   }

}

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">

   <context:component-scan base-package = "com.tutorialspoint" />

   <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name = "prefix" value = "/WEB-INF/jsp/" />
      <property name = "suffix" value = ".jsp" />
   </bean>
 
</beans>

merhaba.jsp

<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
   <head>
      <title>Hello World</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, kullanınExport → WAR File seçeneğini belirleyin ve kaydedin TestWeb.war Tomcat'in webapps klasöründeki dosya.

Şimdi Tomcat sunucunuzu başlatın ve diğer web sayfalarına standart bir tarayıcı kullanarak webapps klasöründen erişebildiğinizden emin olun. URL'ye erişmeyi deneyin -http://localhost:8080/TestWeb/hello ve Spring Web Uygulamasında her şey yolundaysa aşağıdaki ekranı göreceğiz.