-
Spring MVC @Controller和@RequestMapping解析
所属栏目:[语言] 日期:2022-07-20 热度:181
Spring 2.5 版本新增了 Spring MVC 注解功能,用于替换传统的基于 XML 的 Spring MVC 配置。 在《第一个Spring MVC应用》一节中创建了两个传统风格的控制器,它们是实现 Controller 接口的类。传统风格的控制器不仅需要在配置文件中部署映射,而且只能编写一[详细]
-
Spring MVC传递数据
所属栏目:[语言] 日期:2022-07-20 热度:120
Spring MVC Controller 接收请求参数的方式有很多种,有的适合 get 请求方式,有的适合 post 请求方式,有的两者都适合。主要有以下几种方式: 通过实体 Bean 接收请求参数 通过处理方法的形参接收请求参数 通过 HttpServletRequest 接收请求参数 通过 @Path[详细]
-
Spring MVC重定向及转发
所属栏目:[语言] 日期:2022-07-20 热度:122
Spring MVC 请求方式分为转发、重定向 2 种,分别使用 forward 和 redirect 关键字在 controller 层进行处理。 重定向是将用户从当前处理请求定向到另一个视图(例如 JSP)或处理请求,以前的请求(request)中存放的信息全部失效,并进入一个新的 request[详细]
-
Spring MVC @Autowired和@Service解释
所属栏目:[语言] 日期:2022-07-20 热度:129
将依赖注入到 Spring MVC 控制器时需要用到 @Autowired 和 @Service 注解。 @Autowired 注解属于 org.springframework.beans.factory. annotation 包,可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 @Service 注解属于 org.springframewo[详细]
-
Spring MVC @ModelAttribute说明
所属栏目:[语言] 日期:2022-07-20 热度:162
本文介绍在 Spring MVC 中非常重要的注解 @ModelAttribute,用来将请求参数绑定到 Model 对象。 以上示例,在请求 /model?name=%E7%BC%96%E7%A8%8B%E5%B8%AE 后,Spring MVC 会先执行 myModel 方法,将 name 的值存入到 Model 中。然后执行 model 方法,这样[详细]
-
Spring MVC类别转换器 Converter
所属栏目:[语言] 日期:2022-07-20 热度:73
Spring MVC 框架的 ConverterS,T 是一个可以将一种数据类型转换成另一种数据类型的接口,这里 S 表示源类型,T 表示目标类型。开发者在实际应用中使用框架内置的类型转换器基本上就够了,但有时需要编写具有特定功能的类型转换器。 例如,用户输入的日期可[详细]
-
Spring MVC JSON数据交换
所属栏目:[语言] 日期:2022-07-20 热度:186
Spring MVC 在数据绑定的过程中需要对传递数据的格式和类型进行转换,它既可以转换 String 等类型的数据,也可以转换 JSON 等其他类型的数据。本节将针对 Spring MVC 中 JSON 类型的数据交互进行讲解。 JSON 概述 JSON(JavaScript Object Notation, JS 对象[详细]
-
Spring MVC异常解决
所属栏目:[语言] 日期:2022-07-20 热度:153
在 Spring MVC 应用的开发中,不管是操作底层数据库,还是业务层或控制层,都会不可避免地遇到各种可预知的、不可预知的异常。我们需要捕捉处理异常,才能保证程序不被终止。 Spring MVC 有以下 3 种处理异常的方式: 使用 Spring MVC 提供的简单异常处理器[详细]
-
C++ STL distance 函数用法详解 一看就懂
所属栏目:[语言] 日期:2022-07-19 热度:146
我们知道,作用于同一容器的 2 个同类型迭代器可以有效指定一个区间范围。在此基础上,如果想获取该指定范围内包含元素的个数,就可以借助本节要讲的 distance() 函数。 distance() 函数用于计算两个迭代器表示的范围内包含元素的个数,其语法格式如下: tem[详细]
-
C++ find_if 和find_if_not 函数用法详解
所属栏目:[语言] 日期:2022-07-19 热度:122
继《C++ find()函数》一节后,本节再讲解 2 个和 find() 功能类似的函数,分别为 find_if() 函数和 find_if_not() 函数。 值得一提的是,find_if() 和 find_if_not() 函数都定义在algorithm头文件中。因此在使用它们之前,程序中要先引入此头文件: #include[详细]
-
C++ find_end 函数详解
所属栏目:[语言] 日期:2022-07-19 热度:198
find_end() 函数定义在algorithm头文件中,常用于在序列 A 中查找序列 B 最后一次出现的位置。例如,有如下 2 个序列: 序列 A:1,2,3,4,5,1,2,3,4,5 序列 B:1,2,3 通过观察不难发现,序列 B 在序列 A 中出现了 2 次,而借助 find_end() 函数,可以轻松的得[详细]
-
C++ find_first_of 函数完全攻略
所属栏目:[语言] 日期:2022-07-19 热度:184
在某些情境中,我们可能需要在 A 序列中查找和 B 序列中任意元素相匹配的第一个元素,这时就可以使用 find_first_of() 函数。 仅仅用一句话概述 find_first_of() 函数的功能,读者可能并不理解。别急,下面我们将从语法格式的角度继续阐述该函数的功能。 fin[详细]
-
C++ adjacent_find 函数用法详解
所属栏目:[语言] 日期:2022-07-19 热度:199
adjacent_find() 函数用于在指定范围内查找 2 个连续相等的元素。该函数的语法格式为: //查找 2 个连续相等的元素 ForwardIterator adjacent_find (ForwardIterator first, ForwardIterator last); //查找 2 个连续满足 pred 规则的元素 ForwardIterator ad[详细]
-
C++ search 函数用法完全攻略
所属栏目:[语言] 日期:2022-07-19 热度:53
通过《C++ find_end()函数》一节的讲解我们知道,find_end() 函数用于在序列 A 中查找序列 B 最后一次出现的位置。那么,如果想知道序列 B 在序列 A 中第一次出现的位置,该如何实现呢?可以借助 search() 函数。 search() 函数定义在algorithm头文件中,其[详细]
-
C++ search_n 函数用法 超级详细
所属栏目:[语言] 日期:2022-07-19 热度:114
《C++ search()函数》一节中,已经详细介绍了 search() 函数的功能和用法。在此基础上,本节再介绍一个功能类似的函数,即 search_n() 函数。 和 search() 一样,search_n() 函数也定义在algorithm头文件中,用于在指定区域内查找第一个符合要求的子序列。不[详细]
-
C++ partition 和stable_partition 函数详解
所属栏目:[语言] 日期:2022-07-19 热度:108
partition 可直译为分组,partition() 函数可根据用户自定义的筛选规则,重新排列指定区域内存储的数据,使其分为 2 组,第一组为符合筛选条件的数据,另一组为不符合筛选条件的数据。 举个例子,假设有一个数组 a[9],其存储数据如下: 1 2 3 4 5 6 7 8 9[详细]
-
C++ partition_copy 函数详解
所属栏目:[语言] 日期:2022-07-19 热度:68
《C++ partition()和stable_partition()函数》一节中,已经详细介绍了 partition() 和 stable_partition() 函数的功能和用法。不知道读者是否发现,这 2 个函数在实现功能时,都直接修改了原序列中元素的存储位置。 而在某些场景中,我们需要类似 partition([详细]
-
C++ find函数用法详解
所属栏目:[语言] 日期:2022-07-19 热度:73
find() 函数本质上是一个模板函数,用于在指定范围内查找和目标元素值相等的第一个元素。 如下为 find() 函数的语法格式: InputIterator find (InputIterator first, InputIterator last, const T val); 其中,first 和 last 为输入迭代器,[first, last)[详细]
-
Qt是什么?Qt简介很全面
所属栏目:[语言] 日期:2022-07-18 热度:73
Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。 Qt 是纯 C++ 开发的,所以学好 C++ 非常有必要,对[详细]
-
Qt和其它GUI库的比较
所属栏目:[语言] 日期:2022-07-18 热度:94
世界上的 GUI 库多如牛毛,有的跨平台,有的专属于某个操作系统;有的只有 UI 功能,有的还融合了网络通信、多媒体处理、数据库访问等底层功能。 Windows 下的 GUI 库 Windows 下的 GUI 解决方案比较多: 基于 C++ 的有 Qt、MFC、WTL、wxWidgets、DirectUI、[详细]
-
学习QML或是C++
所属栏目:[语言] 日期:2022-07-18 热度:181
Qt4 时代的主流就是传统部件(或叫控件)编程,所用的语言一般是 C++。 Qt5 诞生之时,正是手机移动设备蓬勃发展的时候,而传统的 C++ 部件编写的界面对手机应用程序非常方便,比如手机屏幕显示随意翻转, 这在传统桌面程序里基本遇不到,谁会将 22 寸显示器[详细]
-
C++ lower_bound 函数用法解析
所属栏目:[语言] 日期:2022-07-18 热度:156
前面章节中,已经给大家系统地介绍了几个查找函数,如 find()、find_if()、search() 等。值得一提的是,这些函数的底层实现都采用的是顺序查找(逐个遍历)的方式,在某些场景中的执行效率并不高。例如,当指定区域内的数据处于有序状态时,如果想查找某个目[详细]
-
C++ STL all_of any_of及none_of算法细说
所属栏目:[语言] 日期:2022-07-18 热度:60
algorithm 头文件中定义了 3 种算法,用来检查在算法应用到序列中的元素上时,什么时候使谓词返回 true。这些算法的前两个参数是定义谓词应用范围的输入迭代器;第三个参数指定了谓词。检查元素是否能让谓词返回 true 似乎很简单,但它却是十分有用的。 例如[详细]
-
C++ equal STL equal 对比算法详解
所属栏目:[语言] 日期:2022-07-18 热度:116
可以用和比较字符串类似的方式来比较序列。如果两个序列的长度相同,并且对应元素都相等,equal() 算法会返回 true。有 4 个版本的 equal() 算法,其中两个用 == 运算符来比较元素,另外两个用我们提供的作为参数的函数对象来比较元素,所有指定序列的迭代器[详细]
-
C++ STL lexicographical_compare字符串排序算法说明
所属栏目:[语言] 日期:2022-07-17 热度:132
两个字符串的字母排序是通过从第一个字符开始比较对应字符得到的。第一对不同的对应字符决定了哪个字符串排在首位。字符串的顺序就是不同字符的顺序。如果字符串的长度相同,而且所有的字符都相等,那么这些字符串就相等。如果字符串的长度不同,短字符串的[详细]