springmvc框架

  • MVC:Model-View-Controller,数据模型+jsp+controller方法
  • 常用注解
 @ResponseBody    以json字符串的形式返回
 @RequestMapping(value method)  为控制器指定可以处理哪些URL请求,可以标记在类和方法上
 @PathVariable    RESTful风格开发中目标方法获取请求上的参数
 @RequestParam    可以把请求参数传递给请求方法
 @RequestHeader   可以将请求头中的属性值绑定到处理器方法的入参中
 @CookieValue         可让处理方法入参绑定某个 Cookie
 @SessionAttributes  获取session域中的对象
 @ModelAttribute     封装POJO对象原理:
          首先会去查找本类中是否有ModelAttribute 修饰的方法,若有则去reuqest域中查找是否有被ModelAttribute方法放到request域中的User参数。若有则目标方法中的 
           User参数就是ruquest中的User. 若没找到或者没有ModelAttribute修饰的方法就去看类名上是否被SesstionAttribute修饰,
           若修饰了就进一步去session域中找User,若还没找到就会报错,若没有被sessionAttribute修饰,才会新建一个User对象用于接收用户提交的数据并封装到给User参数中。
  • restful风格开发

表单只能发起get/post请求.如果希望可以发起delete或put请求.可以配置HiddenHttpMethodFilter过滤器.

<!-- 支持REST风格开发.可以将POST请求转换为PUT或DELETE -->
<filter>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

同时需要用隐藏标签转换为put或者delete请求

<form action="${pageContext.request.contextPath }/springmvc/testREST/1" method="POST">
<input type="hidden" name="_method" value="put"/>
<input type="submit" value="testRESTPUT"/>
</form>
  • controller方法支持9个标准参数
HttpServletRequest
HttpServletResponse
HttpSession
java.security.Principal
Locale
InputStream
OutputStream
Reader
Writer
  • 数据绑定流程:DataBinder

  • .<mvc:annotation-driven/>什么时候配置

1、直接配置响应的页面:无需经过控制器来执行结果 ;但会导致其他请求路径失效,需要配置mvc:annotation-driven标签

2、配置了静态资源处理器:<mvc:default-servlet-handler/>

。。。。

  • 多个拦截器执行步骤

  • 框架运行流程

说明:

  1. 用户发送请求☞DispatcherServlet
    DispatcherServlet是前端控制器,作为统一访问点,进行全局的流程控制。其收到请求后不直接进行处理,而是委托其他解析器进行处理。
  2. DispatcherServlet☞HandlerMapping
    DispatcherServlet根据URI调用HandlerMapping,获得HandlerExecutionChain对象(一个Handler对象(页面控制器)和多个HandlerInterceptor对象(拦截器))
  3. DispatcherServlet☞HandlerAdapter
    HandlerAdapter将Handler包装为Adapter,采用Adapter模式,从而很容易支持多类型Handler
  4. HandlerAdapter☞Handler相应方法调用
    HandlerAdapter会根据适配结果调用真正地Handler处理方法,并返回一个ModelAndView对象(模型数据、逻辑视图名)
  5. ModeAndView中逻辑视图名☞ViewResolver
    ViewResolver将逻辑视图名解析为具体的View
  6. Model☞View☞渲染
    View根据Model数据进行渲染,Model本质是一个Map数据结构,因此很容易支持各种视图技术
  7. DispatcherServlet☞响应客户端
  • 配置文件

1、web.xml:监听器,过滤器(rest风格过滤器,字符编码过滤器),核心控制器

2、springmvc.xml

视图解析器,拦截器,异常处理器,扫描controller层,静态资源处理器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值