首先了解下SpringMVC是什么
1.SpringMVC是一种思想,也是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,实现了对Struts 2的超越。现在越来越多的开发团队选择了Spring MVC。
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
简单来说:分层,解耦,简化开发。
2.Spring3 MVC的优点:
Spring3 MVC使用简单,学习成本低。学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。
Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)
Spring3 MVC的灵活是你无法想像的,Spring框架的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。
核心原理
1、 用户发送请求给服务器。url:user
2、 服务器收到请求。发现Dispatchservlet可以处理。于是调用DispatchServlet。
3、 DispatchServlet内部,通过HandleMapping检查这个url有没有对应的Controller。如果有,则告诉DispatchServlet调用HandleAdapter去执行相应的Controller。
4、 Control开始执行
5、 Controller执行完毕后,如果返回字符串,则ViewResolver将字符串转化成相应的视图对象;如果返回ModelAndView对象,该对象本身就包含了视图对象信息。
6、 DispatchServlet将执视图对象中的数据,输出给服务器。
7、 服务器将数据输出给客户端
环境搭建
之前创建好的Maven项目:
首先,要在main下创建两个文件夹:java,resources
main---New---Directory
注意:把java文件夹设为Sources Root
resources文件夹设为Resources Root
准备工作做好,主要步骤:
1、POM.xml中添加相应的依赖
2、在web.xml中配置DispatcherServlet
3、在resource目录中新建Springmvc的配置文件
所需要jar:
4.0.0
com.lianwei
Test1
1.0-SNAPSHOT
war
Test1 Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
4.2.5.RELEASE
3.2.8.RELEASE
1.8.7
junit
junit
3.8.1
test
javax.servlet
jstl
1.2
taglibs
standard
1.1.2
org.springframework
spring-core
${spring-version}
org.springframework
spring-test
${spring-version}
org.springframework
spring-context
${spring-version}
org.springframework
spring-tx
${spring-version}
org.springframework
spring-context-support
${spring-version}
org.springframework
spring-jdbc
${spring-version}
org.springframework
spring-aop
${spring-version}
org.aspectj
aspectjweaver
${aspect-version}
org.springframework
spring-beans
${spring-version}
org.springframework
spring-webmvc
${org.springframework-version}
com.alibaba
fastjson
1.2.31
log4j
log4j
1.2.17
Test1
maven-clean-plugin
3.0.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.7.0
maven-surefire-plugin
2.20.1
maven-war-plugin
3.2.0
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
web.xml
Archetype Created Web Application
springMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext-mvc.xml
1
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
characterEncodingFilter
/*
springMVC
/
在resources下新建springmvc配置文件
注意:文件名称要和web.xml中配置的核心servlet
applicationContext-mvc.xml
text/html;charset=UTF-8
application/json
application/xml;charset=UTF-8
测试
java文件夹新建com.controller包,包下新建
TestController.java
package com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* Created by Tired on 2018/8/3.
*/
@Controller
@RequestMapping("test")
public class TestController {
@RequestMapping("/index")
public String index()
{
return "index";
}
}
webapp下新增admin文件夹,下新建index.jsp
添加tomcat访问localhost:8080/test/index