springMVC知识点

全注解

<mvc:annotation-driven>

1:自动注册基于注解风格的处理器需要的DefaultAnnotationHandlerMapping、

AnnotationMethodHandlerAdapter

2:支持ConversionService自动注册(类型转换)

3:支持验证框架的自动探测并注册

4:支持@RequestBody 和 @ResponseBody,支持JSON数据转换(只

需将Jackson实现放置到classpath)

<context:component-scan base-package="">

组件扫描器,会扫描base-package下的类,标识为@Component类会被ioc容器创建

Model ModelMap Map

返回数据范畴

这3个类型的对象其实为同一个对象,以后使用Model即可

controller中获取的数据可以以key-value方式放在这个3个对象里面,页面通过el表达式获取

获取数据的时候,先Model对象获取,没有找到再到request

Model对应于Struts2中valuestack。struts2处理对象颗粒度为类级别,springmvc处理对象为方法

@RequestMapping("/update")//通过注解完成请求url到Controller方法的映射

public ModelAndView update(HttpServletRequest request,Model model, ModelMap modelMap,Map map) throws Exception {

//收集组织

//调用

//切换

// model.addAttribute("a", 1);

modelMap.addAttribute("b", 2);

map.put("c", 3);

request.setAttribute("a", 22);

System.out.println(model==modelMap);

System.out.println(modelMap==map);

System.out.println("update");

ModelAndView modelAndView = new ModelAndView();//ModelAndView 模型视图对象

modelAndView.addObject("info", "hello springmvc");//返回数据,给模型视图对象添加数据

modelAndView.setViewName("list");//给模型视图对象设置逻辑视图名

return modelAndView;

}

Model和ModelAndView

ModelAndView作为返回对象,会合并、覆盖Model中保存的相同key的数据

切换页面

l ModelAndView

设置ModelAndView对象逻辑视图,切换页面

l String

controller-controller

一次请求(转发)

“forward:toList”

2次请求(重定向)

“redirect:toList”

controller-jsp

一次请求(转发)

直接返回页面的逻辑视图名字符串

2次请求(重定向)

没有

静态资源处理

静态资源:js、css、图片等叫做静态资源

/static/js/test.js  /static/js/test2.js

/static/css/test.css

/static/*

l test.js

l list.jsp

l Controller

l springmvc配置

类型转换

定义一个自定义转换器

注册转换器

对json的支持

@ResponseBody

index.jsp

在页面插入一条商品的记录,前台页面需要将刚刚插入的数据展示

用TaskTimer隔一段时间重新查询数据库记录,将更新后数据展示在前台首页

TaskTimer对象什么创建,任务什么启动

拦截器

//一般开发中,有接口和父类供选择,选择父类。因为父类提供公共的方法

public class MyHandlerInterceptor1 implements HandlerInterceptor{

/**

* 前置处理,执行处理器方法之前回调preHandle方法

*/

public boolean preHandle(HttpServletRequest request,

HttpServletResponse response, Object handler) throws Exception {

System.out.println("====MyHandlerInterceptor1 preHandle");

return false;

}

/**

* 后置处理,执行处理器方法后回调postHandle方法

*/

public void postHandle(HttpServletRequest request,

HttpServletResponse response, Object handler,

ModelAndView modelAndView) throws Exception {

System.out.println("====MyHandlerInterceptor1 postHandle");

}

/**

* 视图渲染完毕后,回调这个方法

*/

public void afterCompletion(HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex)

throws Exception {

System.out.println("====MyHandlerInterceptor1 afterCompletion");

}

}

//一般开发中,有接口和父类供选择,选择父类。因为父类提供公共的方法

public class MyHandlerInterceptor2 implements HandlerInterceptor{

/**

* 前置处理,执行处理器方法之前回调preHandle方法

*/

public boolean preHandle(HttpServletRequest request,

HttpServletResponse response, Object handler) throws Exception {

System.out.println("====MyHandlerInterceptor2 preHandle");

return true;

}

/**

* 后置处理,执行处理器方法后回调postHandle方法

*/

public void postHandle(HttpServletRequest request,

HttpServletResponse response, Object handler,

ModelAndView modelAndView) throws Exception {

System.out.println("====MyHandlerInterceptor2 postHandle");

}

/**

* 视图渲染完毕后,回调这个方法

*/

public void afterCompletion(HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex)

throws Exception {

System.out.println("====MyHandlerInterceptor2 afterCompletion");

}

}

list.jsp

正常执行流程

文件上传

请求表单类型

配置文件中设置文件上传解析器

处理器方法绑定MultiPartFile对象,方法中将对象指向文件转移到自己指定文件里面即可

10 今日总结

核心操作

时间: 2024-10-10 02:21:44

springMVC知识点的相关文章

SpringMVC知识点汇总

1.${SESSION_USER_V2} 会从大到小查找作用域中的attribute          PageContext                          PageScope          servletRequest                       RequestScope          httpSession                         SessionScope          Application/servletContex

Spring/SpringMvc知识点整理

1.spring加载资源的两个类:  ResourceBundleMessageSource:加载文件可用:xxx/xx.xml或者xxx.xx.xml  ReloadableResourceBundleMessageSource:加载文件必须使用:classPath:xxx/xx.xml[email protected]注解的方法会在Controller的其他方法执行之前执行3.springMvc返回的逻辑视图中 ./表示同级目录,../表示上一级目录4.springMvc在控制器之间的跳转:

springMVC知识点复习

@ResponseBody和@RequestBody的使用 <html> <script type="text/javascript" src="rel/jquery-2.0.2.js"></script> <script> //请求数据为json function a(){ $.ajax({ type:"post", contentType:"application/json;chars

Spring MVC知识梳理

同上一篇博客,复习梳理SpringMVC知识点,这次的梳理比较快,很多细节没有顾虑到,后期可能会回来补充 1. 整体架构 1.1 在学习了SSM框架后我们来理清三者的应用层面 浏览器发送请求,请求到达SpringMVC处理,然后调用业务层逻辑实现,跟着持久层操作获取数据,最后逆序响应到浏览器.前面我们复习了Mybaits和Spring框架,我们当然不陌生了,现在就来了解下SpringMVC到底有什么作用 1.2 MVC MVC模型中,M是把浏览器传的参数封装成的pojo类型,V则代表视图,C就是

SpringMVC简单知识点

看了一下<SpringMVC学习指南>,想着总结一下自己学到的东西. 众所周知,MVC模式就是模型.视图.控制器模式,而我认为SpringMVC相较于普通MVC模式的好处在于,它可以实现依赖注入.依赖注入是这样处理此类情景的:接管对象的创建工作,并将该对象的引用注入需要对象的组件.为了能让框架进行依赖注入,程序员需要编写特定的set方法或者构建方法.注意:Spring管理的对象称为beans. 在MVC模式中,每个HTTP请求都发送给控制器,请求中的URI标识出对应的action.action

springMVC学习笔记--知识点总结1

以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- 配置渲染器 --> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property

springMVC等小知识点记录。。。持续更新

1.springMVC 项目根路径访问页面配置 <!-- 表示当访问主页时自动转发到index控制器 --> <mvc:view-controller path="/" view-name="forward:/user"/> <!-- 直接根据相关InternalResourceViewResolver的配置跳转到login.jsp页面 --> <mvc:view-controller path="/"

170821-关于SpringMVC的知识点

1.SpringMVC 概述 Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一  Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架  Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请 求的控制器,而无须实现任何接口.  支持 REST 风格的 URL 请求  采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性 2.SpringMVC之HelloWorld 步骤: – 加入 j

SpringMVC的知识点

什么是SpringMVC? SpringMVC是一个基于Java实现了MVC设计模式的轻量级Web框架.通过把model-view-controller进行分离,将Web层进行职责解耦,把Web应用分成逻辑清晰的几部分,方便开发人员之间的配合 SpringMVC的执行流程? 用户发送请求给DispatcherServlet,DispatcherServlet调用HandlerMapping HandlerMapping通过请求中的URL找到对应的Handler,并返回Handler给Dispat