English 中文(简体)
Spring MVC - Hello World Example
  • 时间:2024-09-17

Spring MVC - Hello World Example


Previous Page Next Page  

The following example shows how to write a simple web based Hello World apppcation using the Spring MVC Framework. To start with, let us have a working Ecppse IDE in place and follow the subsequent steps to develop a Dynamic Web Apppcation using the Spring Web Framework.

Step Description
1 Create a Dynamic Web Project with a name HelloWeb and create a package com.tutorialspoint under the src folder in the created project.
2 Drag and drop the following Spring and other pbraries into the folder WebContent/WEB-INF/pb..
3 Create a Java class HelloController under the com.tutorialspoint package.
4 Create Spring configuration files web.xml and HelloWeb-servlet.xml under the WebContent/WEB-INF folder.
5 Create a sub-folder with a name jsp under the WebContent/WEB-INFfolder. Create a view file hello.jsp under this sub-folder.
6 The final step is to create the content of the source and configuration files and export the apppcation as explained below.

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")
pubpc class HelloController{
 
   @RequestMapping(method = RequestMethod.GET)
   pubpc String printHello(ModelMap model) {
      model.addAttribute("message", "Hello Spring MVC Framework!");

      return "hello";
   }

}

web.xml

<web-app id = "WebApp_ID" version = "2.4"
   xmlns = "http://java.sun.com/xml/ns/j2ee" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://java.sun.com/xml/ns/j2ee 
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

   <display-name>Spring MVC Apppcation</display-name>

   <servlet>
      <servlet-name>HelloWeb</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>HelloWeb</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
 
</web-app>

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

hello.jsp

<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
   <head>
      <title>Hello World</title>
   </head>
   <body>
      <h2>${message}</h2>
   </body>
</html>

Following is the pst of Spring and other pbraries to be included in the web apppcation. We can just drag these files and drop them in – WebContent/WEB-INF/pb folder.

    servlet-api-x.y.z.jar

    commons-logging-x.y.z.jar

    spring-aop-x.y.z.jar

    spring-beans-x.y.z.jar

    spring-context-x.y.z.jar

    spring-core-x.y.z.jar

    spring-expression-x.y.z.jar

    spring-webmvc-x.y.z.jar

    spring-web-x.y.z.jar

Once you are done with creating source and configuration files, export your apppcation. Right cpck on your apppcation, use Export → WAR File option and save your HelloWeb.war file in Tomcat s webapps folder.

Now start your Tomcat server and make sure you are able to access other webpages from webapps folder using a standard browser. Now, try to access the URL − http://localhost:8080/HelloWeb/hello. If everything is fine with the Spring Web Apppcation, we will see the following screen.

Spring Web Hello World

You should note that in the given URL, HelloWeb is the apppcation name and hello is the virtual subfolder, which we have mentioned in our controller using @RequestMapping("/hello"). You can use direct root while mapping your URL using @RequestMapping("/"), in this case you can access the same page using short URL http://localhost:8080/HelloWeb/, but it is advised to have different functionapties under different folders.

Advertisements