您当前的位置: 首页 >  spring

水的精神

暂无认证

  • 2浏览

    0关注

    711博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

springMVC学习笔记

水的精神 发布时间:2019-02-24 10:15:46 ,浏览量:2

为什么要学习springMVC,springMVC和struts2的比较

SpringMVC与Struts2区别

对比项目

SrpingMVC

Struts2

优势

国内市场情况

有大量用户,一般新项目启动都会选用springmvc

有部分老用户,老项目组,由于习惯了,一直在使用。

国内情况,springmvc的使用率已经超过Struts2

框架入口

基于servlet

基于filter

本质上没太大优势之分,只是配置方式不一样

框架设计思想

控制器基于方法级别的拦截,处理器设计为单实例

控制器基于类级别的拦截, 处理器设计为多实例

由于设计本身原因,造成了Struts2,通常来讲只能设计为多实例模式,相比于springmvc设计为单实例模式,Struts2会消耗更多的服务器内存。

参数传递

参数通过方法入参传递

 

参数通过类的成员变量传递

Struts2通过成员变量传递参数,导致了参数线程不安全,有可能引发并发的问题。

与spring整合

与spring同一家公司,可以与spring无缝整合

需要整合包

Springmvc可以更轻松与spring整合

简单的使用srpingmvc的开发步骤

 创建工程

导入jar包

 编写控制类

package com.angus.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

//使用注解标识这是一个控制器
@Controller
public class HellowControll {
	//注解用来绑定请求地址
	@RequestMapping("hello")
	public ModelAndView hello() {
		System.out.println("hello springmvc...");
		ModelAndView mav = new ModelAndView();
		//设置模型数据,用于传递jsp
		mav.addObject("msg", "hello springmvc...");
		//设置视图名字,用于相应用户
		mav.setViewName("/WEB-INF/jsp/hello.jsp");
		
		return mav;
	}
}	

创建页面

 创建和配置springmvc.xml核心(开启包扫描)




	
	

 

 在web.xml中配置前端控制器 



  01-springmvc
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  
  
  	springmvc
  	org.springframework.web.servlet.DispatcherServlet 
  	
  	
  		contextConfigLocation
  		classpath:springmvc.xml
  	
  
  
  	springmvc
  	*.action
  
springmvc代码的执行流程

 ① 客户端发送名为 hello.action 的请求

 ② 请求被 将带 .action 的请求拦截下来,交给名为springmvc的核心控制器来处理。

 ③核心控制器

 ④核心控制器加载一些参数

 ⑤加载springmvc的配置文件

 ⑥开启控制类的包扫描

 ⑦找到控制器类

 ⑧到控制器类里边去,找到带 @Controller的注解

 ⑨ @Controller 与 @RequestMapping 相对照

 ⑩ @RequestMappin和请求相对应

 最后加载控制类,完成相应,将结果处理结果返回。

springmvc默认组件的加载

处理器映射器

在spring的核心配置文件里边配置一个处理器映射器

还需要配置一个处理器适配器

映射器和适配器是成套使用的,如果一个用最新的,那么另外一个也需要用最新的。

显然,这么长的一个名字,我们不一定能能够记下来,那么该怎么办呢,还可以

接着我们为了方便在控制器里边对页面的访问更加简单,我们还可以配置 视图解析器

springmvc的架构体系

springmvc的核心组件是:处理器映射器,处理器适配器,视图解析器,还有前端控制器

整个流程就是,用户发送一个请求,到前端控制器,然后前端控制器,到处理器映射器上去找谁来处理,接着处理器映射器返回一个处理器执行连,然后到处理器适配器上去处理,处理器适配器执行handler,然后返回一个ModelAndView,然后再回到前端控制器,请求解析视图,返回view对象,渲染视图,最后相应用户。

springmvc简单的参数传递

@RequestParam

传递简单的参数,第一个用途是,当传的参数名不相同的时候;第二个用途,可以限制必须传递参数,第三个用途是,设置默认的传递参数。

传递pojo对象

传递包装的pojo

要点:通过点(.)传递属性。

关注
打赏
1664074814
查看更多评论
立即登录/注册

微信扫码登录

0.0385s