Category: Java / Jsp

Java: 精选13款Spring Boot 优质GitHub开源项目

Spring Boot 算是目前 Java 领域最火的技术栈了,也是Java开发人员不得不掌握的技术,今天给大家整理了13个优质 Spring Boot 开源项目给大家参考,希望能够帮助到正在学习 Spring Boot 的小伙伴!小伙伴简历中不知道写什么项目的或者项目没有亮点的,我只能帮你们到这了!下边的项目排名不分先后!   一、mall star 数 12.7k,项目地址: https://github.com/macrozheng/mall mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、… Read More

2018年度国产开源软件排行

  1. Arthas:开源 Java 诊断工具 Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具。 Arthas 支持 JDK 6+,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。 项目主页:https://alibaba.github.io/arthas/ Github:https://github.com/alibaba/arthas/blob/master/site/src/site/sphinx/index.md 开源协议:GPLv3 开发语言:Java   2. OSROOM:Python 的开源 Web 系统 OSROOM 是使用 Python 3(>… Read More

单点登录原理与简单实现, 单点登录的三种实现方式

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞疯掉。实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性,因此要点也就以下两个: 存储信任 验证信任 如果一个系统做到了开头所讲的效果,也就算单点登录,单点登录有不同的实… Read More

JAVA: 抓取需要登录的页面, curl page with auth, How do I connect to a URL using Basic authentication?

ConnectToUrlUsingBasicAuthentication.java package test; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import org.apache.commons.codec.binary.Base64; public class ConnectToUrlUsingBasic… Read More

JAVA: JDBC-Mysql操作类

package com.yunti.utils; import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; im… Read More

JAVA:JDBC入门教程(三) PreparedStatement的使用

前两章我们写了一个 DBTools 工具类,可以进行简单的数据库操作,但是有很大的局限性,今天就来改善一下这个类,学习一个新的对象 PreparedStatement 为什么要使用PreparedStatement 前面我们建立了一个store数据库,并且建立了一个user数据表,表里包含字段 id ,account ,password ,role。而且还向里面加入了一条数据 sql 语句是这样写的 INSERT INTO store.user (account,password,role) VALUES ('admin','123',1) 我直接把字段的值直接写在了sql语句里,不过通常情况下,(‘admin’,’123’,1… Read More

JAVA: JDBC入门教程(二) 通过JDBC进行简单的增删改查

对数据库的更新操作 数据库的更新包括:INSERT UPDATE DELETE 执行数据库更新操作需要用到 Statement类,该类通过Connection的createStatement()方法来获得,写好sql语句然后调用Statement对象的executeUpdate(sql) 方法来实现更新操作,很简单。 比如说我想在user表里加入一条记录,可以分为一下几个步骤 获取数据库连接 创建Statement对象 写sql语句 执行更新操作代码如下 @Test public void insertUser(){ Connection conn = null; Statement statement = null; try { //获取数据…

JAVA: JDBC入门教程(一): 连接数据库

1. JDBC的环境搭建 JDBC的环境搭建很简单,需要下面的配置好 安装Java 安装数据库 安装数据库驱动程序 以上两点都很容易,若果有疑问的自行百度解决吧,主要说一下第三个,现在以mysql为例 配置JDBC的环境。 新建java项目,自行命名,我这里的项目叫JDBCTest 下载驱动包,名字叫 mysql-connector-java-5.1.38-bin.jar 可以自行去网上下载,链接http://dev.mysql.com/downloads/connector/j/5.0.html 在项目的根目录下新建一个lib文件夹并且把刚刚下载的 驱动文件(.jar)拷贝到lib文件夹下,然后在这个文件上右键 Bui… Read More

Java: 精确数字运算, 加减乘除运算, 解决浮点数的计算失去精度问题, BigDecimal的用法(加减乘除)

今天在数值计算时碰到一个问题.程序如下: double a = (3.3-2.4)/0.1; System.out.println(a); 你可能认为结果很简单,不就是9嘛,是事实上,结果为:8.999999998,为什么呢?我翻阅了一些资料,终于找出了原因. 为什么浮点数会丢失精度?   十进制数的二进制表示可能不够精确浮点数或是双精度浮点数无法精确表示的情况并不少见。浮点数值没办法用十进制来精确表示的原因要归咎于CPU表示浮点数的方法。这样的话您就可能会牺牲一些精度,有些浮点数运算也会引入误差。以上面提到的情况为例,2.4的二进制表示并非就是精确的2.4。反而最为接近的二进制表示是 2.3999999999… Read More

Java:遍历Map/HashMap的各种方法

在遍历Map集合之前首先先定义一个Map对象: Map<String, String> map = new LinkedHashMap<String, String>(); map.put("1", "one"); map.put("2", "two"); map.put("3", "three"); map.put("4", "fore"); map.put("5", "five"); 这个地方使用的是LinkedHashMap,主要是为了确保让map中的元素是按照插入的顺序存放的。 1. 使用keySet()方法遍历 使用keyset方法遍历,是先取出map的key组成的Set集合,通过对Set集合的遍历,… Read More

JAVA: 使用Jackson解析JSON, 生成JSON, 反序列化和序列化, Jackson 实现JSON数据与Java对象相互转换, 详解入门(附项目源码)

项目主页:https://github.com/FasterXML/jackson-databind 在Web开发过程中,利用JSON可以帮助我们更加方便的开发我们的应用。那么在Java语言中,如何实现Java实例与JSON之间的相互转换(序列化与反序列化)呢?目前流行的JSON第三方类库有Jackson、Gson、Fastjson等,本文将简单介绍如何使用Jackson进行JSON的解析与序列化。 一、获取Jackson 获取Jackson可以通过Maven或直接下载jar包两种方式,通常我们只需要下载Jackson的jackson-core核心包即可,如果希望使用更多功能(例如注解),还需要下载… Read More

JAVA:设计和实现一款轻量级的爬虫框架, JAVA爬虫, JAVA抓取页面, JAVA Crawler

说起爬虫,大家能够想起 Python 里赫赫有名的 Scrapy 框架, 在本文中我们参考这个设计思想使用 Java 语言来实现一款自己的爬虫框(lun)架(zi)。 我们从起点一步一步分析爬虫框架的诞生过程。 我把这个爬虫框架的源码放在 github上,里面有几个例子可以运行。 关于爬虫的一切 下面我们来介绍什么是爬虫?以及爬虫框架的设计和遇到的问题。 什么是爬虫? “爬虫”不是一只生活在泥土里的小虫子,网络爬虫(web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览网络上内容的机器人。 爬虫访问网站的过程会消耗目标系统资源,很多网站不允许被爬虫抓取(这就是你遇到过的 robots.txt 文件, 这个… Read More

Java:注解初步学习

注解的分类 按照运行机制分 源码注解: 注解只在源码中存在,编译成 .class 文件就不存在。 编译时注解: 注解在源码和.class文件中都存在。例如JDK中@Override、@Deprecated、@Suppvisewarnings。 运行时注解 :在运行阶段还起作用,甚至会影响运行逻辑的注解。例如Spring中的@Autowired。 按来源来分 来自JDK的注解 来自第三方的注解 自定义注解 自定义注解语法要求 @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documen… Read More