博主也是近期学到springmvc框架,对springmvc框架也有了一定的了解,我把我所学到的东西分享给大家!
如果你是刚接触使用idea开发,或者对idea还不是很了解,我这里提供了idea的安装教程和创建web项目以及maven项目的教程,你们可以去试着学学
IntelliJ IDEA安装教程 :https://blog.csdn.net/cms18374672699/article/details/84957252
SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发。
Spring Web MVC处理请求的流程
具体流程:
(1)首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;
(2)DispatcherServlet——>HandlerMapping,映射处理器将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象;
(3)DispatcherServlet——>HandlerAdapter,处理器适配器将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;
(4)HandlerAdapter——>调用处理器相应功能处理方法,并返回一个ModelAndView对象(包含模型数据、逻辑视图名);
(5)ModelAndView对象(Model部分是业务对象返回的模型数据,View部分为逻辑视图名)——> ViewResolver, 视图解析器将把逻辑视图名解析为具体的View;
(6)View——>渲染,View会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构;
(7)返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束。
如何在项目中添加springmvc?
1、在pom.xml中导入springmvc的框架依赖(注意:用自定义标签库t.tld,需要三个jstl、standard、tomcat-jsp-api)
①、用自定义标签库t.tld
zking 1.1 core library
zking core
1.1
z
/zking
page
com.zking.ssm.tag.PageTag
JSP
pageBean
true
true
②、需要三个jstl、standard、tomcat-jsp-api
org.springframework
spring-webmvc
5.0.2.RELEASE
org.springframework
spring-core
5.0.2.RELEASE
org.springframework
spring-beans
5.0.2.RELEASE
org.springframework
spring-aspects
5.0.2.RELEASE
org.springframework
spring-context
5.0.2.RELEASE
jstl
jstl
1.2
taglibs
standard
1.1.2
2、导入springmvc框架的配置文件(扫描controller包、视图解析器)
springmvc-servlet.xml配置文件
3、配置web.xml 配置中央控制器(dispatchservlet)
首先打开web/WEB-INF目录下的web.xml文件,如下,把url-pattern的值改为/,用于拦截请求(url-pattern为 / ,说明拦截所有请求,网上有说配置为/*的,我这样配置会出错),并交由Spring MVC的后台控制器来处理。这一项配置是必须的。
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
true
encoding
UTF-8
encodingFilter
/*
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/springmvc-servlet.xml
1
true
SpringMVC
/
以上依赖以及配置文件就完成了!
MVC框架有model、view、controller三部分组成。model一般为一些基本的Java Bean,view用于进行相应的页面显示,controller用于处理网站的请求。
在项目的src目录创建一个包用于存放controller.java
package com.zking.ssm.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author 清风半夜鸣蝉
* @site www.xiaomage.com
* @company xxx公司
* @create 2019-01-03 9:31
*/
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("hello springmvc");
return "springmvc";
}
}
解释下上边代码的意思
1.@Controller注解:采用注解的方式定义该类为处理请求的Controller类;
2.@RequestMapping解:用于定义一个请求映射,value为请求的url,method用以指定该请求类型,一般为get和post,代码中要调用printHello方法,即可访问 hello/hello
3.return “springmvc”:处理完该请求后返回的页面,此请求返回 springmvc.jsp页面。
接下来在webapp/WEB-INF/jsp文件下新建springmvc.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
欢迎来到SpringMVC页面!
完成上边的步骤之后,在web.xml同级目录下有个springmvc-servlet.xml的配置文件,他的前缀dispatcher对应上边web.xml中配置的servlet(名称可修改),节选web.xml如下
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/springmvc-servlet.xml
1
true
SpringMVC
/
配置Tomcat
Tomcat根据你的版本,去根目录找到对应的Tomcat,jdk要和tomcat版本保持一致
刚开始使用idea是没有项目的,点击+号添加项目
找到自己的项目添加进去,然后点击ok
完成以上步骤之后,点击run,开启tomcat
我们可以很明确的可以看到,在hello方法中打印的hello springmvc就在控制台打印出来了
然后把地址复制到浏览器上,springmvc.jsp中的欢迎来到Springmvc页面就出来了!