个人博客


  • 首页

  • 归档

  • 标签

  • 搜索

JavaEE的13种核心技术规范

发表于 2017-04-11

JDBC(Java Database)数据库连接

JDBC是一组用于执行SQL的Java API ,为访问不同的数据库提供了一种统一的途径,几乎所有的关系型数据库厂商(DBMS)都提供了JDBC的服务或驱动。JDBC对数据库的访问也具有平台无关性。

阅读全文 »

Mac上通过nvm安装Node.js

发表于 2017-04-11

安装nvm(0.33.1版本)

1
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

具体版本查看GitHub

查看可安装版本

1
$ nvm ls-remote

安装Node.js(7.8.0版本)

1
$ nvm install v7.8.0

查看本地已安装的版本

1
$ nvm ls

切换默认Node.js版本

1
$ nvm alias default v7.8.0

查看Node及npm版本

1
2
$ node -v
$ npm -v

Spring Boot 配置SSL

发表于 2017-04-10

生成ssl证书

证书颁发机构

CA机构私钥

1
$ openssl genrsa -out ca.key 2048

CA证书

生成过程中需要输入CA机构信息

1
$ openssl req -x509 -new -key ca.key -out ca.crt

服务端证书

生成服务端私钥

1
$ openssl genrsa -out server.key 2048

生成服务端证书请求文件

生成过程中需要输入服务端信息

1
$ openssl req -new -key server.key -out server.csr

使用CA证书生成服务端证书

1
$ openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt

关于sha256,默认使用的是sha1,在新版本的chrome中会被认为是不安全的,因为使用了过时的加密算法

打包服务端的资料为pkcs12格式(非必要,只是换一种格式存储上一步生成的证书)

1
$ openssl pkcs12 -export -in server.crt -inkey server.key -out server.pkcs12

生成过程中,需要创建访问密码

生成服务端的keystore(.jks文件, 非必要,Java程序通常使用该格式的证书)

1
$ keytool -importkeystore -srckeystore server.pkcs12 -destkeystore server.jks -srcstoretype pkcs12

生成过程中,需要创建访问密码

把ca证书放到keystore中(非必要)

1
$ keytool -importcert -keystore server.jks -file ca.crt

配置tomcat ssl信息

使用上面生成的jks证书

1
2
3
server.ssl.key-store=classpath:证书.jks
server.ssl.key-store-password=创建证书时设定的密码
server.ssl.key-password=创建证书时设定的密码

总结

  • crt、jks、pkcs12都是保存证书的不同格式,不同的应用服务器可能会使用不同格式的证书文件
  • OpenSSl、Keytool都可以用来生成证书,其中OpenSSl功能更多更复杂,keytool是JDK中自带的

Spring Boot 自定义错误页

发表于 2017-04-10

在Spring Boot自定义错误页面

添加Java风格配置

1
2
3
4
5
6
7
8
9
10
11
12
@Configuration
public class ErrorPageConfig {

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return container -> {
container.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/400"));
container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500"));
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404"));
};
}
}

Controller中添加RequestMapping绑定自定义页面

1
2
3
4
5
6
7
8
9
10
11
@RequestMapping(value = "/404")
public String pageNotFound() {

return "base/404";
}

@RequestMapping(value = "/500")
public String serverError() {

return "base/500";
}

第一篇博客

发表于 2017-04-09

从事IT行业很多年了,居然一直都没有搭建一个属于自己的博客来记录一些学习心得和解决问题的方法和思路。

最近突然想起来,决定慢慢要把博客这块整起来,正好顺便学习下markdown语法。同时也把平时遇到问题时找到的解决方法记录到自己的博客里,方便自己回顾。

12
JUSTKIDDING

JUSTKIDDING

15 日志
33 标签
© 2019 JUSTKIDDING
由 Hexo 强力驱动
主题 - NexT.Pisces