modelandview

SpringMVC的入门例子

谁说我不能喝 提交于 2020-01-14 13:39:35
MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式。它主要通过分离模型、视图及控制器在应用程序中的角色将业务逻辑从界面中解耦。通常,模型负责封装应用程序数据在视图层展示。视图仅仅只是展示这些数据,不包含任何业务逻辑。控制器负责接收来自用户的请求,并调用后台服务(manager或者dao)来处理业务逻辑。处理后,后台业务层可能会返回了一些数据在视图层展示。控制器收集这些数据及准备模型在视图层展示。MVC模式的核心思想是将业务逻辑从界面中分离出来,允许它们单独改变而不会相互影响。 在Spring MVC应用程序中,模型通常由POJO对象组成,它在业务层中被处理,在持久层中被持久化。视图通常是用JSP标准标签库(JSTL)编写的JSP模板。控制器部分是由dispatcher servlet负责,在本教程中我们将会了解更多它的相关细节。 一些开发人员认为业务层和DAO层类是MVC模型组件的一部分。我对此持有不同的意见。我不认为业务层及DAO层类为MVC框架的一部分。通常一个web应用是3层架构,即数据-业务-表示。MVC实际上是表示层的一部分。 Dispatcher Servlet(Spring控制器) 在最简单的Spring MVC应用程序中,控制器是唯一的你需要在Java web部署描述文件(即web.xml文件)中配置的Servlet

SpringMVC的核心类和注解

早过忘川 提交于 2020-01-13 16:54:30
1.1 DispatcherServlet DispatcherServlet的全名是org.springframework.web.servlet.DispatcherServlet,它在程序中充当着前端控制器的角色。 在使用时,只需将其配置在项目的web.xml文件中,其配置代码如下。 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <servlet> <!-- 配置前端过滤器 --> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <!-- 初始化时加载配置文件 --> <init

ssm重新开发计科院新闻网站

孤街醉人 提交于 2020-01-13 00:34:55
网页的展示以及新闻后台管理 SSM概述 SSM框架,即Spring + Spring MVC + MyBatis的缩写 1.Spring简介 Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 2.Spring MVC简介 Spring MVC属于Spring Framework的后续产品,已经融合在Spring Web Flow里面,它原生支持的Spring特性,让开发变得非常简单规范。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 3.MyBatis简介 MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation

ssm重新开发计科院新闻网站

孤者浪人 提交于 2020-01-13 00:32:50
SSM(SSM 框架集)   SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。   Spring   Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。   Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。   SpringMVC   SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。   mybatis   mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时

SpringMVC框架笔记02_参数绑定返回值文件上传异常处理器JSON数据交互_拦截器

我与影子孤独终老i 提交于 2020-01-12 01:09:46
目录 第1章 高级参数的绑定 1.1 参数的分类 1.2 数组类型的参数的绑定 1.3 集合类型的参数的绑定 第2章 @RequestMapping的用法 2.1 URL路径映射 2.2 请求方法限定 2.3 窄化请求映射 第3章 Controller方法的返回类型 3.1 返回ModelAndView 3.2 返回void 3.3 返回类型为String 3.3.1 逻辑视图名 3.3.2 重定向 3.3.3 转发 第4章 文件上传【重要】 4.1 文件上传页面三要素 4.2 SpringMVC上传文件注意点 4.3 开始上传 4.3.1 场景设计 4.3.2 导入文件上传的jar包 4.3.3 修改页面的jsp代码 4.3.4 配置文件 解析器 4.3.5 编写 Controller 修改商品的方法,其中包括文件上传 4.3.6 测试 4.3.7 注意 第5章 异常处理器 5.1 异常处理的思路 5.2 自定义异常处理器的举例 5.2.1 场景描述 5.2.2 自定义异常处理器 5.2.3 编写错误页面 5.2.4 配置异常处理器 5.2.5 模拟异常 5.2.6 测试 第6章 JSON数据交互 6.1 场景设计 6.2 在修改页面引入JS支持 6.3 修改提交方式 6.4 编写save函数和ajax代码 6.5 在Controller中编写updateitemAjax方法 6

SpringMVC使用HandlerExceptionResolver实现全局异常处理器

两盒软妹~` 提交于 2020-01-11 18:56:46
在SpringMVC中,提供了一个全局异常处理器,用于对系统中出现的异常进行统一处理。在一般的系统中,DAO层、Service层及Controller层出现异常都以“throws Exception”的形式向上层抛出,最后都会有SpringMVC的前端控制器(DispatcherServlet)统一交由全局异常处理器进行异常处理。 1、HandlerExceptionResolver接口 在SpringMVC中提供的HandlerExceptionResolver接口可以实现全局异常处理器,该接口的源码如下: package org.springframework.web.servlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.lang.Nullable; public interface HandlerExceptionResolver { @Nullable ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,

从源码角度了解SpringMVC的执行流程

戏子无情 提交于 2020-01-11 18:53:35
目录 从源码角度了解SpringMVC的执行流程 SpringMVC介绍 源码分析思路 源码解读 几个关键接口和类 前端控制器 DispatcherServlet 结语 从源码角度了解SpringMVC的执行流程   SpringMVC的执行流程网上有很多帖子都有讲解,流程图和文字描述都很详细,但是你如果没有通过具体源码自己走一遍流程,其实只是死记硬背。所以想开个帖子从源码角度再梳理一遍SpringMVC的执行流程,加深印象。 SpringMVC介绍   SpringMVC采用的是 前端控制器(Front Controller) + 各个业务处理器(Controller)来处理请求的。前端控制器来响应所有请求,通过一定的调度规则找到具体负责处理的业务处理器,并将请求委派给具体的业务处理器去执行业务逻辑,业务处理器返回给前端控制器模型数据model,最后前端控制器将model交给视图View进行渲染。 源码分析思路   看源码的同学可能往往会陷入一个怪圈,刚开始看可能还能看懂,等到一层一层点进去会越来越晕,让自己陷入了太多的细节中,而这些细节其实对主要流程并没有多大影响,然后就埋头研究。之后不得不又从头开始看,又让自己陷入了另一个细节。其实看源码开始时只是需要看一个大致的框架和思路,了解代码的大致执行流程,千万不要让自己陷入到细节的泥潭中

springboot 全局异常处理

天大地大妈咪最大 提交于 2020-01-11 12:41:35
顾明思议,@COntrollerAdvice就是@Controller的升级版。主要是用来处理全局数据的,搭配@ExceptionHandler、@ModelAttribute以及@InitBinder使用。 例如,自定义文件超出大小异常: package xyz . fengqing11 . hellospringboot ; import org . springframework . web . bind . annotation . ControllerAdvice ; import org . springframework . web . bind . annotation . ExceptionHandler ; import org . springframework . web . multipart . MaxUploadSizeExceededException ; import javax . servlet . http . HttpServletResponse ; import java . io . IOException ; import java . io . PrintWriter ; @ControllerAdvice public class CustomExceptionHandler { @ExceptionHandler (

使用Ajax+springmvc[ModelAndView]+thymeleaf使用中遇到的跳转页面问题

拟墨画扇 提交于 2020-01-11 09:03:48
今天在学习SpringBoot时遇到了这么一个问题, 我想要的目的:通过ajax获取数据,并通过Model渲染View,实现跳转页面并渲染数据。 但是,ajax能过获取到HTML源代码,但是无法跳转页面。 先来看看我写的代码 JS: function func2 ( ) { $ . ajax ( { url : "/getData2" , type : "POST" , //dataType : "html",// 返回类型 data : { } , // 请求的数据 参数 success : function ( data ) { // 接收从后台返回的数据 console . log ( data ) ; } } ) } Controller层 @RequestMapping ( "/getData2" ) public ModelAndView getData2 ( ) { ModelAndView mv = new ModelAndView ( ) ; mv . setViewName ( "main" ) ; // 渲染的页面 main.html List list = userService . getData2 ( ) ; mv . addObject ( "list" , list ) ; mv . addObject ( "name" , "xzy" ) ;

Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇)

妖精的绣舞 提交于 2020-01-10 10:46:29
转载请注明出处: http://www.cnblogs.com/Joanna-Yan/p/7065294.html 前面讲到: Spring+SpringMVC+MyBatis深入学习及搭建(十四)——SpringMVC和MyBatis整合 本文主要内容: (1)商品修改功能开发 (2)@RequestMapping (3)Controller类中方法的返回值 (4)参数绑定 (5)post中文乱码 (6)SpringMVC和Struts2的区别 1.商品修改功能开发 1.1需求 操作流程: (1)进入商品查询列表页面; (2)点击修改,进入商品修改页面,页面中显示了要修改的商品(从数据库查询),    要修改的商品从数据库查询,根据商品id(主键)查询商品信息; (3)在商品修改页面,修改商品信息,修改后,点击提交。 1.2开发mapper mapper:   根据id查询商品信息   根据id更新Items表的数据 不用开发了,使用逆向工程生成的代码, Spring+SpringMVC+MyBatis深入学习及搭建(十)——MyBatis逆向工程 1.3开发service 接口功能:   根据id查询商品信息   修改商品信息 public interface ItemsService { //商品查询列表 public List<ItemsCustom>