Before Starting, I believe you must have basic idea about JAVA, SPRING and Spring MVC.
For Spring MVC :
http://waheedtechblog.blogspot.in/2012/08/spring-mvc.html
In this tutorial , I will just tell you what are the basic thing that you need to start MVC.
Step 1 : Create a class
@Controller
public
class
HelloWorld {
@RequestMapping
(
"/hello"
)
public
String helloWorld() {
return =
"Hello World, Spring 3.0!"
;
}
}
1 . The class HelloWorld has the annotation
@Controller
and
@RequestMapping("/hello")
. When Spring scans this class, it will recognize
this bean as being a Controller bean for processing requests. 2 .The
@RequestMapping
annotation tells Spring that this Controller should process all requests beginning with /hello in the URL path.
Step 2. Mapping Spring MVC in WEB.xml
The entry point of Spring 3.0 MVC is the
DispatcherServlet
. DispatcherServlet is a normal servlet class which implements
HttpServlet
base class. Thus we need to configure it in
web.xml
.
<!-- ========================== -->
<!-- Spring MVC: Core -->
<!-- ========================== -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<!-- This loads the root webapp Spring context --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:beans.xml</param-value> </context-param> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
Note that I have mapped /rest/* url pattern with example
DispatcherServlet. Thus any url with /rest/* pattern will call Spring MVC
Front controller.
The REST call would be http://ip:port/rest/hello
If your controller class has some dependency which you have defined in your spring context file.Then you have to load it in <context-param>.(red line).
Once the DispatcherServlet is initialized, it will looks for a file name
[servlet-name]-servlet.xml
in WEB-INF folder of web application. I have created the file named
spring-servlet.xml
3 . Spring Configuration file
Create a file spring-servlet.xml in WEB-INF folder and copy following content into it.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd
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
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
">
<!-- ========================== -->
<!-- Spring MVC: Core -->
<!-- ========================== -->
<context:annotation-config />
<mvc:annotation-driven />
<mvc:default-servlet-handler />
<!-- class name of the controller or If you have package use component-scan -->
<bean class="com.waheed.spring.hibernate.HelloWorld" /> </beans>
The highlighted red line allow Spring to load the components from class. This will load our
HelloWorld
class.
Congratulation..!!! You are done here...
Download source code :
https://github.com/abdulwaheed18/SpringMVC-Hibernate-Integration