表现层框架 是Spring框架的一部分,Spring 3.0版本发布之后发布的,可以与Spring框架无缝集成,提供了很多的类和方法。
第一个SpringMVC项目
step 1: 新建一个maven项目 --> ✔ Create a single project --> Group id 有公司的写公司域名 eg com.alibaba -->Artifact id 写项目名 --> finish
step 2: 解决报错:新建一个Dynamic Web Project --> ✔generate web.xml -->将WEB-INF 及其下的web.xml 一并拷到 src/main/webapp下
step 3:使用maven导入spring-webmvc相关的包 在pom.xml配置如下信息:
junit junit 3.8.1 test javax.servlet javax.servlet-api 3.1.0 org.springframework spring-webmvc 5.0.4.RELEASE
step 4:指定JDK 版本 在pom.xml配置如下信息:
”你的项目名“ org.apache.maven.plugins maven-compiler-plugin
然后检查 Java Resources/Libraries/JRE System Library 是否显示[JavaSE -1.8] 是的话 则配置生效 不是的话 则Update Maven Project 后继续查看JDK版本 版本改完后 下边Maven Dependencies 下会出现相关jar包
step 5:在 web.xml 中配置一个 servlet 如下:
springMVC org.springframework.web.servlet.DispatcherServlet springMVC *.do
长按 Ctrl 将光标移至<servlet-class>上 出现超链接 可查看源码 说明配置正确
url-pattern 配置成*.do:不成文的框架规范 还可配成 *.action 或者 / --可能会有问题(静态资源也会被拦截到)
DispatcherServlet回去配置文件xx.xml中去读取<bean>标签内容 把id对应请求 交给class对应Dispatcher去处理
step 6: 在Java Resources /src/main/resoures下面创建spingmvc配置文件 xxx.xml 如下:
step 7:在web.xml 中在servelt标签里 告诉springmvc 它的配置文件是什么 :
contextConfigLocation classpath:springmvc.xml
param-name 固定写法 因为 DispatcherServlet继承了FrameworkServlet,FrameworkServlet有一成员变量名字就是contextConfigLocation
param-value指定配置文件路径
step 8 :在Java Resources /src/main/java 下创建一个Controller 类实现接口 Controller-org.springframework.web.servlet.mvc
创建ModelAndView 对象--> 调用其addObject()方法-->调用其setViewName()方法 ( 指定跳转路径)
step 9 :在springmvc的配置文件xxx.xml 中添加如下代码:
id-->指定对应请求
step 10:在src/main/webapp/WEB-INF下创建jsp文件夹,在其下创建jsp文件
然后就可以部署运行第一个Spring MVC项目了!
note:在有多个servlet的配置文件中,无法控制中央控制器DispatcherServlet的加载顺序,在使用springmvc时就可能出现问题,为了保证其最先加载需要在web.xml的servlet标签添加:
1
为了避免多个Controller配置问题 可以使用视图解析器来解决 在xxx.xml中添加如下代码:
程序执行流程:
用户发送浏览器请求-->浏览器根据请求url 读取web.xml配置文件找到对应DispactherServlet-->DispactherServle去xxx.xml中找到与其对应的Controller-->Controller对其进行处理:调用handleRequest方法,方法返回结果会返回给DispactherServle-->DispactherServle拿到跳转到的jsp-->DispactherServle根据视图解析器拿到路径名及后缀名-并将其返回给浏览器