Spring MVC Fast Tutorial: Hello World

How Spring MVC works

Basically the same way as Struts: 

 

  •  Based on the HTTP request URL, the DispatcherServlet calls the corresponding Controller.
  • A View is rendered and sent as HTTP response.

Spring Servlet Declaration

In 'WEB-INF/web.xml', we declare Spring DispatcherServlet and map '*.html' URLs to it:

 
  
    springmvc
    org.springframework.web.servlet.DispatcherServlet
    1
  
 
  
    springmvc
    *.html
  
 
  
    
      jsp/index.jsp
    
  
 

Spring Servlet Configuration

Let's now create the Spring configuration file 'WEB-INF/springmvc-servlet.xml' (name based on the servlet name above):

 
  
 
  
      
      
      
  
 

Map URL /hello_world.html to Controller HelloWorldController Declare View Resolver: when view 'view_name' is called (from the Controller), the file '/jsp/view_name.jsp' will be used.

Controller

Let's create the Controller 'WEB-INF/src/springmvc/web/HelloWorldController.java':
package springmvc.web;
 
import java.io.IOException;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
 
public class HelloWorldController implements Controller {
 
 public ModelAndView handleRequest(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
 
  String aMessage = "Hello World MVC!";
 
  ModelAndView modelAndView = new ModelAndView("hello_world");
  modelAndView.addObject("message", aMessage);
 
  return modelAndView;
 }
}
This Controller calls the view 'hello_world', passing 'message' to it (like a Struts attribute).

View

Displays the message attribute previously set in the Controller.

Make it work

 

 

http://localhost:8180/springmvc/hello_world.html

  • We declared Spring servlet in web.xml 
  • We created a Spring configuration file where we mapped an URL to a controller and defined a way to resolve views. 
  • We created a controller and a view

posted under , |

0 comments:

Post a Comment

Please provide your valuable comment.

Newer Post Older Post Home

Followers

Powered by Blogger.

Populares

Custom Search