facebook登录 在 php 框架 slim里的实现

首先使用composer 安装 facebook的php SDK
composer require facebook/graph-sdk

使用了Slim框架,登录也是调用的接口,总共定义了两个链接(或者路由)facebookLoginfacebookCallback . 一个入口链接:负责处理跳转到facebook登录并跳回的功能。另一个是处理回调的:获取facebook的用户基本信息并登录。

Read More

spring jdbc 操作 mysql

build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.1.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
jar {
baseName = 'gs-serving-web-content'
version = '0.1.0'
}
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.springframework:spring-jdbc")
compile("mysql:mysql-connector-java:5.1.24")
compile("org.springframework.boot:spring-boot-devtools")
testCompile("junit:junit")
}

Read More

Serving Web Content with Spring MVC

https://spring.io/guides/gs/serving-web-content/

gradle用着确实比maven6很多,该demo主要使用spring bootthymeleaf.本人系统环境 win7

  • IntelliJ IDEA
  • JDK 1.8
  • Gradle3.1

代码效果预览

  • 使用git下载源码:git clone https://github.com/spring-guides/gs-serving-web-content.git
  • cd gs-serving-web-content\complete
  • gradle bootRungradle build之后运行java -jar build/libs/gs-serving-web-content-0.1.0.jar皆可

    Read More

99%的人都理解错了http的get和post的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。

当你在面试中被问到这个问题,你的内心充满了自信和喜悦。

so easy

你轻轻松松的给出了一个“标准答案”:

GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。

(本标准答案参考自w3schools)

“很遗憾,这不是我们要的回答!”

我的内心是崩溃的

请告诉我真相。。。

Read More

http协议何时开启keep-alive(转)

在网页开发过程中,Keep-Alive是HTTP协议中非常重要的一个属性。

大家知道HTTP构建在TCP之上。在HTTP早期实现中,每个HTTP请求都要打开一个socket连接。这种做效率很低,因为一个Web 页面中的很多HTTP请求都指向同一个服务器。例如,很多为Web页面中的图片发起的请求都指向一个通用的图片服务器。持久连接的引入解决了多对已请求服务器导致的socket连接低效性的问题。它使浏览器可以再一个单独的连接上进行多个请求。浏览器和服务器使用Connection头里指出对Keep-Alive的支持。

Read More