1. Create a new MAVEN project, select WebApp, click Next, enter GroupID and Artifactid (i.e. project name) and click Finish.
2, at this time the project will error, as follows:
By prompting you to know that you cannot find the HttpServlet class, you can either import tomcat into your working directory or add the Servlet-api.jar of the HttpServlet class through Maven.
1 <Dependency>2 <groupId>Javax.servlet</groupId>3 <Artifactid>Javax.servlet-api</Artifactid>4 <version>3.0.1</version>5 <Scope>Compile</Scope>6 </Dependency>
3. Now add the SPRINGMVC required jar package through MAVEN, click the Add button in Pom.xml, and enter SPRING-WEBMVC in the middle input box:
1 <Dependency>2 <groupId>Org.springframework</groupId>3 <Artifactid>Spring-web</Artifactid>4 <version>4.1.2.RELEASE</version>5 <Scope>Compile</Scope>6 </Dependency>7 <Dependency>8 <groupId>Org.springframework</groupId>9 <Artifactid>Spring-webmvc</Artifactid>Ten <version>4.1.2.RELEASE</version> One <Scope>Compile</Scope> A </Dependency>
View Code
4. Modify Web. xml
1 <?XML version= "1.0" encoding= "UTF-8"?>2 <Web-appversion= "3.0"xmlns= "Http://java.sun.com/xml/ns/javaee"3 Xmlns:xsi= "Http://www.w3.org/2001/XMLSchema-instance"4 xsi:schemalocation= "Http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">5 6 <servlet>7 <Servlet-name>Spring</Servlet-name>8 <Servlet-class>Org.springframework.web.servlet.DispatcherServlet</Servlet-class>9 </servlet>Ten One <servlet-mapping> A <Servlet-name>Spring</Servlet-name> - <Url-pattern>/</Url-pattern> - </servlet-mapping> the - </Web-app>
<servlet-name> properties are arbitrary, as long as the upper and lower consistent, Url-pattern "/" to intercept all requests.
5, the above configuration will automatically go to Web-inf under the search for ' servlet-name '-servlet.xml (here corresponds to spring-servlet.xml), the specific content is as follows:
1 <?XML version= "1.0" encoding= "UTF-8"?>2 <Beansxmlns= "Http://www.springframework.org/schema/beans"3 Xmlns:xsi= "Http://www.w3.org/2001/XMLSchema-instance"Xmlns:context= "Http://www.springframework.org/schema/context"4 Xmlns:tx= "Http://www.springframework.org/schema/tx"Xmlns:mvc= "Http://www.springframework.org/schema/mvc"5 xsi:schemalocation= "Http://www.springframework.org/schema/beans6 http://www.springframework.org/schema/beans/spring-beans.xsd7 Http://www.springframework.org/schema/context8 http://www.springframework.org/schema/context/spring-context.xsd9 Http://www.springframework.org/schema/txTen http://www.springframework.org/schema/tx/spring-tx.xsd One Http://www.springframework.org/schema/mvc A http://www.springframework.org/schema/mvc/spring-mvc.xsd "> - - <!--Configuring a scanned package - the <Context:component-scanBase-package= "com.springdemo.*" /> - - <!--Register Handlermapper, handleradapter two mapping classes - - <Mvc:annotation-driven/> + - <!--Accessing static resources - + <Mvc:default-servlet-handler/> A at <!--View Resolver - - <Bean - class= "Org.springframework.web.servlet.view.InternalResourceViewResolver"> - < Propertyname= "prefix"value= "/web-inf/view/"></ Property> - < Propertyname= "suffix"value= ". jsp"></ Property> - </Bean> in - </Beans>
This configuration automatically scans all packages under Com.springdemo for annotated classes (such as @controller, @Service, etc.), <mvc:annotation-driven/> Registers two mapping classes, Responsible for mapping requests to classes and methods, because the configured spring is to intercept all requests, so you need to configure <mvc:default-servlet-handler/> to allow static resources to pass (such as JS, CSS files, etc.) The view parser presents the view name returned by the Controller class plus the configured prefix.
Create a View folder under Web-inf and create a JSP page in it:
<%@ Pagelanguage= "Java"ContentType= "text/html; charset=utf-8"pageencoding= "UTF-8"%><!DOCTYPE HTML PUBLIC "-//w3c//dtd HTML 4.01 transitional//en" "Http://www.w3.org/TR/html4/loose.dtd "><HTML><Head><Metahttp-equiv= "Content-type"content= "text/html; charset=utf-8"><title>Home</title></Head><Body> <H1>This is SPRINGMVC Demo</H1></Body></HTML>
Create the Com.springdemo.controller package (the scan path that the package path needs to be configured to scan to), in which you create the controller class, plus annotations:
1 PackageCom.springdemo.controller;2 3 ImportOrg.springframework.stereotype.Controller;4 Importorg.springframework.web.bind.annotation.RequestMapping;5 6 @Controller7@RequestMapping ("/demo")8 Public classDemocontroller {9 Ten@RequestMapping ("/index") One PublicString Index () { A return"Demo"; - } -}
When the request index is mapped to this method, the returned string demo is configured to be web-inf/view/demo.jsp and displayed.
6, in Tomcat deployment run, access to Http://localhost:8080/SpringDemo/index, the following interface is visible, the configuration is successful.
Code See: Https://github.com/gitxiaowenbo/springmvc02.git
Specific use visible Official document: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/
Using MAVEN to build SPRINGMVC