SpringMVC学习总结

MVC

MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分

M:Model,模型层,指工程中的JavaBean,作用是处理数据

JavaBean分为两类:

  • 一类称为实体类Bean:专门存储业务数据的,如 Student、User 等

  • 一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。

V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据

C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏览器

MVC的工作流程: 用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器

SpringMVC是什么,有什么特点

SpringMVC学习总结_第1张图片

HelloWorld

开发环境

SpringMVC学习总结_第2张图片

创建maven工程

首先添加依赖:


		
		
			org.springframework
			spring-webmvc
			5.3.21
		
		
		
			ch.qos.logback
			logback-classic
			1.2.3
		
		
		
			javax.servlet
			javax.servlet-api
			3.1.0
			provided
		
		
		
			org.thymeleaf
			thymeleaf-spring5
			3.0.12.RELEASE
		
	

        依赖中提到的serclet-api,tomcat,依赖中封装了servlet-api和jsp-api,因此这里使用了,provided

作用是:在打包成war包的时候,该依赖不会被打包进去。

        创建web.xml文件,该文件是mvc的入口,我们在其中注册前端控制器,监听器,过滤器等,

所有的请求都被前端控制器处理。

        



	
	
		springmvc
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:spring-mvc.xml
		
		1
	
	
		springmvc
		/
	


	
		encoding
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			utf-8
		
	
	
		encoding
		/*
	


	
		15
	

        classpath:spring-mvc.xml,此处匹配的是mvc的配置文件。

“/”所匹配的请求可以是/login或.html或.js或.css方式的请求路径 但是/不能匹配.jsp请求路径的请求,

原因:jsp本质就是一个servlet,他会经过指定的servlet处理,不需要前端控制器解析,如果经过springmvc处理,mvc会将jsp当做普通的请求处理,不会找到相对应的jsp页面。

“/*”则代表的是所有的请求包括“.jsp”。

        配置文件配置方式有两种,默认的配置方式,是放在webapp目录下的,WEB-INF目录下,但是,spring的规范是将配置文件统一放在resources下,因此在此我们使用另外的配置方式--->扩展配置方式,在此我们需要自定义配置文件的位置,我们使用init-param标签,改标签意为初始化参数,他是伴随着servlet的初始化而初始化的,功能是,配置springMVC的位置,param-name中的名称一定是前端控制器中定义好的,我们为之赋值(contextConfigLocation),反之,则不会生效。

        

1

        配置前端控制器DispatcherServlet的初始化时间提前到服务器启动时。 why? 我们当前要将所有的浏览器请求交给前端控制器处理,我们必须现在web.xml中注册才能处理请求。    

  在resources文件中创建springmvc配置文件:






        配置视图解析器,这里使用Thymeleaf视图解析器,这个是可以直接照搬的:




	

	
	
	
	
	
	
		
			
				
				
				
				
				
				
			
		
	
	
	
	
	
	
	
		
			
			
				
				
					
						text/html
						application/json
					
				
			
		
	

       在WEB-INF下 创建templates文件夹,index.html,WEB-INF下的文件,是不能直接访问的,包括,在webapp下也是不能访问的,必须要通过视图解析器,解析视图。

        创建测试案例:

SpringMVC学习总结_第3张图片

@Controller
public class HelloController {

    //注解:请求映射
    @RequestMapping("/")
    // 我们的访问路径是文件夹下的index.html
    public String index(){
        //返回视图名称
        return "index";
    }


}

 

你可能感兴趣的:(ssm,ssm)