@RequestBody @ResponseBody

@RequestBody

	1) 该注解用于读取 Request 请求的 body 部分数据,使用系统默认配置的 HttpMessageConverter 进行解析,
把相应的数据绑定到要返回的对象上。 2) 再把 HttpMessageConverter 返回的对象数据绑定到 controller 中方法的参数上。 application/json, application/xml:这些格式的数据,必须使用 @RequestBody 来处理。 @ResponseBody 将 Controller 的方法返回的对象通过适当的转换器转换为指定的格式后,
写入到 response 对象的 body 区,通常用来返回 JSON数据 或 XML。 注意:在使用 @RequestMapping 后,返回值通常解析为跳转路径,
但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。
比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。

JPQL查询

查询一个对象的所有属性时,并不能像 MySQL 那样使用 * 号标志。

"SELECT c.name, c.age FROM Customer c WHERE c.id > ?"

默认情况下, 若只查询部分属性, 则将返回 Object[] 类型的结果,或者 Object[] 类型的 List。

也可以在实体类中创建对应的构造器, 然后再 JPQL 语句中利用对应的构造器返回实体类的对象。

"SELECT new Customer(c.name, c.age) FROM Customer c WHERE c.id > ?"

JPA Specifications

使用Specifications,必须继承JpaSpecificationExecutor接口。

public interface Specification<T> extends Serializable {
@Nullable
Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder);
} Root:
是查询结果的一个实体对象,也就是查询结果返回的主要对象。 CriteriaQuery:
是JPA标准,主要是构建查询条件的。
里面的方法都是各种查询方式:distinct、select、where、groupby、having、orderby。 CriteriaBuilder:
返回Predicate接口,其中包含between、gt(大于)、lt(小于)、not等操作。 Root:查询哪个表
CriteriaQuery:查询哪些字段,排序是什么
CriteriaBuilder:字段之间是什么关系,如何生成一个查询条件,每一个查询条件都是什么方式
Predicate:单独每一条查询条件的详细描述

URLDecoder URLEncoder 解决Get请求中文乱码问题

URLDecoder 和 URLEncoder:
用于完成普通字符串 和 application/x-www-form-urlencoded MIME 字符串之间的相互转换。 浏览器中的地址栏中所输入的URL包含中文字符时(一般是URL携带的参数),
浏览器首先会将这些中文字符进行编码然后再发送给服务器。
实际上,浏览器会将它们转换为 application/x-www-form-urlencoded MIME 字符串。 URLEncoder类包含一个encode(String s,String enc)静态方法:
它可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串。 URLDecoder类包含一个decode(String s,String enc)静态方法:
它可以将application/x-www-form-urlencoded MIME字符串转成普通字符串; 在 Java 代码中的 URLEncoder.encode() 的字符串
可以在 JS 中用 decodeURIComponent() 还原成字符串。 在 JS 中用 encodeURIComponent() 的参数
可以在 Java 代码中可以用 URLDecoder.decode(request.getParameter("param"),"UTF-8") 还原成字符串。

RSS

RSS 指 Really Simple Syndication(真正简易联合)
RSS 使您有能力聚合(syndicate)网站的内容
RSS 定义了非常简单的方法来共享和查看标题和内容
RSS 文件可被自动更新
RSS 允许为不同的网站进行视图的个性化
RSS 使用 XML 编写 通过 RSS feed(RSS 通常被称为 News feed 或 RSS feed),
用户们可以使用 RSS 聚合器来更快地检查您的网站更新(RSS 聚合器是用来聚集并分类 RSS feed 的网站或软件)。 feed:
信源,英文是feed。
信息发布网站将网站全部或者部分信息整合到一个 RSS 文件中,这个文件就被称之为 feed 。
信源中包含的数据都是标准的 XML 格式,不但能直接被其他站点调用,也能在其他的终端和服务中使用。

RSS Feed

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"> <channel>
<title>博客标题</title>
<link>博客地址</link>
<description>网站描述</description>
<item>
<title>第一篇</title>
<description>摘要</description>
<author>作者</author>
<pubDate>发布时间</pubDate>
<link>链接</link>
</item>
</channel> </rss> <channel> 元素用于描述 RSS feed。<channel> 元素有三个必需的子元素:
<title> - 定义频道的标题
<link> - 定义到达频道的超链接
<description> - 描述此频道 每个 <channel> 元素可拥有一个或多个 <item> 元素,用于定义 RSS feed 中的一篇文章或 "story"。 <item> 元素拥有三个必需的子元素:
<title> - 定义项目的标题
<link> - 定义到达项目的超链接
<description> - 描述此项目

发布自己的 RSS feed

只能当其他人能够找到您的 RSS 文档时,它才是有用的。

把您的 RSS 发布到 Web 上:

	1. 编写 RSS feed,为您的 RSS feed 命名(请注意文件必须有 .xml 的后缀)。

	2. 验证您的 RSS 文件(可以在 http://www.feedvalidator.org 找到很好的验证器)。

	3. 把 RSS 文件上传到您的 web 服务器上的 web 目录。

	4. 把页面按钮 RSS Logo 或  XML Logo 添加指向 RSS 文件的链接。

网站更新内容后,需要即时更新 RSS feed。

Halo(十二)的更多相关文章

  1. 前端开发中SEO的十二条总结

    一. 合理使用title, description, keywords二. 合理使用h1 - h6, h1标签的权重很高, 注意使用频率三. 列表代码使用ul, 重要文字使用strong标签四. 图片 ...

  2. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  3. 我的MYSQL学习心得(十二) 触发器

    我的MYSQL学习心得(十二) 触发器 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数 ...

  4. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

  5. 第十二章Fundamental Data Types 基本数据类型

    目录: 12.1 数值概论 12.2整数 12.3浮点数 12.4 字符和字符串 12.5布尔变量 12.6枚举类型 12.7具名常量 12.8数组 12.9创建你自己的类型 12.1   数值概论 ...

  6. [分享] IT天空的二十二条军规

    Una 发表于 2014-9-19 20:25:06 https://www.itsk.com/thread-335975-1-1.html IT天空的二十二条军规 第一条.你不是什么都会,也不是什么 ...

  7. Bootstrap <基础三十二>模态框(Modal)插件

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用  ...

  8. Bootstrap <基础二十二>超大屏幕(Jumbotron)

    Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: ...

  9. Bootstrap <基础十二>下拉菜单(Dropdowns)

    Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...

  10. AngularJs的UI组件ui-Bootstrap分享(十二)——Rating

    Rating是一个用于打分或排名的控件.看一个最简单的例子: <!DOCTYPE html> <html ng-app="ui.bootstrap.demo" x ...

随机推荐

  1. js 通过浏览器直接打开应用程序(IOS,Android)

    实现效果 如下图所示,在手机浏览器中访问京东的手机版网站(m.jd.com),顶部会有一个广告图,点击这个广告图,如果手机上已经安装了京东App,则直接打开,如果没有安装,则开始下载. 实现方式 1. ...

  2. js初步简单的编程代码

    简单图片切换编码demo图片地址自行替换 简单图片切换编码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  3. 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)

      PID控制应该算是应用非常广泛的控制算法了.小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制.这里我们从原理上来理解PID控制. PID(proportion ...

  4. HDU6599:求本质不同的子串(回文串)长度及数量

    目录 hdu6599题意: manacher+后缀自动机+倍增 \(O(nlog(n))\) manacher+后缀数组+二分 \(O(nlog(n))\) 回文树(回文自动机) \(O(n)\) @ ...

  5. 洛谷P1288 取数游戏II(博弈)

    洛谷P1288 取数游戏II 先手必胜的条件需要满足如下中至少 \(1\) 条: 从初始位置向左走到第一个 \(0\) 的位置,经过边的数目为偶数(包含 \(0\) 这条边). 从初始位置向右走到第一 ...

  6. loj#501 「LibreOJ β Round」ZQC 的树列

    分析 代码(我的代码是瞎jb水过去的) #include<bits/stdc++.h> using namespace std; #define li long long li a[]; ...

  7. Vue过滤器:全局过滤器

    Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化. 过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持). 过滤器应该被添加在 JavaScr ...

  8. Fiddler抓包ios亲测

    1 打开Fiddler设置端口 2 设置可以抓取https选项 3 手机连接WIFI和电脑处于同一局域网并设置代理端口和fiddler中设置一致 4 证书安装手机浏览器输入代理电脑ip及端口如192. ...

  9. poj3669 Meteor Shower (宽度优先搜索)

    Description - 题目描述 Bessie听说有场史无前例的流星雨即将来临:有谶言:陨星将落,徒留灰烬.为保生机,她誓将找寻安全之所(永避星坠之地).目前她正在平面坐标系的原点放牧,打算在群星 ...

  10. spring-第十三篇之零配置支持

    1.搜索bean类,使用注解标注spring bean. @Component:标注一个普通的spring bean类 @Controller:标注一个控制器组件类(Java EE组件) @Servi ...