Spring MVC入门
文章平均质量分 75
star walkin
这个作者很懒,什么都没留下…
展开
-
Spring MVC的国际化
Spring MVC 的国际化是建立在 Java 国际化的基础之上的,Spring MVC 框架的底层国际化与 Java 国际化是一致的,作为一个良好的 MVC 框架,Spring MVC 将 Java 国际化的功能进行了封装和简化,开发者使用起来会更加简单、快捷。由《Java国际化概念和使用介绍》教程可知国际化和本地化应用程序时需要具备以下两个条件:将文本信息放到资源属性文件中。选择和读取正确位置的资源属性文件。下面讲解第二个条件的实现。Spring MVC加载资源属性文件在 Spring转载 2021-04-29 09:32:24 · 973 阅读 · 0 评论 -
Java国际化概念和使用介绍
国际化是商业软件系统的一个基本要求,因为当今的软件系统需要面对全球的浏览者。国际化的目的就是根据用户的语言环境的不同向用户输出与之相应的页面,以示友好。程序国际化已成为 Web 应用的基本要求。随着网络的发展,大部分 Web 站点面对的已经不再是本地或者本国的浏览者,而是来自全世界各国、各地区的浏览者,因此国际化成为了 Web 应用不可或缺的一部分。Java 国际化的思想是将程序中的信息放在资源文件中,程序根据支持的国家及语言环境读取相应的资源文件。资源文件是 key-value 对,每个资源文件中的k转载 2021-04-29 09:32:16 · 1078 阅读 · 0 评论 -
Spring MVC JSR-303验证框架之Hibernate-Validator
对于 JSR 303 验证,目前有两个实现,一个是 Hibernate Validator,一个是 Apache BVal。本教程采用的是 Hibernate Validator,注意它和 Hibernate无关,只是使用它进行数据验证。1. 下载与安装 Hibernate Validator用户可以通过地址“https://sourceforge.net/projects/hibernate/files/hibernate-validator/”下载 Hibernate Validator,本教程选择转载 2021-04-29 09:32:08 · 1135 阅读 · 0 评论 -
Spring MVC验证器应用实例(超详细)
本节使用一个应用 springMVCDemo08 讲解 Spring 验证器的编写及使用。该应用中有一个数据输入页面 addGoods.jsp,效果如图 1 所示。有一个数据显示页面 goodsList.jsp,效果如图 2 所示。编写一个实现 org.springframework.validation.Validator 接口的验证器类 GoodsValidator,验证要求如下:商品名和商品详情不能为空。商品价格在 0 到 100。创建日期不能在系统日期之后。根据上述要求,按照如下转载 2021-04-29 09:31:50 · 398 阅读 · 0 评论 -
Spring MVC验证器:Validator接口和ValidationUtils类
本节主要介绍创建自定义 Spring 验证器时需要实现的 Validator 接口和工具类 ValidationUtils。Validator接口创建自定义 Spring 验证器需要实现 org.springframework.validation.Validator 接口,该接口有两个接口方法:boolean supports(Class<?> klass)void validate(Object object,Errors errors)当 supports 方法返回 true转载 2021-04-29 09:31:31 · 688 阅读 · 0 评论 -
Spring MVC数据验证简介
用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有 Web 应用必须处理的问题。在 Spring MVC 框架中有以下两种方法可以验证输入数据:利用 Spring 自带的验证框架。利用 JSR 303 实现。数据验证分为客户端验证和服务器端验证,客户端验证主要是过滤正常用户的误操作,通过 JavaScript 代码完成。服务器端验证是整个应用阻止非法数据的最后防线,通过在应用中编程实现。客户端验证在大多数情况下,使用 JavaScript 进行客户端验证的步骤如下:编写验证函数转载 2021-04-29 09:31:25 · 192 阅读 · 0 评论 -
Spring MVC拦截器实现用户登录权限验证案例
本节将通过拦截器来完成一个用户登录权限验证的 Web 应用 springMVCDemo07,具体要求如下:只有成功登录的用户才能访问系统的主页面main.jsp,如果没有成功登录而直接访问主页面,则拦截器将请求拦截,并转发到登录页面 login.jsp。当成功登录的用户在系统主页面中单击“退出”链接时回到登录页面。具体实现步骤如下:1)创建应用创建 Web 应用 springMVCDemo07,并将 Spring MVC 相关的 JAR 包复制到 lib 目录中。2)创建 POJO 类在 spri转载 2021-04-29 09:31:18 · 1415 阅读 · 0 评论 -
Spring MVC拦截器的执行流程
本节我们主要讲解 SpringMVC 拦截器的执行流程。分两部分介绍,首先介绍单个拦截器执行流程然后介绍多个拦截器的执行流程。单个拦截器的执行流程在配置文件中如果只定义了一个拦截器,程序将首先执行拦截器类中的 preHandle 方法,如果该方法返回 true,程序将继续执行控制器中处理请求的方法,否则中断执行。如果 preHandle 方法返回 true,并且控制器中处理请求的方法执行后、返回视图前将执行 postHandle 方法,返回视图后才执行afterCompletion 方法。下面通过一个转载 2021-04-29 09:31:09 · 366 阅读 · 0 评论 -
Spring MVC拦截器(Interceptor)的配置及使用
在开发一个网站时可能有这样的需求:某些页面只希望几个特定的用户浏览。对于这样的访问权限控制,应该如何实现呢?拦截器就可以实现上述需求。在Struts 2 框架中,拦截器是其重要的组成部分,Spring MVC 框架也提供了拦截器功能。Spring MVC 的拦截器(Interceptor)与 Java Servlet 的过滤器(Filter)类似,它主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。拦截器的定义在 Spring MVC 框架中定义一转载 2021-04-29 09:30:58 · 521 阅读 · 0 评论 -
Spring MVC JSON数据交互(附带实例)
Spring MVC 在数据绑定的过程中需要对传递数据的格式和类型进行转换,它既可以转换 String 等类型的数据,也可以转换 JSON 等其他类型的数据。本节将针对 Spring MVC 中 JSON 类型的数据交互进行讲解。JSON 概述JSON(JavaScript Object Notation, JS 对象标记)是一种轻量级的数据交换格式。与 XML 一样,JSON 也是基于纯文本的数据格式。它有对象结构和数组结构两种数据结构。1)对象结构对象结构以“{”开始、以“}”结束,中间部分由转载 2021-04-28 15:01:53 · 979 阅读 · 0 评论 -
Spring MVC数据绑定和表单标签的应用(附带实例)
为了让读者进一步学习数据绑定和表单标签,本节给出了一个应用范例 springMVCDemo04。该应用中实现了 User 类属性和 JSP 页面中表单参数的绑定,同时在 JSP 页面中分别展示了 input、textarea、checkbox、checkboxs、select 等标签。应用的相关配置在 springMVCDemo04 应用中需要使用 JSTL,因此不仅需要将 Spring MVC 的相关 JAR 包复制到应用的 WEN-INF/lib 目录下,还需要从 Tomcat 的webapps\e转载 2021-04-28 14:42:53 · 222 阅读 · 0 评论 -
Spring MVC的表单标签库详解
表单标签库中包含了可以用在 JSP 页面中渲染 HTML 元素的标签。在 JSP 页面使用 Spring 表单标签库时,必须在 JSP 页面开头处声明 taglib 指令,指令代码如下:<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>在表单标签库中有 form、input、password、hidden、textarea、checkbox、checkboxes、radiobuttton、rad转载 2021-04-28 11:44:59 · 441 阅读 · 0 评论 -
Spring MVC Formatter(数据格式化)详解
Spring MVC 框架的 Formatter<T> 与 Converter<S,T> 一样,也是一个可以将一种数据类型转换成另一种数据类型的接口。不同的是,Formatter<T>的源数据类型必须是 String 类型,而 Converter<S,T> 的源数据类型是任意数据类型。在 Web 应用中由 HTTP 发送的请求数据到控制器中都是以 String 类型获取,因此在 Web 应用中选择 Formatter<T> 比选择 Convert转载 2021-04-28 11:28:52 · 642 阅读 · 0 评论 -
Spring MVC Converter(类型转换器)详解
Spring MVC 框架的 Converter<S,T> 是一个可以将一种数据类型转换成另一种数据类型的接口,这里 S 表示源类型,T 表示目标类型。开发者在实际应用中使用框架内置的类型转换器基本上就够了,但有时需要编写具有特定功能的类型转换器。内置的类型转换器在 Spring MVC 框架中,对于常用的数据类型,开发者无须创建自己的类型转换器,因为 Spring MVC 框架有许多内置的类型转换器用于完成常用的类型转换。Spring MVC 框架提供的内置类型转换包括以下几种类型。1)转载 2021-04-28 11:13:24 · 2224 阅读 · 1 评论 -
Spring MVC类型转换的意义
本节以一个简单应用(JSP+Servlet)为示例来介绍类型转换的意义。如图 1 所示的添加商品页面用于收集用户输入的商品信息,商品信息包括商品名称(字符串类型 String)、商品价格(双精度浮点类型 double)、商品数量(整数类型 int)。addGoods.jsp页面的代码如下:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYP转载 2021-04-28 10:59:42 · 173 阅读 · 0 评论 -
Spring MVC中@ModelAttribute注解的使用
通过 org.springframework.web.bind.annotation.ModelAttribute 注解类型可经常实现以下两个功能:1)绑定请求参数到实体对象(表单的命令对象)@RequestMapping("/register")public String register(@ModelAttribute("user") UserForm user) { if ("zhangsan".equals(uname) && "123456".equals(upass转载 2021-04-28 10:55:38 · 295 阅读 · 0 评论 -
Spring MVC应用@Autowired和@Service进行依赖注入
在前面学习的控制器中并没有体现 MVC 的 M 层,这是因为控制器既充当 C 层又充当 M 层。这样设计程序的系统结构很不合理,应该将 M 层从控制器中分离出来。Spring MVC 框架本身就是一个非常优秀的 MVC 框架,它具有依赖注入的优点,可以通过 org.springframework.beans.factory. annotation.Autowired注解类型将依赖注入到一个属性(成员变量)或方法,例如:@Autowiredpublic UserService userService;转载 2021-04-28 10:47:43 · 435 阅读 · 0 评论 -
Spring MVC的转发与重定向
重定向是将用户从当前处理请求定向到另一个视图(例如 JSP)或处理请求,以前的请求(request)中存放的信息全部失效,并进入一个新的 request 作用域;转发是将用户对当前处理的请求转发给另一个视图或处理请求,以前的 request 中存放的信息不会失效。转发是服务器行为,重定向是客户端行为。1)转发过程客户浏览器发送 http 请求,Web 服务器接受此请求,调用内部的一个方法在容器内部完成请求处理和转发动作,将目标资源发送给客户;在这里转发的路径必须是同一个 Web 容器下的 URL,其不转载 2021-04-28 10:42:01 · 190 阅读 · 0 评论 -
Spring MVC获取参数的几种常见方式
Controller 接收请求参数的方式有很多种,有的适合 get 请求方式,有的适合 post 请求方式,有的两者都适合。下面分别介绍这些方式,读者可以根据实际情况选择合适的接收方式。通过实体 Bean 接收请求参数通过一个实体 Bean 来接收请求参数,适用于 get 和 post 提交请求方式。需要注意的是,Bean 的属性名称必须与请求参数名称相同。下面通过具体应应用 springMVCDemo02 讲解“通过实体 Bean 接收请求参数”。1)创建首页面在 springMVCDemo02转载 2021-04-27 23:56:11 · 1044 阅读 · 0 评论 -
Spring MVC中@Controller和@RequestMapping注解详解
在《第一个Spring MVC应用》教程中创建了两个传统风格的控制器,它们是实现 Controller 接口的类。传统风格的控制器不仅需要在配置文件中部署映映射,而且只能编写一个处理方法,不够灵活。使用基于注解的控制器具有以下两个优点:在基于注解的控制器类中可以编写多个处理方法,进而可以处理多个请求(动作),这就允许将相关的操作编写在同一个控制器类中,从而减少控制器类的数量,方便以后的维护。基于注解的控制器不需要在配置文件中部署映射,仅需要使用 RequestMapping 注释类型注解一个方法进行请转载 2021-04-27 23:45:44 · 396 阅读 · 0 评论 -
Spring MVC处理用户请求的完整流程
Spring MVC 框架是高度可配置的,包含多种视图技术,例如 JSP 技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不关心使用的视图技术,也不会强迫开发者只使用 JSP 技术,但教程中使用的视图是 JSP,本节主要介绍 Spring MVC 框架处理用户请求的完整流程和处理中包含的 4 个接口。Spring MVC 工作流程Spring MVC 框架主要由 DispatcherServlet、处理器映射、控制器、视图解析器、视图组成,其工作原理如图 1 所转载 2021-04-27 23:28:28 · 219 阅读 · 0 评论 -
MVC设计模式简介
MVC 设计不仅限于 Java Web 应用,还包括许多应用,比如前端、PHP、.NET 等语言。之所以那么做的根本原因在于解耦各个模块。MVC 是 Model、View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责。模型:用于存储数据以及处理用户请求的业务逻辑。视图:向控制器提交数据,显示模型中的数据。控制器:根据视图提出的请求判断将请求和数据交给哪个模型处理,将处理后的有关结果交给哪个视图更新显示。基于 Servlet 的 MVC 模式的具体实现如下。模转载 2021-04-27 23:20:44 · 106 阅读 · 0 评论