admin管理员组文章数量:1794759
2015 最简单的 Spring MVC 入门教程
2015 最简单的 Spring MVC 入门教程
太阳火神的美丽人生 (blog.csdn/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
Simplest Spring MVC Hello World Example / Tutorial – Spring Model – View – Controller TipsSHORT LINK:
Last Updated on October 22nd, 2015 by Crunchify 179 Comments
Do you have any one of below question?
- Developing a Spring Framework MVC 4 application step-by-step..
- java – Spring MVC tutorial from the scratch
- Spring MVC Fast Tutorial
- Spring MVC Framework Tutorial
- First Spring MVC application tutorial
- Spring 4 MVC Tutorials, AJAX Demo, jQuery Demo, JavaScript Demo, Tips & Tricks Spring 4 MVC
Then you are at right place. Here I’ll demonstrate simple Spring MVC framework for building web applications.
First thing first. I’m using below tools which you may need to download if you don’t have already.
Main goal for this tutorial to create Spring MVC Application in the simplest way. This is how ourapplication result will look like. This is a final result once you complete all below steps.
Welcome page ==> index.jsp Result returns from Controller Class Now Let’s get started Step-1Open Eclipse and Create Dynamic Web Project CrunchifySpringMVCTutorial.
Step-2Make sure you use Target Runtime as Apache Tomcat 7.0
Step-3Convert Project to Maven Project to add all required Spring MVC dependencies to project.
Steps:- Right click on project
- Configure
- Convert to Maven project
Open pom.xml file and add below jar dependencies to project.
Here is my pom.xml file.
pom.xml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | < project xmlns = "maven.apache/POM/4.0.0" xmlns : xsi = "www.w3/2001/XMLSchema-instance" xsi : schemaLocation = "maven.apache/POM/4.0.0 maven.apache/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 < / modelVersion > < groupId > CrunchifySpringMVCTutorial < / groupId > < artifactId > CrunchifySpringMVCTutorial < / artifactId > < version > 0.0.1 - SNAPSHOT < / version > < packaging > war < / packaging > < dependencies > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - context < / artifactId > < version > 4.1.1.RELEASE < / version > < / dependency > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - aop < / artifactId > < version > 4.1.1.RELEASE < / version > < / dependency > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - webmvc < / artifactId > < version > 4.1.1.RELEASE < / version > < / dependency > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - web < / artifactId > < version > 4.1.1.RELEASE < / version > < / dependency > < dependency > < groupId > javax . servlet < / groupId > < artifactId > jstl < / artifactId > < version > 1.2 < / version > < / dependency > < dependency > < groupId > commons - logging < / groupId > < artifactId > commons - logging < / artifactId > < version > 1.1.3 < / version > < / dependency > < / dependencies > < build > < sourceDirectory > src < / sourceDirectory > < plugins > < plugin > < artifactId > maven - compiler - plugin < / artifactId > < version > 3.1 < / version > < configuration > < source > 1.7 < / source > < target > 1.7 < / target > < / configuration > < / plugin > < plugin > < artifactId > maven - war - plugin < / artifactId > < version > 2.4 < / version > < configuration > < warSourceDirectory > WebContent < / warSourceDirectory > < failOnMissingWebXml > false < / failOnMissingWebXml > < / configuration > < / plugin > < / plugins > < / build > < / project > |
Create Spring Configuration Bean file. /WebContent/WEB-INF/crunchify-servlet.xml
/WEB-INF/crunchify-servlet.xml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | < beans xmlns = "www.springframework/schema/beans" xmlns : mvc = "www.springframework/schema/mvc" xmlns : context = "www.springframework/schema/context" xmlns : xsi = "www.w3/2001/XMLSchema-instance" xsi : schemaLocation = " www.springframework/schema/beans www.springframework/schema/beans/spring-beans.xsd www.springframework/schema/mvc www.springframework/schema/mvc/spring-mvc.xsd www.springframework/schema/context www.springframework/schema/context/spring-context.xsd" > < context : component - scan base - package = "com.crunchify.controller" / > < bean id = "viewResolver" class = "org.springframework.web.servlet.view.UrlBasedViewResolver" > < property name = "viewClass" value = "org.springframework.web.servlet.view.JstlView" / > < property name = "prefix" value = "/WEB-INF/jsp/" / > < property name = "suffix" value = ".jsp" / > < / bean > < / beans > |
In the above crunchify-servlet.xml configuration file, we have defined a tag <context:component-scan> . This will allow Spring to load all the components from package com.crunchify.controller and all its child packages.
This will load our CrunchifyHelloWorld.class . Also we have defined a bean viewResolver. This bean will resolve the view and add prefix string /WEB-INF/jsp/ and suffix .jsp to the view in ModelAndView. Note that in our CrunchifyHelloWorld class, we have return a ModelAndView object with view name welcome. This will be resolved to path /WEB-INF/jsp/welcome.jsp .
Step-6Map Spring MVC in /WebContent/WEB-INF/web.xml file.
NOTE: if you don’t see web.xml file in your “dynamic web project” then follow these steps.
/WEB-INF/web.xml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <? xml version = "1.0" encoding = "UTF-8" ?> < web - app xmlns : xsi = "www.w3/2001/XMLSchema-instance" xmlns = "java.sun/xml/ns/javaee" xsi : schemaLocation = "java.sun/xml/ns/javaee java.sun/xml/ns/javaee/web-app_3_0.xsd" version = "3.0" > < display - name > CrunchifySpringMVCTutorial < / display - name > < welcome - file - list > < welcome - file > index . jsp < / welcome - file > < / welcome - file - list > < servlet > < servlet - name > crunchify < / servlet - name > < servlet - class > org . springframework . web . servlet . DispatcherServlet < / servlet - class > < load - on - startup > 1 < / load - on - startup > < / servlet > < servlet - mapping > < servlet - name > crunchify < / servlet - name > < url - pattern > / welcome . jsp < / url - pattern > < url - pattern > / welcome . html < / url - pattern > < url - pattern > * . html < / url - pattern > < / servlet - mapping > < / web - app > |
The above code in web.xml will map DispatcherServlet with url pattern /welcome.jsp. Also note that we have define index.jsp as welcome file.
One thing to note here is the name of servlet in <servlet-name> tag in web.xml. Once the DispatcherServlet is initialized, it will looks for a file name [servlet-name]-servlet.xml in WEB-INF folder of web application. In this example, the framework will look for file called crunchify-servlet.xml.
Step-7Create Controller Class.
- Package: com.crunchify.controller
- Filename: CrunchifyHelloWorld.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package com . crunchify . controller ; import org . springframework . stereotype . Controller ; import org . springframework . web . bind . annotation . RequestMapping ; import org . springframework . web . servlet . ModelAndView ; /* * author: Crunchify * */ @Controller public class CrunchifyHelloWorld { @RequestMapping ( "/welcome" ) public ModelAndView helloWorld ( ) { String message = "<br><div style='text-align:center;'>" + "<h3>********** Hello World, Spring MVC Tutorial</h3>This message is coming from CrunchifyHelloWorld.java **********</div><br><br>" ; return new ModelAndView ( "welcome" , "message" , message ) ; } } |
Note that we have annotated the CrunchifyHelloWorld class with @Controller and@RequestMapping("/welcome"). When Spring scans our package, it will recognize this bean as being a Controller bean for processing requests. The @RequestMapping annotation tells Spring that this Controller should process all requests beginning with /welcome in the URL path. That includes/welcome/* and /welcome.html.
The helloWorld() method returns ModelAndView object. The ModelAndView object tries to resolve to a view named “welcome” and the data model is being passed back to the browser so we can access the data within the JSP. The logical view name will resolve to /WEB-INF/jsp/welcome.jsp . Logical name “welcome” which is return in ModelAndView object is mapped to path /WEB-INF/jsp/welcome.jsp.
The ModelAndView object also contains a message with key “message” and Detailed value. This is the data that we are passing to our view. Normally this will be a value object in form of java bean that will contain the data to be displayed on our view. Here we are simply passing a string.
Step-8The View – Create /WebContent/index.jsp.
index.jsp1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | < html > < head > < title > Spring MVC Tutorial Series by Crunchify . com < / title > <style type ="text/css"> body { background-image : url ( 'crunchify/bg.png' ) ; } </style> < / head > < body > < br > < div style = "text-align:center" > < h2 > Hey You . . ! ! This is your 1st Spring MCV Tutorial . . < br > < br > < / h2 > < h3 > < a href = "welcome.html" > Click here to See Welcome Message . . . < / a > ( to check Spring MVC Controller . . . @ RequestMapping ( "/welcome" ) ) < / h3 > < / div > < / body > < / html > |
Create /WebContent/WEB-INF/jsp/welcome.jsp file.
welcome.jsp1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | < html > < head > < title > Spring MVC Tutorial by Crunchify - Hello World Spring MVC Example < / title > <style type ="text/css"> body { background-image : url ( 'crunchify/bg.png' ) ; } </style> < / head > < body > $ { message } < br > < br > < div style = "font-family: verdana; padding: 10px; border-radius: 10px; font-size: 12px; text-align:center;" > Spring MCV Tutorial by < a href = "crunchify" > Crunchify < / a > . Click < a href = "crunchify/category/java-web-development-tutorial/" target = "_blank" > here < / a > for all Java and < a href = 'crunchify/category/spring-mvc/' target = '_blank' > here < / a > for all Spring MVC , Web Development examples . < br > < / div > < / body > < / html > |
After everything this is how your workspace should look like.
Step-9Right Click on Project -> Run As -> Maven Build...
Add Goals: clean install. Click Apply and Run.
You should see build success message:
Where are all of my .jar files?You will see all .jar files under /target folder. Screenshot.
Step-10Deploy project to Apache Tomcat and start tomcat.
Make sure you see below logs. That means your application is successfully deployed on Tomcat Web Server.
Step-11Visit: localhost:8080/CrunchifySpringMVCTutorial/ and you should be all set.
Hurrey.. Now you know Hello World Spring MVC 4 Example. Let me know if you encounter any exception while running this. There are lot more example you can find here.
Do you want to include JS, CSS and images into JSP file? Follow this tutorial: Best way to Add/Integrate JS, CSS and images into JSP file using ‘mvc:resources mapping’
Having trouble? Any issue? Triaging step-1Make sure you add Apache Tomcat Server to Targeted Runtime. Which you may have selected in Step-1. Tomcat 7 or 8 any – server should work.
Triaging Step-2Make sure to update all maven dependencies.
Have anything to add to this article? Please chime in and join the conversion. SHARE ON Twitter Facebook Google+ Buffer Follow @Crunchify Some more articles you might also be interested in …Filed Under: Apache Tomcat Examples, Eclipse, Java Collection, Spring MVC TutorialsTagged: crunchify tutorial, Developing a Spring Framework MVC application step-by-step, eclipse, java, java spring mvc, spring, Spring 4, Spring 4 MVC Hello World Tutorial, Spring 4 MVC Hello World Tutorial - Full Example, Spring AOP 4, spring framework, Spring MVC, spring mvc 3.2.1, Spring MVC 4, Spring MVC Ajax, spring mvc example,Spring MVC Fast Tutorial, Spring MVC Hello World Example
Enjoyed this post?Be sure to subscribe to the Crunchify newsletter and get regular updates about awesome posts just like this one and more! Join more than 13000 subscribers!
版权声明:本文标题:2015 最简单的 Spring MVC 入门教程 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686618647a86919.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论