springmvc 基础
在最简单的springmvc应用程序中,控制器是唯一需要在java web部署描述文件(web.xml)中配置的servlete(springmvc的控制器是Dispatcher Servlet)。每个web的生命周期必须通过Dispatcher Servlet以便管理整个请求的生命周期。
工作流程:
1.用户发送请求request,请求别DispatcherServlet获取
2.DispatcherServlet对URL进行解析调用HandlerMapping,HandlerMapping将会请求映射为HandlerExecutionChain对象(包括
Handler(页面控制器对象)和多个HanderInterceptor拦截器)、返回给DispatcherServlet
3.DispatcherServlet将Handler给HanderAdapter(处理器适配器)
4.handlerAdapter适配到相应的处理方法(Controller)完成功能处理,并且返回一个ModelAndView对象给DispatcherServlet
5.DispatcherServlet将ModelAndView交给VievResolver(视图解析器),解析为具体的View,并返回
6.然后Dispatcher根据穿进来的Model模型数据对View进行渲染,此处的Model实际是一个Map数据结构
因此更容易支持其他视图技术
7.返回控制权给DispatcherServlet,由DispathcerServlet返回相应用户,到此结束流程
springmvc常用注解:
@Controller声明action组件
@Service声明Service组件
@Repository声明Dao组件
@Component 泛指组件,当不好归类时
@RequestMapping(“/index”) 请求映射(url路径)
@Resource 用于注入(j2ee提供),默认按照名称注入@Resource(name="beanName")
@AutoWired用于注入(spring提供) 默认按照类型装配
@Transactional(rollbackFor={Exception.clas})事务管理
@ResponseBody 表示返回类型将会直接作为HTTP响应字节
@Scope(“prototype”) 设定bean的作用域
@PathVariable 方法中的参数绑定到地址URL的模板
例如:
Java代码
@RequestMapping(value="/owners/{ownerId}", method=RequestMethod.GET)
public String findOwner(@PathVariable String ownerId, Model model) {
Owner owner = ownerService.findOwner(ownerId);
model.addAttribute("owner", owner);
return "displayOwner";
}
@RequestParam @RequestParam包含3个配置 @RequestParam(required = ,value="", defaultValue = "")
required :参数是否必须,boolean类型,可选项,默认为true
value: 传递的参数名称,String类型,可选项,如果有值,对应到设置方法的参数
defaultValue:String类型,参数没有传递时为参数默认指定的值
springmvc 基础的更多相关文章
- springMVC基础controller类
此文章是基于 搭建SpringMVC+Spring+Hibernate平台 功能:设置请求.响应对象:session.cookie操作:ajax访问返回json数据: 创建springMVC基础con ...
- SpringMVC基础入门
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- SpringMVC基础入门,创建一个HelloWorld程序
ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要 ...
- SpringMVC基础配置及使用
SpringMVC基础配置及使用 SpringMVC:1.SpringMVC和Spring的关系: 软件开发的三层架构: web层[表示层.表现层]---->Service层----> ...
- SpringMVC基础01——SpringMVC的知识结构体系
1.前言 目前在各大互联网公司使用最热门的技术莫过于SpringBoot以及在其基础之上的SpringCloud,然而学习这些技术的基础在于学好Spring和SpringMVC,准确来说SpringM ...
- SpringMVC基础配置(通过注解配置,非xml配置)
SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...
- SpringMVC基础(二)_文件上传、异常处理、拦截器
实现文件上传 实现文件上传,需要借助以下两个第三方 jar 包对上传的二进制文件进行解析: commons-fileupload commons-io form表单的 enctype 取值必须为:mu ...
- JavaEE SpringMVC 基础概念(如需详细资料请留言)
SpringMVC Web开发核心思想: 模型与视图相分离: 控制逻辑与业务逻辑相分离: 视图选择与具体视图技术相分离: 非侵入式开发(尽量少使用框架特定API),易于测试. SpringMVC是什么 ...
- springMVC基础配置
web.xml文件 <?xml version="1.0" encoding="UTF-8"?><web-app version= ...
- SpringMVC基础——@ModelAttribute和@SessionAttribute
一.@ModelAttribute 注解 对方法标注 @ModelAttribute 注解,在调用各个目标方法前都会去调用 @ModelAttribute 标记的注解.本质上来说,允许我们在调用目标方 ...
随机推荐
- SQL SERVER 查询特定的前几条数据
1. 使用MS SQL Server 2008: 2. 数据库内容如下: insert into xuexi1 values('张三0', '数学', 98 ) insert into xuexi1 ...
- 用CAGradientLayer实现渐变色动画
效果图: github:https://github.com/RinpeChen/CAGradientLayerBasicDemo
- mysql window下tmpdir空间耗尽
修改my.ini或my-default.ini文件[mysqld]下方配置 tmpdir = D:/tmp
- zepto源码研究 - zepto.js - 1
简要:网上已经有很多人已经将zepto的源码研究得很细致了,但我还是想写下zepto源码系列,将别人的东西和自己的想法写下来以加深印象也是自娱自乐,文章中可能有许多错误,望有人不吝指出,烦请赐教. 首 ...
- JAVA-1-HelloWorld
public class HelloWorld{ public static void main(String[] args){ System.out.println("HelloWorld ...
- 删除所有ecshop版权和logo
前面我们已经讲过如何删除ecshop的版权,但是还有很多人不会,今天就详细的讲下如何删除所有ecshop版权和logo 前台部分: 1:去掉头部TITLE部分的ECSHOP演示站 Powered by ...
- 使用 HTTP 缓存机制提升系统性能
摘要 HTTP缓存机制定义在HTTP协议标准中,被现代浏览器广泛支持,同时也是一个用于提升基于Web的系统性能的广泛使用的工具.本文讨论如何使用HTTP缓存机制提升基于Web的系统,以及如何避免误用. ...
- phpcms v9教程 联动搜索在房地产网站开发中的应用
开发简述:使用phpcms v9系统,修改源文件5个,创建模型:楼盘.出售.出租.中介.小区,增加联动菜单:楼盘,增加用户组:房产中介.实现功能:游客发布信息.会员申请中介.楼盘全方位展示.报名团购. ...
- Java在ACM中的使用
1.基本框架 import java.oi.*; import java.util.* public class Main { public static void main(St ...
- Python3 如何优雅地使用正则表达式(详解五)
非捕获组命名组 精心设计的正则表达式可能会划分很多组,这些组不仅可以匹配相关的子串,还能够对正则表达式本身进行分组和结构化.在复杂的正则表达式中,由于有太多的组,因此通过组的序号来跟踪和使用会变得困难 ...