Soumettre la recherche
Mettre en ligne
Spring mvc
•
Télécharger en tant que PPTX, PDF
•
3 j'aime
•
1,195 vues
pepsixp
Suivre
Technologie
Actualités & Politique
Signaler
Partager
Signaler
Partager
1 sur 38
Télécharger maintenant
Recommandé
使用 Controller
使用 Controller
Shengyou Fan
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行
Jimmy Ho
Model & Seeding整合
Model & Seeding整合
Shengyou Fan
Route 機制
Route 機制
Shengyou Fan
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Shengyou Fan
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
Model 設定與 Seeding
Model 設定與 Seeding
Shengyou Fan
工作坊總結
工作坊總結
Shengyou Fan
Recommandé
使用 Controller
使用 Controller
Shengyou Fan
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行
Jimmy Ho
Model & Seeding整合
Model & Seeding整合
Shengyou Fan
Route 機制
Route 機制
Shengyou Fan
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Shengyou Fan
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
Model 設定與 Seeding
Model 設定與 Seeding
Shengyou Fan
工作坊總結
工作坊總結
Shengyou Fan
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
整合 Open ID
整合 Open ID
Shengyou Fan
Package 安裝與使用
Package 安裝與使用
Shengyou Fan
Route路由控制
Route路由控制
Shengyou Fan
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Justin Lin
開發環境建置
開發環境建置
Shengyou Fan
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
Chieh Kai Yang
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Justin Lin
Laravel - 系統全攻略
Laravel - 系統全攻略
Vincent Chi
Eloquent ORM
Eloquent ORM
Shengyou Fan
Schema & Migration操作
Schema & Migration操作
Shengyou Fan
CRUD 綜合應用
CRUD 綜合應用
Shengyou Fan
Route 路由控制
Route 路由控制
Shengyou Fan
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
Eloquent ORM
Eloquent ORM
Shengyou Fan
LaravelConf Taiwan 2017 單頁面應用與前後端分離開發
LaravelConf Taiwan 2017 單頁面應用與前後端分離開發
俊仁 陳
Laravel - 系統全攻略(續)
Laravel - 系統全攻略(續)
Vincent Chi
工作坊總結
工作坊總結
Shengyou Fan
驗證與訊息
驗證與訊息
Shengyou Fan
How to ASP.NET MVC4
How to ASP.NET MVC4
Daniel Chou
使用 Controller
使用 Controller
Shengyou Fan
Contenu connexe
Tendances
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
整合 Open ID
整合 Open ID
Shengyou Fan
Package 安裝與使用
Package 安裝與使用
Shengyou Fan
Route路由控制
Route路由控制
Shengyou Fan
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Justin Lin
開發環境建置
開發環境建置
Shengyou Fan
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
Chieh Kai Yang
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Justin Lin
Laravel - 系統全攻略
Laravel - 系統全攻略
Vincent Chi
Eloquent ORM
Eloquent ORM
Shengyou Fan
Schema & Migration操作
Schema & Migration操作
Shengyou Fan
CRUD 綜合應用
CRUD 綜合應用
Shengyou Fan
Route 路由控制
Route 路由控制
Shengyou Fan
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
Eloquent ORM
Eloquent ORM
Shengyou Fan
LaravelConf Taiwan 2017 單頁面應用與前後端分離開發
LaravelConf Taiwan 2017 單頁面應用與前後端分離開發
俊仁 陳
Laravel - 系統全攻略(續)
Laravel - 系統全攻略(續)
Vincent Chi
工作坊總結
工作坊總結
Shengyou Fan
驗證與訊息
驗證與訊息
Shengyou Fan
Tendances
(20)
CRUD 綜合運用
CRUD 綜合運用
整合 Open ID
整合 Open ID
Package 安裝與使用
Package 安裝與使用
Route路由控制
Route路由控制
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
開發環境建置
開發環境建置
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Laravel - 系統全攻略
Laravel - 系統全攻略
Eloquent ORM
Eloquent ORM
Schema & Migration操作
Schema & Migration操作
CRUD 綜合應用
CRUD 綜合應用
Route 路由控制
Route 路由控制
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Eloquent ORM
Eloquent ORM
LaravelConf Taiwan 2017 單頁面應用與前後端分離開發
LaravelConf Taiwan 2017 單頁面應用與前後端分離開發
Laravel - 系統全攻略(續)
Laravel - 系統全攻略(續)
工作坊總結
工作坊總結
驗證與訊息
驗證與訊息
Similaire à Spring mvc
How to ASP.NET MVC4
How to ASP.NET MVC4
Daniel Chou
使用 Controller
使用 Controller
Shengyou Fan
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Justin Lin
Introduction to ASP.NET MVC and MVC 5 Features
Introduction to ASP.NET MVC and MVC 5 Features
Jeff Chu
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Justin Lin
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Li JianYe
Real World ASP.NET MVC
Real World ASP.NET MVC
jeffz
Berserk js
Berserk js
taobao.com
纵览Loadrunner核心功能
纵览Loadrunner核心功能
beiyu95
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
Justin Lin
实时Web的前世今生未来
实时Web的前世今生未来
RolfZhang
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC
Template mb-kao
Template mb-kao
xwcoder
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
Will Huang
Blazor in NET 8 的重大改變___________________
Blazor in NET 8 的重大改變___________________
Gelis Wu
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin
Non-MVC Web Framework
Non-MVC Web Framework
Fred Chien
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
Similaire à Spring mvc
(20)
How to ASP.NET MVC4
How to ASP.NET MVC4
使用 Controller
使用 Controller
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應
Introduction to ASP.NET MVC and MVC 5 Features
Introduction to ASP.NET MVC and MVC 5 Features
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Real World ASP.NET MVC
Real World ASP.NET MVC
Berserk js
Berserk js
纵览Loadrunner核心功能
纵览Loadrunner核心功能
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
实时Web的前世今生未来
实时Web的前世今生未来
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
Template mb-kao
Template mb-kao
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
Blazor in NET 8 的重大改變___________________
Blazor in NET 8 的重大改變___________________
Real time web实时信息流推送
Real time web实时信息流推送
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Non-MVC Web Framework
Non-MVC Web Framework
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Spring mvc
1.
Spring MVC RESTful Web
Service和应用开发 cheney.s 2010.10
2.
主题 •快速启动 •如何使用 •为什么选择 •深入MVC
3.
快速启动
4.
快速启动 创建Spring MVC项目 1. web.xml注册DispatcherServlet •
映射到”/” • FrontController 2. 创建spring容器: root & web
5.
快速启动 这么复杂,不玩了 请留步... Demo Spring Roo http://www.springsource.org/roo
6.
如何使用
7.
如何使用 MVC的编程模型 • request @Controller •
@RequestMapping映射规则 • Method参数获取请求数据 • 返回结果产生response DispatcherServlet
8.
如何使用 请求映射 • By Path •
@RequestMapping("path") • By HTTP Method • @RequestMapping(value="path", method=RequestMethod.GET) • By Query Parameter • @RequestMapping(value="path", params="foo") • @RequestMapping(value="path", params={"foo", "!bar"}) • @RequestMapping(value="path", params="day=Monday") • @RequestMapping(value="path", params="day!=Sunday") • By Request Header • @RequestMapping("path", headers="content-type=text/*")
9.
如何使用 @RequestMapping • 在class级别使用
10.
如何使用 @RequestMapping • 在method级别使用
11.
如何使用 获取请求数据 1. @RequestParam("name") • @RequestParam(value="id",
required="false") 2. @PathVariable("var") 3. @RequestHeader("name") 4. @RequestBody 5. @CookieValue("name") 6. JavaBean 7. HttpEntity<T>
12.
如何使用 类型转换 • 自动转换 • ConversionService提供功能 •
常规的转换功能开箱即用 • Primitives, Strings, Dates, Collections, Maps, 自定义 • 使用注解声明转换规则 • @NumberFormat, @DateTimeFormat,自定义@Format
13.
如何使用 注入标准对象 任意组合使用 HttpServletReque st HttpServletRespo nse HttpSession InputStream OutputStream Principal Reader
Writer Locale
14.
如何使用 注入我的对象 WebArgumentResolver
15.
如何使用 产生Response • 返回@ResponseBody • 返回ResponseEntity<T>
16.
如何使用 视图呈现 • DispatcherServlet也能呈现视图 • HttpMessageConverter输出响应 •
通过模版(jsp)输出text/*类型的内容 • 通过Model导出数据到视图中
17.
如何使用 视图呈现 • 通过字符串选择视图 • 这种方式下不要使用@ResponseBody •
可以配置ViewResolver把名称和实例对象绑定 • 默认的ViewResoler转向内部的servlet资源 • 开箱即用: JSP、Tiles、Freemarker、Velocity、 iText PDF、Jexcel、JasperReports、XSLT • 支持自定义视图
18.
如何使用 Validation • JavaBean 使用@Valid触发 •
JSR-303,实现hibernate-validator • 验证结果通过BindingResult获取,必须在 JavaBean之后 • 不支持其它请求参数类型(@RequestBody等) • 错误会自动导出到视图中
19.
如何使用 Validation 1 2
20.
如何使用 异常处理 • @Controller级别 • 在Controller中的一个单独的方法上加上 @ExceptionHandler •
自己捕获异常 • DispatcherServlet级别 • 依赖DefaultHandlerExceptionResolver • 支持自定义HandlerExceptionResolver
21.
如何使用 测试 • 单元测试 • just
POJOs • 使用mock框架 • HttpServlet Mocks • MockHttpServletRequest • MockHttpServletResponse • MockServletContext
22.
为什么选择
23.
为什么选择 PK MVC • Struts •
Spring MVC • JSF、Tapestry 开发的王道(web vs jee vs ?)
24.
为什么选择 PK REST • Spring
MVC • 缺少http响应状态码的支持,需要手工编写 • Spring MVC 2.5编程模型的延续 • JAX-RS(jersey) • @Path(“{username}/portfolios/“)、@PathParam("username") • @QueryParam @FormParam @MatrixParam • @GET @POST • 缺少spring MVC参数匹配机制 • 缺少基于注解的类型转换和数据验证
25.
为什么选择 优点 • 一脉相承的spring模式 • 架构优雅,配置简单,使用灵活 •
JSR-303支持 • 简化ajax开发 • Roo支持
26.
深入MVC
27.
深入MVC 配置解析 • web.xml • DispatcherServlet
-> servlet-context.xml • servlet-context.xml • <mvc:annotation-driven /> -> AnnotationMethodHandlerAdapter • <context:component-scan base-package="org.springframework.samples.mvc" /> • 初始化DispatcherServlet
28.
深入MVC DispatcherServlet • Controllers • Handler
mappings • type: org.springframework.web.servlet.HandlerMapping • View resolvers • type: org.springframework.web.servlet.ViewResolver • Local resolver • name:localeResolver • Theme resolver • name:tmemeResolver • Mulipart resolver • name:multipartResolver • Handler exception mappings • type: org.springframework.web.servlet.HandlerExceptionResolver • HandlerAdapter • type: org.springframework.web.servlet.HandlerAdapter
29.
深入MVC DispatcherServlet
30.
深入MVC 参数注入的魔法 魔法来源: org.springframework.web.bind.annotation.support.HandlerMethodInvoker #resolveHandlerArguments() 魔法原理:反射 CodeReview
31.
深入MVC HttpMessageConverters • 读取请求,产生响应 • 可以为不同的content
types注册多个的转换器 • 对于@RequestBody,使用第一个能读取”Content- Type”请求的转换器,转换为方法参数值 • 对于@ResponseBody,使用客户端可以”Accept” 的返回类型的第一个找到的转换器回写数据 • 默认已经提供了一组转换器(4个) • 可以自定义转换器,通过 AnnotationMethodHandlerAdapter注册
32.
深入MVC 默认HttpMessageConverters 1. StringHttpMessageConverter • text/*
read String • String write text/plain 2. FormHttpMessageConverter • application/x-www-form-urlencoded read MultiValueMap<String, String> • MultiValueMap<String, String> write application/x-www-form- urlencoded 3. ByteArrayMessageConverter • */* read byte[] • Object write application/octet-stream
33.
深入MVC 默认HttpMessageConverters 4. Jaxb2RootElementHttpMessageConverter • text/xml
|| application/xml read Object(JAXB annotated) • JAXB-annotated Objects write text/xml || application/xml • Classpath中有JAXB时自动注册 5. MappingJacksonHttpMessageConverter • application/json read Object • Object write application/json • Classpath中有Jackson API时自动注册 6. SourceHttpMessageConverter • text/xml || application/xml read javax.xml.transform.Source • javax.xml.transform.Source write text/xml || application/xml
34.
深入MVC 默认HttpMessageConverters 7. ResourceHttpMessageConverter • R/W
org.springframework.core.io.Resource 8. AtomFeedHttpMessageConverter • R/W Rome Feed (application/atom+xml) • Classpath中有Rome时自动注册 9. RssChannelHttpMessageConverter • R/W RssChannels(application/rss+xml) • Classpath中有Rome时自动注册 10.BufferedImageHttpMessageConverter 11.MarshallingHttpMessageConverter
35.
深入MVC Views vs @ResponseBody •
都为了呈现响应 • ViewResolver + View • HttpMessageConverter • 触发方式不同 • View 返回一个字符串 • 通过@ResponseBody或ResponseEntity输出 • 如何选择 • 使用view生成文档,例如html、pdf、xls • 使用@ResponseBody提供web service,例如xml、json
36.
深入MVC 资源文件的处理 • servlet-mapping: / •
3.0.4新增: • <mvc:resources mapping="/resources/**" location="/resources/" />
37.
RestTemplate Etag 数据绑定 注解带来 的问题 使用约束 上
,请听下回分解
38.
谢谢
Télécharger maintenant