《(本科)Web7-4Spring MVC编程模型ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)Web7-4Spring MVC编程模型ppt课件.pptx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程主讲人:Web7-4Spring MVC编程模型昆明理工大学计算中心昆明理工大学计算中心WebWeb设计与应用设计与应用7.4 Spring MVC编程模型Web设计与应用Spring MVC是什么Spring Web MVCServletHTTPWeb的奠基石:规范Web的应用层协议生成动态内容的Java Web组件使用Java语言面向Web编程:HttpServlet抽象类doGet/doPost等方法一个Java Web开发框架,以DispatcherServlet为核心,将请求分发(dispatch)到处理器(Handler),根据处理器的返回结果解析视图、渲染视图并得到回复。Sp
2、ring MVC的请求处理流程浏览器DispatcherServletHandlerMappingControllerViewResolverViewRequestResponseURL等请求属性Handler信息请求参数Model和View视图逻辑名称View实例Model数据渲染结果服务器Model-View-ControllerControllerpublic class HelloWorldController RequestMapping(/index) public String helloWorld(Model model) model.addAttribute(message,
3、 Hello World!); return index; 声明这是一个控制器组件CVM请求URL“/index”时执行helloWorld方法为视图准备模型数据返回视图名称框架会解析index视图(1)为控制器类添加另一个Handler方法。模型和视图RequestMapping(/hi)public String sayHi( RequestParam(username) String username, Model model) model.addAttribute(username, username); return sayHi;为视图准备模型数据username返回视图sayHi模
4、型和视图 spring-boot-starter-freemarker (2)添加一个视图技术依赖项到POM。表明项目使用FreeMarker视图技术(3)在/src/main/resources/templates/目录中创建sayHi.ftl。模型和视图Hi, $usernameBack在视图中使用模型数据username视图名称sayHiFreeMarker模板文件模型和视图运行时全流程回顾1 - Spring Boot启动 Mapped “/hi” onto public String DynamicWeb.sayHi( . )2 - 使用浏览器访问http:/localhost:80
5、80/hi?username=Jack3 - DispatcherServlet通过HandlerMapping得知调用sayHi()方法 username参数值为Jack model参数值为一个隐含的模型对象4 - sayHi()方法向模型中加入数据 model.addAttribute()加入username属性,值为Jack5 - sayHi()方法返回逻辑视图名称sayHi6 - ViewResolver在templates目录中定位sayHi.ftl文件,返回视图7 - 视图渲染,把$username替换为Jack,渲染结果为HTML文档8 - 渲染的HTML文档作为回复返回浏览器Spring MVC编程要点核心:控制器和视图模板的编程由控制器准备模型数据在视图模板中使用模型数据控制器编程要点:控制器类上使用Controller注解处理方法上使用RequestMapping注解处理方法的方法签名非常灵活,请自学