一、什么是SpringMVC
1、Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。从这样一个角度来说,Spring MVC和Struts、Struts2非常类似。Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图。
2、环境配置(请看之前的文章)
(2)使用IntelliJ IDEA开发SpringMVC网站(一)开发环境配置
二、创建项目
1、新建项目:File-New-Module,选择maven-archetype-webapp,并取项目名称为Skip,按照步骤来填写。
2、在pom.xml导入jar包(版本可以上Maven仓库查看)
spring-aop-4.3.1.RELEASE.jar
spring-beans-4.3.1.RELEASE.jar
spring-context-4.3.1.RELEASE.jar
spring-core-4.3.1.RELEASE.jar
spring-expression-4.3.1.RELEASE.jar
spring-web-4.3.1.RELEASE.jar
spring-webmvc-4.3.1.RELEASE.jar
commons-logging-1.1.1.jar(用来打印log)
3、配置web.xml
注意:
(1) line12-15用于配置spring mvc的配置文件的位置和名称,这里说明会新建一个springmvc.xml的配置文件
(2) 我们也可以不新建springmvc.xml,而是用默认的,默认的配置文件格式为/WEB-INF/[servlet-name]-servlet.xml,对应这里的就是springDispatcherServlet-servlet.xml
(3) 这里的servlet-mapping表示拦截的模式,这里是“/”,表示对于所有的请求的拦截,包括静态资源如html, js, jpg等。这时候对于静态资源的访问就会报404的错误。关于如何解决后面会介绍
4、配置Springmvc.xml
注意:
(1) line11表示spring监听的范围,这里是在com.jackie.springmvc下
(2) line13-17,是添加了一个视图解析器,用于把在控制器中handler的结构解析为实际的物理视图,这个要配合controller类来解析,详见下面。
5、建立HelloWorld.java(com.jackie.springmvc.handlers下)
注意:
(1) 首先要在类的前面添加“Controller”注解,表示是spring的控制器,这里会写一个方法hello()
(2) hello方法上方有一个@RequestMapping, 是用于匹配请求的路径,比如这里匹配的请求路径就是“http://localhost:8080/Skip/springmvc/helloworld”,即当tomcat服务启动后,在浏览器输入这个url时,如果在这个方法打断点了,就会跳入该方法。
(3)这个return的结果不是乱写的,这个返回的字符串就是与上面springmvc.xml中line13-17进行配合的,springmvc.xml中声明了prefix和suffix,而夹在这两者之间的就是这里返回的字符串,所以执行完这个方法后,我们可以得到这样的请求资源路径“/WEB-INF/views/success.jsp”,这个success.jsp是需要我们新建的
6、编写index.jsp
当访问index.jsp时,页面上会展示一个超链接,点击超链后,url中的地址就会发生跳转,由“http://localhost:8080/Skip/index.jsp”跳转到“http://localhost:8080/Skip/helloworld”,而这个url请求就会进入HelloWorld中的hello方法,因为其与该方法上的“/helloworld”匹配。
7、新建success.jsp
8、添加tomcat服务器,添加后直接运行
9、如果想跳转出现图片,需要改两个地方
springmvc.xml和HelloWorld.java
10、最后运行结果