step1: create maven-archetype-webapp Maven project
Step2: add maven dependencies
<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<modelVersion>4.0.0</modelVersion>
<groupId>[Link]</groupId>
<artifactId>springmvc5-helloworld-exmaple</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>springmvc5-helloworld-exmaple Maven Webapp</name>
<url>[Link]
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencies>
<!--
[Link] -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-webmvc</artifactId>
<version>[Link]</version>
</dependency>
<!-- JSTL Dependency -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<!-- Servlet Dependency -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- JSP Dependency -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "[Link]" })
//controller,model
public class AppConfig {
@Bean
public InternalResourceViewResolver resolver() {
InternalResourceViewResolver resolver = new
InternalResourceViewResolver();
[Link]([Link]);
[Link]("/WEB-INF/views/");
[Link](".jsp");
return resolver;
}
package [Link];
import
[Link]
vletInitializer;
public class SpringMvcDispatcherServletInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
// TODO Auto-generated method stub
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { [Link] };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
Controller:
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Controller
public class HelloWorldController {
@RequestMapping("/helloworld")
public String handler(Model model) {
HelloWorld helloWorld = new HelloWorld();
[Link]("Welcome to UST SpringMVC session");
[Link]([Link]().plusHours(1).toString());
[Link]("helloWorld", helloWorld);
return "helloworld";
}
@RequestMapping("/home")
public String message() {
return "home";
}
}
Model:
package [Link];
public class HelloWorld {
private String message;
private String dateTime;
public String getMessage() {
return message;
}
public void setMessage(String message) {
[Link] = message;
}
public String getDateTime() {
return dateTime;
}
public void setDateTime(String dateTime) {
[Link] = dateTime;
}
}
Views:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="[Link] prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Spring 5 MVC - Hello World Example | [Link]</title>
</head>
<body>
<h2>${[Link]}</h2>
<h4>Server date time is : ${[Link]}</h4>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="[Link] prefix="c"%>
<!DOCTYPE html>
<html>
<body>
<h1> Healthcare Application : Homepage </h1>
</body>
</html>
PathVariable,REquestParam:
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Controller
public class ProductController {
@RequestMapping("/product")
public String message(@RequestParam("id") Integer id) {
[Link]("request param: "+id);
return "home";
}
@RequestMapping("/product1/{id1}")
public String message1(@PathVariable("id1") Integer id) {
[Link]("path param :"+id);
return "home";
}
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Controller
public class ProductController {
@RequestMapping("/product")
public String message(@RequestParam("id") Integer id) {
[Link]("request param: "+id);
return "home";
}
@RequestMapping("/product1/{id1}")
public String message1(@PathVariable("id1") Integer id) {
[Link]("path param :"+id);
return "home";
}
@GetMapping("/read")
public String get() {
[Link](" get- for read()");
return "home";
}
@PostMapping("/add")
public String add() {
[Link](" post- for add()");
return "home";
}
@PutMapping("/update")
public String update() {
[Link](" put- for update()");
return "home";
}
@DeleteMapping("/delete")
public String delete() {
[Link](" delete- for delete()");
return "home";
}