
java
文章平均质量分 54
will的成长之路
个人成长记录
展开
-
Java开源电商项目比较
这里比较的都是国外的开源项目,备选项目有:Smilehouse Workspace、Pulse、Shopizer、ofbiz、bigfish、broadleaf1、Smilehouse Workspace 是一个采用 Java 开发的电子商务应用程序,用来做产品、定案和客户信息管理。(从官网看,更像是一个管理系统)2、Pulse没有使用spring,使用了hibernate,不清楚原创 2016-01-25 12:35:02 · 27656 阅读 · 5 评论 -
lucene、solr、nutch三者的关系
lucene是一个做搜索用的类库。 nutch和solr都是基于lucene的,二者都是可直接运行的应用程序;直接在业务上使用lucene的倒是不太多见。 solr主要提供了建立索引(用户可以直接post数据给solr,然后由solr进行索引)和提供查询索引的功能(它内嵌了jetty,可以直接提供HTTP服务);nutch一般用作爬虫使用,负责抓取数据。solr的重大变化:从原创 2016-01-30 11:24:58 · 6446 阅读 · 1 评论 -
单点登录cas常见问题(九) - android app怎么接入cas单点登录系统?
cas-server-support-rest子项目有什么用:如果一个android app要接入cas中心系统,就需要用到这个子项目。引入的前提条件是,cas项目已经启用了,通常不会启用一部分项目,如cas-server-webapp。引入步骤:1、将cas-server-support-rest模块导入到自己的cas项目中2、修改cas目录下的pom.xml,解开注释cas-s原创 2016-02-21 19:56:13 · 13689 阅读 · 2 评论 -
单点登录cas常见问题(八) - 什么时候会用到代理proxy模式?
举一个例子:有两个应用App1和App2,它们都是受Cas服务器保护的,即请求它们时都需要通过Cas 服务器的认证。现在需要在App1中通过Http请求访问App2,显然该请求将会被App2配置的Cas的AuthenticationFilter拦截并转向Cas 服务器,Cas 服务器将引导用户进行登录认证,这样我们也就访问不到App2的资源了。针对这种应用场景,Cas也提供了Cas Proxy原创 2016-02-21 19:36:19 · 6123 阅读 · 0 评论 -
单点登录cas常见问题(七) - 各子项目是做什么的?
cas-management-webapp 这是一个管理service的web项目,没有管理用户的功能cas-server-core cas核心/基础子项目cas-server-core-api原创 2016-02-20 14:41:30 · 7500 阅读 · 0 评论 -
IP数据库的比较和选择
网络上最有名是纯真 IP 库,其他可选项有:ipip.net 数据库和各种语言版本的API http://www.ipip.net/download.html 已经有很多国内大公司购买 站长的一篇博客,ip库需要常更新,且准确率不可能达到100%,对纯真库的一些方面还是有质疑的 参考了纯真 IP 库、淘宝 IP 库、腾讯 IP 库、新浪 IP 库、中国原创 2016-01-18 14:42:00 · 10214 阅读 · 4 评论 -
单点登录cas常见问题(十) - 怎么将认证方式改为JDBC方式?
认证方式:默认的用户名密码写死在配置文件中 class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler"> 修改为JDBC原创 2016-02-23 21:45:06 · 2390 阅读 · 0 评论 -
电商系统Broadleaf文档翻译(九) – 扩展的服务extending services
原文标题:extending services原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/data-and-service-models/extending-services译者:IT十年译文链接:http://www.ittenyear.com/410/broadleaf-ext翻译 2016-03-18 22:07:46 · 2036 阅读 · 1 评论 -
单点登录cas常见问题(六) - cas中心配置的service的信息数据更新了,能否自动重新加载?
先说一下,为什么cas系统中,接入的各个子系统叫服务呢?因为对普通用户来说,每一个接入到cas认证中心的子系统都提供特定的服务,大家都听过软件即服务,平台即服务,这样理解service就通顺了SaaS:Software-as-a-Service,软件即服务PaaS:Platform as a Service,平台即服务那么,如果cas中心配置的service的信原创 2016-02-20 14:36:50 · 6419 阅读 · 1 评论 -
Broadleaf电商系统开发(三) - 汉化
需要翻译的messages.properties都定义在这些xml的messageSource bean中 bl-cms-contentCreator-applicationContext.xml bl-admin-applicationContext.xml bl-open-admin-contentCreator-a原创 2016-01-27 22:06:38 · 5722 阅读 · 1 评论 -
Broadleaf电商系统开发(四) - 切换到mysql
Broadleaf 默认使用的数据库是hsqldb,所有数据都存储在内存中,每次重启服务器,数据销毁再重键。因此在生产环境中,肯定要切换到其他数据库如mysql,这里介绍的就是使用Mysql数据库。官方的参考文档如下: http://www.broadleafcommerce.com/docs/core/current/tutorials/getting-started-tuto原创 2016-01-31 21:19:57 · 3034 阅读 · 1 评论 -
单点登录cas常见问题(十一) - 怎么搭建oauth服务器?
1、cas项目导入cas-server-support-oauth子项目如果pom.xml中注释掉了这个模块,放开注释:cas-server-support-oauth2、cas-server-webapp项目的pom.xml中添加 org.jasig.cas cas-server-support-oauth ${proje原创 2016-02-25 06:37:44 · 5946 阅读 · 0 评论 -
单点登录cas常见问题(十三) - 几个重要概念怎么理解?
1、TGC:Ticket-granting cookie,存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用,是CAS Server用来明确用户身份的凭证。TGT封装了TGC值以及此Cookie值对应的用户信息。2、TGT:ticket granting ticket,TGT对象的ID就是TGC的值,在服务器端,通过TGC查询TGT。3、ST:service原创 2016-03-01 06:51:15 · 12007 阅读 · 1 评论 -
单点登录cas常见问题(十二) - Principal的id对应数据库表中的哪个字段?
Principal.getId()拿到的用户id,默认是从Credential.getId()拷贝过来的,Principal实例主要是来自DefaultPrincipalFactoryDefaultPrincipalFactory.createPrincipal(final String id)我们看一下QueryDatabaseAuthenticationHandler 是怎么调原创 2016-02-29 21:52:39 · 5160 阅读 · 1 评论 -
电商系统Broadleaf文档翻译(一) - 逻辑架构Logical Architecture
原文标题:Logical Architecture原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/architecture-diagrams/logical-architecture译者:IT十年译文链接:本译文仅用于学习和交流目的,转载请保留原文链接和译文链接!概述翻译 2016-03-05 10:05:33 · 5012 阅读 · 0 评论 -
电商系统Broadleaf文档翻译(二) - 推荐服务器配置server configuration
原文标题:server configuration原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/architecture-diagrams/server-configuration译者:IT十年译文链接:http://blog.csdn.net/matthewei6/article/翻译 2016-03-05 19:06:42 · 2258 阅读 · 0 评论 -
电商系统Broadleaf文档翻译(三) - 应用架构模块视图application architecture module view
应用架构模块视图原文标题:server configuration原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/architecture-diagrams/application-architecture-module-view译者:IT十年译文链接:http://b翻译 2016-03-06 23:30:28 · 2461 阅读 · 0 评论 -
电商系统Broadleaf文档翻译(四) - 应用架构组件视图application architecture component view
应用架构组件视图原文标题:application architecture component view原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/architecture-diagrams/application-architecture-component-view/appli翻译 2016-03-07 21:05:39 · 2539 阅读 · 0 评论 -
电商系统Broadleaf文档翻译(五) - 架构图表architecture diagrams
架构图原文标题:application architecture component view原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/architecture-diagrams/译者:IT十年译文链接:http://blog.csdn.net/matthewei6/ar翻译 2016-03-08 20:40:48 · 2424 阅读 · 0 评论 -
电商系统Broadleaf文档翻译(六) - 主要实体main entities
主要实体原文标题:main entities原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/data-and-service-models/main-entities译者:IT十年译文链接:http://blog.csdn.net/matthewei6/article/de翻译 2016-03-09 19:53:52 · 1851 阅读 · 0 评论 -
单点登录cas常见问题(五) - service有哪些存储方式?
service的存储方式有以下几种:1、InMemoryServiceRegistryDaoImpl2、JsonServiceRegistryDao3、JpaServiceRegistryDaoImpl:如果启用了oauth,因为每一个第三方都被认为是一个service,最好存储在数据库中,管理方便4、MongoServiceRegistryDaocas默认配置是使用InM原创 2016-02-19 20:49:42 · 4949 阅读 · 0 评论 -
单点登录cas常见问题(四) - ticket有哪些存储方式?
配置文件ticketRegistry.xml负责配置ticket的存储方式,registry是注册表,登记薄的意思常用的存储方式包括1、DefaultTicketRegistry:默认的,存储在内存里2、JpaTicketRegistry:存储在数据库中,服务器重启时,已有的ticket不会丢失,用于高可用HA架构中3、EhCacheTicketRegistry:存储在ehca原创 2016-02-19 20:43:59 · 9276 阅读 · 0 评论 -
电商系统Broadleaf文档翻译(八) – 主要服务main services
原文标题:main services原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/data-and-service-models/main-services译者:IT十年译文链接:http://www.ittenyear.com/405/broadleaf-main-services翻译 2016-03-17 22:51:30 · 2121 阅读 · 0 评论 -
单点登录cas常见问题(十四) - ST和TGT的过期策略是什么?
ST和TGT的过期策略可以参看配置文件:ticketExpirationPolicies.xml1、先说ST:ST的过期包括使用次数和时间,默认使用一次就过期,或者即使没有使用,一段时间后也要过期当cas配置为OAuth服务器时,oauth中的授权码code也是用一次就过期,它和单点登录中的ST实际上是一个东西;st默认过期时间是10秒,这个st在oauth中作为授权码code使用,过原创 2016-03-01 21:22:17 · 14619 阅读 · 5 评论 -
solr5.4.1 quick start
solr的重大变化:从5.0开始,solr不再以war包发布(war包可以部署到任何servlet容器中),而是以独立的java服务器程序的形式发布(基于内嵌的jetty),它有启动/停止脚本,还有安装脚本用于在类unix上安装一个solr产品,后续版本不支持部署到其他的servlet容器上(如tomcat)。系统要求: JDK>=1.7,不要使用JVM实验性的-XX参数官网原创 2016-01-30 12:19:46 · 1733 阅读 · 0 评论 -
Broadleaf电商系统开发(二) - 启动项目
BroadleafCommerce官网有启动项目的教程,那个教程需要依赖Eclipse,不易理解;这里是自己总结的另一种启动方法,完全命令行操作,很容易理解为什么这么做准备条件是安装JDK1.7,maven项目主要分为两部分,一是基础代码项目BroadleafCommerce,而是web项目DemoSite,后者依赖前者1、下载代码 https://githu原创 2016-01-26 21:25:30 · 5030 阅读 · 0 评论 -
java 强引用 弱引用 软引用 虚引用
StrongReference 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。WeakReference 则类似于可有可无的东西。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管原创 2013-10-17 16:37:05 · 1777 阅读 · 0 评论 -
单点登录cas常见问题系列汇总 - 持续更新
单点登录cas常见问题(一) - 子系统是否还要做session处理?单点登录cas常见问题(二) - 子系统是否会频繁访问cas中心?单点登录cas常见问题(三) - 单点登出时,子系统是否同步登出?单点登录cas常见问题(四) - ticket有哪些存储方式?单点登录cas常见问题(五) - service有哪些存储方式?单点登录cas常见问题(六) -原创 2016-02-21 20:03:55 · 7934 阅读 · 4 评论 -
Broadleaf电商系统开发(五) - Http Api
Broadleaf默认已经提供了http api的controller,只需要enable就可以了。需要修改site/src/main/webapp/WEB-INF/applicationContext-servlet.xml,添加 然后启动demoSite项目。访问方式 方法一: wget --header="Content-Type: a原创 2016-02-01 21:29:16 · 2574 阅读 · 0 评论 -
solr常用命令总结
查看帮助bin/solr -help 可以看到solr有哪些子命令,如 start, stop, restart, status, healthcheck, create, create_core, create_collection, delete, version启动startbin/solr start -help 查看start帮原创 2016-02-01 21:41:21 · 23002 阅读 · 0 评论 -
单点登录cas常见问题(三) - 单点登出时,子系统是否同步登出?
答案是:子系统会同步登出。可以跟踪源码(这里cas版本是4.x)调用流程如下:terminateSessionAction.terminate(flowRequestContext) centralAuthenticationService.destroyTicketGrantingTicket(tgtId) 实现类CentralAuthentication原创 2016-02-18 19:47:18 · 8877 阅读 · 0 评论 -
单点登录cas常见问题(二) - 子系统是否会频繁访问cas中心?
这个问题的完整描述是:用户成功登陆后,在访问子系统的受限资源时,还需要访问cas中心么,即子系统是否还会频繁访问cas中心,cas中心会不会压力太大?答案是:不会。如果用户通过子系统A登录了cas中心,因为子系统A已经为每个登录用户创建了session(参考 单点登录cas常见问题(一) - 子系统是否还要做session处理? ),浏览器也有子系统的cookie,这时候用户的访问就和原创 2016-02-18 19:38:45 · 4101 阅读 · 1 评论 -
solr对mysql中tinyint字段的处理方法
在使用DIH(Data Import Handler)创建索引时,mysql中的tinyint类型的字段会被转换为java的boolean类型,值为true、false,很多情况下这是不符合要求的。如果要保持数字类型,需要在sql语句中转换例如:select id,convert(with_costs,SIGNED) as with_costs from table_a;解原创 2016-02-17 20:14:17 · 3029 阅读 · 0 评论 -
电商系统Broadleaf文档翻译(七) – 扩展实体extending entities
原文标题:main services原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/data-and-service-models/extending-entities译者:IT十年译文链接:http://www.ittenyear.com/394/broadleaf-extendin翻译 2016-03-15 19:59:37 · 1823 阅读 · 0 评论 -
solr跨core查询
参考文档:这里的跨core不使用solrcloudhttp://wiki.apache.org/solr/CoreAdmin注意:跨core查询功能相比单core查询,是有限制的只需要在url中添加shards.info=true和shards=host:port/base_url[,host:port/base_url]举例http://loc原创 2016-02-16 15:58:05 · 4182 阅读 · 0 评论 -
Solr搭建真实项目
在经过solr5.4.1 quick start 的学习后,我们要搭建真实的项目了1、启动项目bin/solr start2、创建corebin/solr create -c pms3、为新创建的core添加配置文件在pms/conf/solrconfig.xml中添加 db-data-config原创 2016-02-02 21:17:33 · 3015 阅读 · 0 评论 -
Maven主要插件汇总
基本所有主要的maven插件都来自于Apache和CodeHaushttp://maven.apache.org/plugins/index.htmlhttp://mojo.codehaus.org/plugins.htmlaspectj-maven-pluginbuildnumber-maven-plugin原创 2016-02-02 20:58:23 · 2802 阅读 · 0 评论 -
Maven够用就好
学习maven,只要知道pom、dependency、coordination就可以了,剩下的就是学习一个一个的plugin的Goal配置maven下载 http://maven.apache.org/download.cgiexport MAVEN_HOME=/home/matthewi/software/maven-3.3.3export PATH=$PA原创 2016-02-02 20:54:52 · 1449 阅读 · 0 评论 -
java:日期类
http://blog.csdn.net/kyfg27_niujin/article/details/8077828目录(?)[-]Date类Calendar类应用示例Date类在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这转载 2013-09-12 10:30:49 · 1468 阅读 · 1 评论