java
金玉良缘2017
这个作者很懒,什么都没留下…
展开
-
AngularJS Eclipse-插件安装
本人个人网站http://www.donghongchao.cn本文介绍如何安装和配置 AngularJS Eclipse。AngularJS Eclipse 插件是基于强大的 JavaScript 推断引擎(javascript inference engine)Tern.js, 它由 JavaScript 编写。若在 java 环境下使用该引擎,需要使用 tern.原创 2017-10-24 18:12:35 · 10623 阅读 · 1 评论 -
AngularJS之基础入门
1.1 AngularJS简介AngularJS 诞生于2009年,由Misko Hevery等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、依赖注入等等。 1.2 AngularJS四大特征1.2.1 MVC模式Angular遵循软原创 2017-10-24 14:32:59 · 851 阅读 · 0 评论 -
JavaMail创建邮件和发送邮件
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序原创 2017-10-24 13:13:52 · 504 阅读 · 0 评论 -
构建高并发高可用的电商平台架构
一、 设计理念1. 空间换时间1) 多级缓存,静态化客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag)反向代理缓存应用端的缓存(memcache)内存数据库原创 2017-10-23 21:57:18 · 887 阅读 · 0 评论 -
Dubbo框架之基础
Dubbo是 阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。原创 2017-10-23 21:49:13 · 1149 阅读 · 0 评论 -
Hibernate详解
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。原创 2017-10-22 14:47:23 · 245 阅读 · 0 评论 -
Spring详解
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。原创 2017-10-22 14:43:59 · 311 阅读 · 0 评论 -
SpringMVC详解
它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得 spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比 struts所具有的优势。而且框架本身有代码,看起来容易理解。原创 2017-10-22 14:36:38 · 393 阅读 · 0 评论 -
MyBatis之多表查询
一、一对一关联 1.1、提出需求 根据班级id查询班级信息(带老师的信息)1.2、创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 1 CREATE TABLE teacher( 2 t_id INT PRIMARY KEY AUTO_INCREMENT, 3原创 2017-10-22 14:33:13 · 472 阅读 · 0 评论 -
网页静态化技术Freemarker
1.1为什么要使用网页静态化技术网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道。对于电商网站的商品详细页来说,至少几百万个商品,每个商品又有大量的信息,这样的情况同样也适用于使用网页静态化来解决。网页静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力,但是具体的应用场景不同,缓存比较适合小规模的数据,而网页静态化原创 2017-11-13 15:15:05 · 2327 阅读 · 0 评论 -
消息中间件解决方案JMS
1. JMS入门1.1消息中间件1.1.1品优购系统模块调用关系分析我们现在讲品优购已经完成的功能模块梳理如下:我们已经完成了5个web模块和4个服务模块。其中运营商后台的调用关系最多,用到了商家商品服务、广告内容服务、搜索服务和页面生成服务。这种模块之间的依赖也称之为耦合。而耦合越多,之后的维护工作就越困难。那么如果改善系统模块调用关系、减少模块之间的耦合呢?我们接下原创 2017-11-13 15:38:54 · 2385 阅读 · 1 评论 -
CentOS6.7 linux系统下安装jdk
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。原创 2017-09-06 20:08:10 · 387 阅读 · 0 评论 -
使用Spring MVC统一异常处理实战
1 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大。 那么,能不能将所有类型的异常处理从各处理过程解耦出来,这样既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护?答案是肯定的。下面原创 2017-11-16 19:03:36 · 299 阅读 · 0 评论 -
JMS简介之ActiveMQ实例
1. JMS架构 Java 消息服务(Java Message Service,简称JMS)是用于访问企业消息系统的开发商中立的API。企业消息系统可以协助应用软件通过网络进行消息交互。JMS 在其中扮演的角色与JDBC 很相似,正如JDBC 提供了一套用于访问各种不同关系数据库的公共API,JMS 也提供了独立于特定厂商的企业消息系统访问方式。使用JMS 的应用程序被称为JMS 客户原创 2017-11-21 00:18:39 · 330 阅读 · 0 评论 -
ActiveMQ消息持久化
ActiveMQ消息持久化 消息持久化就是将消息保存到磁盘,这样的好处就是如果服务挂了,则消息还保存在磁盘不会丢失,服务起来后还能找到消息并在此发送,消息的持久化和消息的发送模型是没有关系的。[html] view plain copy bean id="jmsTemplate" class="org.springfra原创 2017-11-21 00:15:06 · 314 阅读 · 0 评论 -
Hibernate-validator校验框架
1. 前言Validator开发者使用手册,适用后台校验功能的开发参考。文档中提到的功能,都是经过严谨测试验证过的,保证可用,请开发人员放心设计和开发。1.1. 背景在我们日常后台的开发中,涉及到很多的字段验证,一般普通的验证框架就基本上可以满足日常的开发需求,但有一些情况,这些普通的验证框架无法达到要求,例如,现在有一个Segment类,里面有一个属性deptCity,但原创 2017-11-21 00:10:21 · 1253 阅读 · 0 评论 -
单点登录之CAS原理和实现
1.开源单点登录系统CAS入门1.1 什么是单点登录单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决。1.2 什原创 2017-11-14 21:46:44 · 109618 阅读 · 20 评论 -
单点登录原理之简单实现
一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求原创 2017-11-13 22:20:31 · 561 阅读 · 0 评论 -
跨域资源共享 CORS 实现思路
CORS 定义Cross-Origin Resource Sharing(CORS)跨来源资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方原创 2017-11-17 19:58:05 · 1002 阅读 · 0 评论 -
SpringBoot框架与短信解决方案
1.Spring Boot入门1.1什么是Spring BootSpring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象原创 2017-11-13 16:32:25 · 8505 阅读 · 3 评论 -
MyBatis之解决字段名与实体类属性名不相同的冲突
在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。一、准备演示需要使用的表和数据CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), order原创 2017-10-22 14:31:17 · 370 阅读 · 0 评论 -
MyBatis之对表执行CRUD操作——基于XML的实现
1、定义sql映射xml文件 userMapper.xml文件的内容如下: 1 xml version="1.0" encoding="UTF-8" ?> 2 DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 3原创 2017-10-22 14:20:13 · 318 阅读 · 0 评论 -
Java多线程(一)
多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。一.线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图:上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入原创 2017-10-28 00:14:33 · 318 阅读 · 0 评论 -
dubbo+zookeeper构建高可用分布式集群
我们讨论过Nginx+tomcat组成的集群,这已经是非常灵活的集群技术,但是当我们的系统遇到更大的瓶颈,全部应用的单点服务器已经不能满足我们的需求,这时,我们要考虑另外一种,我们熟悉的内容,就是分布式,而当下流行的Dubbo框架。一,背景 以前我们需要远程调用他人的接口,我们是这么做的:原创 2017-10-28 00:10:26 · 13971 阅读 · 0 评论 -
爬虫的综合案例
爬虫的综合案例爬取虎嗅网的完整Demo创建Maven项目首先引入依赖 <dependencies> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>原创 2017-10-19 22:15:06 · 464 阅读 · 0 评论 -
爬虫基础
1、爬虫的概念爬虫是什么爬虫又叫网络爬虫,是一种运行在互联网上为了获取数据的自动化程序。爬虫简单的分类百度 互联网所有的 通用爬虫为做数据分析而存在的爬虫, 垂直爬虫。淘宝评论爬虫淘宝商品爬虫分类的标准:根据数据量或者业务范围在互联网上,大多数都是垂直爬虫,也就是值爬取一定范围内的数据。爬虫爬取一个页面的流程指定一个URL发起一个网络请求 HTTP得到一个HTML文档解析HTML文档爬虫爬原创 2017-10-19 21:45:19 · 578 阅读 · 0 评论 -
form表单提交onclick和onsubmit
form表单提交onclick和onsubmitonsubmit只能表单上使用,提交表单前会触发, onclick是按钮等控件使用, 用来触发点击事件。在提交表单前,一般都会进行数据验证,可以选择在submit按钮上的onclick中验证,也可以在onsubmit中验证。但是onclick比onsubmit更早的被触发1、用户点击按钮 —->2、触发onclick事件 —-> 3、onclick返原创 2017-09-07 20:45:22 · 581 阅读 · 0 评论 -
Servlet 3.0 新特性 详细讲解
Servlet 是 Java EE 规范体系的重要组成部分,也是 Java 开发人员必须具备的基础技能,Servlet 3.0 是 Servlet 规范的最新版本。本文主要介绍了 Servlet 3.0 引入的若干重要新特性,包括异步处理、新增的注解支持、可插性支持等等,为读者顺利向新版本过渡扫清障碍。 Servlet 3.0 新特性概述 Servlet 3.0 作为 J原创 2017-09-08 21:55:42 · 271 阅读 · 0 评论 -
js随机点名 方式 和 js生成随机数 案例
js 随机点名 和 js生成随机数方式一 两个按钮的随机点名 案例<script type="text/javascript"> var startID=null; function startName() { var arr = [ "隔壁老王", "东方不败",原创 2017-09-08 11:47:06 · 5873 阅读 · 1 评论 -
Servlet入门简介
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议原创 2017-09-07 13:52:38 · 272 阅读 · 0 评论 -
CentOS6.7 linux系统下安装Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/PO原创 2017-09-06 20:55:25 · 386 阅读 · 1 评论 -
Java多线程(二)
四.Java多线程的阻塞状态与线程控制上文已经提到Java阻塞的几种具体类型。下面分别看下引起Java线程阻塞的主要方法。1.join()join —— 让一个线程等待另一个线程完成才继续执行。如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继续执行。 1 public class ThreadTest { 2原创 2017-10-28 00:16:52 · 268 阅读 · 0 评论 -
Java多线程(三)
本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题。一.一个典型的Java线程安全例子 1 public class ThreadTest { 2 3 public static void main(String[] args) { 4 Account account = new Account("123456", 1000);原创 2017-10-28 00:18:11 · 311 阅读 · 0 评论 -
MyBatis之优化配置文件
一、连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 xml version="1.0" encoding="UTF-8"?> 2 DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http原创 2017-10-22 14:27:25 · 310 阅读 · 0 评论 -
MyBatis之基础入门
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。原创 2017-10-22 14:10:37 · 333 阅读 · 0 评论 -
SSM三大框架整合详解
1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaB原创 2017-10-22 00:18:37 · 580 阅读 · 0 评论 -
solr基础
一、概念最近想深入研究下solr,顺便记录一些知识点,以供后来者。1.Solr是什么东西Solr是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。 Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。 它易于安装和配置,而且附带了一个基于HTTP 的管理界面。原创 2017-10-22 00:13:17 · 404 阅读 · 0 评论 -
Lucene学习总结之全文检索的基本原理
一、总论根据http://lucene.apache.org/java/docs/index.html 定义:Lucene 是一个高效的,基于Java 的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和非结构化数据 。结构化数据: 指具原创 2017-10-21 23:58:04 · 347 阅读 · 0 评论 -
solr搜索关键字高亮显示
solr搜索关键字高亮显示主要步骤:后端:1.高亮选项初始化 HighlightQuery query=new SimpleHighlightQuery(); HighlightOptions highlightOptions=new HighlightOptions().addField("item_title");//高亮域 highlightOptions.setSi原创 2017-11-07 11:21:02 · 4201 阅读 · 0 评论 -
Spring Security安全权限管理
1.Spring Security简要介绍Spring Security以前叫做acegi,是后来才成为Spring的一个子项目,也是目前最为流行的一个安全权限管理框架,它与Spring紧密结合在一起。Spring Security关注的重点是在企业应用安全层为您提供服务,你将发现业务问题领域存在着各式各样的需求。银行系统跟电子商务应用就有很大的不同。电子商务系统与企业销售自动化工原创 2017-10-29 17:28:15 · 324 阅读 · 0 评论