![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringMVC
伊佐奈美須八尾
这个作者很懒,什么都没留下…
展开
-
SpringMVC----概述(1)
1. Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的 MVC 框架之一2.Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架3.Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。4.支持 REST 风格的 URL请求5.采用了松散耦合可插拔组件结构,比其他 MVC ...原创 2019-05-05 10:49:03 · 138 阅读 · 0 评论 -
SpringMVC----重定向(15)
1. 一般情况下,控制器方法返回字符串类型的值会被当成逻辑视图名处理2.如果返回的字符串中带 forward: 或 redirect: • 前缀时,SpringMVC 会对他们进行特殊处理:将 forward: 和redirect: 当成指示符, 其后的字符串作为 URL 来处理 redirect:success.jsp:会完成一个到 success.jsp 的重...原创 2019-05-07 09:45:09 · 98 阅读 · 0 评论 -
SpringMVC----数据绑定的流程(19)
理解:数据绑定的流程就是说,页面表单的数据,是如何绑定到后台的对应的java类中,并且是如何自动转换为后台定义的类型的 (一般从前端页面传到后台的数据一般都是String类型,SpringMVC是如何转变为需要的类型比如Date,Integerl类型) 即表单字段到Javabean属性的绑定以及校验1.Spring MVC 主框架将 ServletRequest...原创 2019-05-14 17:39:42 · 157 阅读 · 0 评论 -
SpringMVC----InitBinder注解(20)
1.由 @InitBinder 标识的方法,可以对 WebDataBinder 对象进行初始化。 WebDataBinder 是 DataBinder 的子类,用于完成由表单字段到 JavaBean 属性的绑定2.@InitBinder方法不能有返回值,它必须声明为void 。3. @InitBinder方法的参数通常是是 WebDataBinder 。4.常用的方法,设...原创 2019-05-14 17:55:22 · 221 阅读 · 0 评论 -
SpringMVC----mvc:annotation-driven && 数据格式化(21)
1.<mvc:annotation-driven /> 会自动注册RequestMappingHandlerMapping、RequestMappingHandlerAdapter 与 ExceptionHandlerExceptionResolver 三个bean。2.还将提供以下支持: 2.1 支持使用 ConversionService 实例对表...原创 2019-05-15 17:44:39 · 127 阅读 · 0 评论 -
SpringMVC----数据校验(22)
1.使用JSR303标准 1.1 JSR 303 是 Java 为 Bean 数据合法性校验提供的标准框架,它已经包含在 JavaEE 6.0 中 . 1.2 JSR 303 通过在 Bean 属性上标注类似于 @NotNull、@Max等标准的注解指定校验规则, 并通过标准的验证接口对 Bean进行验证 2.应为JSR30...原创 2019-05-16 09:00:57 · 83 阅读 · 0 评论 -
SpringMVC----错误消息的显示(23)
1. 信息输入jsp页面,如果在验证消息出错时,如何将错误消息显示在jsp,2.添加了需要验证的字段public class Employee { private Integer id; @NotEmpty private String lastName; @Email private String email; private Integer gender;...原创 2019-05-16 09:17:19 · 392 阅读 · 0 评论 -
SpringMVC----如何处理JSON数据 && HttpMessageConverter<T> (24)
1.准备环境,加入jar包(jackson)2. 编写目标方法,使其返回 JSON 对应的对象或集合3. 在方法上添加 @ResponseBody 注解4.目标方法,添加了@ResponseBody 注解。 jsp页面发送“testJson”的ajax请求到目标方法,返回一组json数据<script type="text/javascript" src="...原创 2019-05-16 11:05:58 · 128 阅读 · 0 评论 -
SpringMVC----文件的上传(25)
1.Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。Spring 用Jakarta Commons FileUpload 技术实现了一个MultipartResolver 实现类:CommonsMultipartResovler (MultipartResolver 是一个接口,spring默认的提供了两个实...原创 2019-05-16 14:41:26 · 104 阅读 · 0 评论 -
SpringMVC----拦截器(26)
1. Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现 HandlerInterceptor接口2. 自定义拦截器。实现HandlerInterceptor接口。public class FristInterceptor implements HandlerInterceptor{ /** * ...原创 2019-05-16 15:44:31 · 85 阅读 · 0 评论 -
SpringMVC----异常处理----ExceptionHandlerExceptionResolver(27)
1.Spring MVC 通过 HandlerExceptionResolver 处理程序的异常,包括 Handler 映射、数据绑定以及目标方法执行时发生的异 常。(HandlerExceptionResolver 是一个接口)2. SpringMVC 提供的 HandlerExceptionResolver 的实现类:3. DispatcherServlet 默认装配的 Ha...原创 2019-05-16 16:47:02 · 8176 阅读 · 0 评论 -
SpringMVC----运行流程(28)
1.发送请求到 springDispatcherServlet的 url-pattern(在web.xml文件中配置,是检查所发送的请求是否属于拦截的范围, 拦截的范围由url-patte来控制) 1.1 请求<a href="testHelloWorld">testHelloWorld</a> 1.2 springDispatcherSe...原创 2019-05-17 10:40:20 · 139 阅读 · 0 评论 -
SpringMVC----SpringMVC VS Struts2(30)
1. springMVC入口是servlet,而Struts2的入口是Fileter2.springMVC会稍微比Struts2快。springMVC是基于方法的,这些方法都可以放在一个handler类中。 而Struts2是基于类的,每次发送一个请求都会实例化一个Action3.springMVC使用更加简洁,开发效率比Struts2高。支持JSR303,处理ajax的请求更加方...原创 2019-05-17 16:56:10 · 238 阅读 · 0 评论 -
SpringMVC----RESTful的增删改查----查询操作(16)
1.需求显示所有的员工信息。 -URI:emps -请求方式:GET -显示效果2. 代码示例。 2.1 jsp请求:发送请求到servlet,由DispatcherServlet调用控制器的目标方法。<body> <a href="emps">get all employees</a><...原创 2019-05-18 11:51:49 · 931 阅读 · 0 评论 -
SpringMVC----视图和视图解析器(14)
1.SpringMVC解析视图的大致流程。 当我们调用目标方法后,会有处理方法的返回值,不管返回值类型是String,ModelAndView,View,视图解析器都会把它 转化为ModelAndView类型,经过ViewResolver来得到视图的物理路径。2.请求处理方法执行完成后,最终返回一个 ModelAndView对象。对于那些返回 String,...原创 2019-05-07 09:34:37 · 195 阅读 · 0 评论 -
SpringMVC----处理模型数据----@ModelAttribute(13)
1.@ModelAttribute 注解:Spring MVC 在调用目标处理方法前,会先逐个调用在方法级上标注了@ModelAttribute 的方法。 (注意是每个目标方法之前都会调用该方法)2.代码示例 2.1 需求。 正常更新数据库中的一条记录,记录中有的字段时不能...原创 2019-05-06 16:57:59 · 257 阅读 · 0 评论 -
SpringMVC----使用 @RequestMapping 映射请求(2)
1.Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求2.在控制器的类定义及方法定义处都可标注@Controller@RequestMapping("/springMVC")public class SpringMVCTest { private static final String SUCCESS = "success"; ...原创 2019-05-05 13:16:57 · 130 阅读 · 0 评论 -
SpringMVC----@RequestMapping 参数之method----映射请求方法(3)
5.映射请求参数、请求方法或请求头 5.1 @RequestMapping 除了可以使用请求 URL 映射请求外,还可以使用请求方法、请求参数及请求头映射请求 5.2 @RequestMapping 的 value、method、params 及 heads分别表示请求 URL、请求方法、请求参数及请求头 的映射条件,他们之间是与的关系,联合...原创 2019-05-05 13:22:25 · 1167 阅读 · 0 评论 -
SpringMVC----@PathVariable 映射 URL 绑定的占位符(4)
1.带占位符的 URL 是 Spring3.0 新增的功能,该功能在 SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义2.通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中: URL 中的 {xxx} 占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中。/*** @PathVariabl...原创 2019-05-05 13:43:07 · 239 阅读 · 0 评论 -
SpringMVC----使用HiddenHttpMethodFilter转化post请求(6)
1.spring支持REST风格的请求URL。这样就必须能够发送PUT和DELETE请求。在spring中使用HiddenHttpMethodFilter 可以将post请求转化为PUT和DELETE请求2.如何发送PUT和DELETE请求。 2.1 配置HiddenHttpMethodFilter。在web.xml文件中。<!--配置HiddenHttpM...原创 2019-05-05 14:30:39 · 240 阅读 · 0 评论 -
SpringMVC----REST(5)
1. REST:即 Representational State Transfer。(资源)表现层状态转化。是目前 最流行的一种互联网软件架构。 它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用2.资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它 可以是一段文本、一张图片、...原创 2019-05-05 14:31:37 · 156 阅读 · 0 评论 -
SpringMVC----@RequestParam(请求参数) & @RequestHeader(请求头)&@CookieValue(7)
1.在处理方法入参处使用 @RequestParam 可以把请求参 数传递给请求方法。请求: <a href="springMVC/testRequestParam?username=lihenhuan&age=11">testRequestParam</a>获取:前面所学到的@PathVariable是获取请求URL中的占位符,@RequestPar...原创 2019-05-05 14:52:47 · 252 阅读 · 0 评论 -
SpringMVC----表单标签(17)
1.通过 SpringMVC 的表单标签可以实现将模型数据中的属性和 HTML 表单元素相绑定,以实现表单数据更便捷编辑和表单值 的回显。2.一般情况下,通过 GET 请求获取表单页面,而通过POST 请求提交表单页面,因此获取表单页面和提交表单页面的 URL 是 相同的3.可以通过 modelAttribute 属性指定绑定的模型属性,若没有指定该属性,则默认从 requ...原创 2019-05-08 10:18:25 · 149 阅读 · 0 评论 -
SpringMVC----处理静态资源(18)
1. REST 风格的资源URL 不希望带 .html 或 .do 等后缀2. 若将 DispatcherServlet 请求映射配置为 /,则 Spring MVC 将捕WEB 容器的所有请求,包括静态资源的请求, SpringMVC 会将他们当成一个普通请求处理,因找不到对应处理器将导致错误。3.可以在 SpringMVC 的配置文件中配置 <mvc:default-s...原创 2019-05-08 10:55:33 · 111 阅读 · 0 评论 -
SpringMVC----将请求参数赋值到POJO对象(8)
Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。如:dept.deptId、dept.address.tel 等请求参数:<form action="springMVC/testPojo" method="post"> username: <input type="text" name="username"...原创 2019-05-05 16:02:52 · 1616 阅读 · 0 评论 -
SpringMVC----使用 Servlet API 作为入参(9)
MVC 的 Handler 方法可以接受的ServletAPI 类型的参数。 /** * 可以使用Servlet原生的API作为目标方法的参数 * 支持的类型有: * 1.HttpServletRequest * 2.HttpServletResponse * 3.HttpSession * 4.java.security.Principal...原创 2019-05-05 16:15:07 · 296 阅读 · 0 评论 -
SpringMVC----处理模型数据----ModelAndView(10)
1.控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型数据信息。1.1 jsp请求<a href="springMVC/testModelAndView">testModelAndView</a>1.2 目标方法/** * 目标方法的返回值可以是ModelAndView类型。 * 其中包含view和mode...原创 2019-05-06 09:12:06 · 238 阅读 · 0 评论 -
SpringMVC----处理模型数据----Map 及 Model(11)
1.Spring MVC 在内部使用了一个org.springframework.ui.Model 接口存储模型数据2.Spring MVC 在调用方法前会创建一个隐含的模型对象作为模型数据的存储容器。3.如果方法的入参为 Map 或 Model 类型,Spring MVC 会将隐含模型的引用传递给这些入参。在方法体内,开发者可以 通过这个入参对象访问到模型中的所有数据,也可以向模...原创 2019-05-06 09:32:16 · 251 阅读 · 0 评论 -
SpringMVC----处理模型数据----@SessionAttributes(12)
1.若希望在多个请求之间共用某个模型属性数据,则可以在控制器类上标注一个 @SessionAttributes, Spring MVC 将在模型中对应的属性暂存到 HttpSession 中。2.@SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些 模型属性需要放到会话中3.注意@SessionAttri...原创 2019-05-06 10:07:53 · 140 阅读 · 0 评论 -
SpringMVC----spring整合springMVC(29)
1.是否需要进行 Spring 整合 SpringMVC ,加入spring的IOC容器,在web.xml文件总配置启动spring IOC容器的 ContextLoaderListener 1.1 需要: 通常情况下, 类似于数据源, 事务, 整合其他框架都是放在 Spring 的配置文件中(而不是放在 SpringMVC 的配置文件中)....原创 2019-05-18 12:56:38 · 101 阅读 · 0 评论