自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 B2C电子商务系统研发——产品目录(Product Category)业务分析和设计

一、产品目录定义在电子商务系统中,产品目录是组织网店产品的一种分类方式。产品目录一般为树形结构,结构上支持无限分级,但是最常见的是2~3级,很少4级或者以上的(B2B类网站除外)。比如有类似京东、卓越一样的百货式商场,目录很丰富,图书/家电/手机数码等,每个一级目录下,还划分二级/三级子目录等,也是三级就满足了业务需求。而对于一些专业类的网站,如草莓派/麦包包等,两级就可以了...

2013-05-22 09:56:24 714

原创 B2C电子商务系统研发——概述篇

# 前言     计划接下来一段日子写若干篇关于整个B2C电子商务系统研发流程博文,包括前台、后台各个主要功能模块的需求分析、概要设计、详细设计和一些伪编码编写。计划2~3天写一篇,对于一些复杂的模块会通过多篇博文来完成。# 系统定义    电子商务商业模式常见的有近20种分类,其中常见的:在线直销这是最为典型的经营模式,即在网上销售商品和服务。这也是本系列博文主要探讨...

2013-05-22 09:55:01 188

原创 CAS单点登录学习笔记五之CAS服务器数据源

CAS服务器数据源的配置真实验证,在前面的示例中,使用的用户名和密码都是自己捏造出来的,而在实际的应用系统中,都需要从应用数据库中读取用户名和密码,下面就进行自定义CAS服务器的数据源的实验 1、创建数据库表结构user_info 用户表2、cas服务器配置打开cas-server的apache-tomcat-6.0.36\webapps\cas\WEB-INF\deploye...

2013-05-18 00:48:02 230

原创 CAS单点登录学习笔记四之HTTPS 单向认证方式 服务端和客户端配置

一、生成服务端密钥文件二、生成服务端证书三、导入证书文件到cacerts密钥库文件四、服务端Tomcat配置五、生成客户端密钥库文件六、客户端应用配置七、补充说明八、常见配置错误  配置说明   一、     生成服务端密钥文件 登录服务器打开一个CMD窗口(开始菜单 -> 运行输入cmd后回车)并切换到tomcat安装目录下(如:c:\tomcat-...

2013-05-18 00:15:37 353

原创 CAS单点登录学习笔记三之配置Tomcat启用Https 协议

 Cas server默认的安全认证是基于https协议的,这就要求在应用程序和CAS Server端配置SSL协议。1、修改%TOMCAT_HOME%\conf\server.xml文件注释如下配置<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8081" protocol="HTTP/1.1" ...

2013-05-17 23:46:37 185

原创 CAS单点登录学习笔记二之部署CAS Server

       CAS Server 是一套基于 Java 实现的服务,该服务以一个 Java Web Application 单独部署在与 servlet2.3 兼容的 Web 服务器上,另外,由于 Client 与 CAS Server 之间的交互采用 Https 协议,因此部署 CAS Server 的服务器还需要支持 SSL 协议。当 SSL 配置成功过后,像普通 Web 应用一样将 C...

2013-05-17 23:24:11 247

原创 CAS单点登录学习笔记一之CAS基本概念

 SSO 介绍单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使...

2013-05-17 22:48:36 132

原创 漫话产品设计

1.鱼饵就应当符合鱼儿的胃口,而不是钓鱼者第一次看到这幅漫画就笑了:画的不就是做产品的我们嘛~ 花了不少成本、人力、时间,把自己看起来都颇诱人的鱼饵(x产品x功能)抛到鱼塘(网站)里,满心欢喜地守着盼着等着念着:“鱼儿鱼儿快上钩~”鱼儿们来到网站,先是看到一个庞然大物,一晕;然后满世界找熟悉的功能,未遂,再晕;好不容易找对地儿,发现鱼饵味道变了,三晕……反省...

2012-05-19 23:33:20 93

原创 B2C电子商务系统研发——商品SKU分析和设计(二)

 上文谈到5种商品SKU设计模式,本文将做些细化说明。  笔者研究过不少电子商务平台软件,关于SKU的设计各有不同,之所以有这样的区别,是因为面向不同规模的电子商务网站,存在产品分类复杂度,产品数量级的差异。一种设计方式对于百货式的网站,如京东、淘宝等,也许比较方便,但也许对于一个专卖服装的小型时尚类网站就不够方便了。我们先看一下麦包包的    女包:http://it...

2012-04-20 13:38:43 614

原创 B2C电子商务系统研发——商品SKU分析和设计(一)

 一、SKU及相关概念定义在设计商品SKU之前,首先让我们熟悉一下SKU和相关的一些概念。# 什么是SKU:     SKU=Stock Keeping Unit(库存量单位)     同一型号的商品,或者说是同一个产品项目(商品条形码是针对企业的产品项目来进行定义的),因为产品与产品之间有某些属性不同,用以区别开这些不同商品的属性即商品变异属性,又称作SKU属性,因为它决定了SKU的绝对...

2012-04-20 13:37:20 776

原创 电子商务功夫之葵花宝典-定位

有人的地方就会有江湖,有江湖的地方就必然会有功夫,电子商务就犹如十八般武艺,有人运用娴熟自如当属一代宗师,有人初入电商门还在蹲马步,有人内 功深厚,有人出剑如风,电光石火。葵花宝典威力堪称无与伦比,讲究快、准、狠、阴。东方不败只修炼了其中的一部分,就能天下不败,以强大的内功把一支小小 的绣花针用到出神入化。单挑令狐冲、任我行等四个当时高手还能占上风且游刃有余,可见其威力其江湖地位;“定位“...

2012-04-07 13:40:15 125

原创 js 之 Number 工具类

 //只能输入整数function onlyInteger(obj) { var curVal = obj.value + ''; if(curVal.length > 1) { var filterValue = obj.value.replace(/[^\d]/g,'').replace(/^0\d*$/g,''); if(obj.value != filte...

2012-03-11 18:56:55 168

原创 js 之 String工具类

 String.prototype.replaceAll = function(AFindText, ARepText){ raRegExp = new RegExp(AFindText, "g"); return this.replace(raRegExp, ARepText);}//trim方法String.prototype.trim = function(){...

2012-03-11 00:58:39 148

原创 java 文件工具类 FileUtil 备忘笔记

package com.woyo.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.InputStream;import java.io.PrintWrit...

2012-03-11 00:49:46 124

原创 java 日期处理工具类 DateUtil 备忘笔记

 package com.util;import java.text.ParseException;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Greg...

2012-03-11 00:45:30 159

原创 java 提供高精度的运算支持 BigDecimal 备忘笔记

package com.util;import java.math.BigDecimal;/** * 提供高精度的运算支持. * 所以函数以double为参数类型,兼容 int 与 float. * @author dylan_xu * @date Mar 11, 2012 * @since JDK1.6 * @see com.util.NumericUti...

2012-03-11 00:12:40 126

原创 SVN提交工作注意事项

 一.提交之前先更新1.         SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交。2.         如果在修改的期间别人也更改了svn的对应文件,那么commit就可能会失败。如果别人和自 己更改的是同一个文件,那么update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系...

2012-03-08 22:26:56 94

原创 MySQL数据库优化总结之备忘

  对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:数据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统,这个顺序也表现了这四个工作对性能影响的大小。  一、数据库设计  适度的反范式,注意是适度的  我们都知道三范式,基于三范式建立的模型是最有效保存数 据的方式,也是...

2012-03-06 20:40:34 115

原创 小谈选用 ibatis 和 hibernate 的区别

Hibernate 简介 Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操作数据库。Hibernate可以应用在任何使用JDBC的场景,既可以在Java的客户端程序使用,也可以在Servlet/JSP的WEB应用中使用,最具革命意义的是,Hibernate可以在应用EJB和J2EE架构中取代...

2012-03-06 15:29:46 88

原创 mongodb常用操作语句

1、现有表以及数据添加字段db.tbGoodsConsultant.update({}, {$set:{nFlagState:0}}, false, true);2、给表字段添加索引db.tbGoodsConsultant.ensureIndex({nFlagState:1});3、增加数据> db.food.save({"name":"jack","address":{...

2012-03-03 13:53:34 365

原创 Servlet运行周期与原理流程

 一、Servlet运行周期Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。Servlet的生命周期包含了下面4个阶段:1、加载和实例化Servlet容器负责加载和实例化Servlet。当Servlet容器启动时...

2012-02-25 23:43:41 53

原创 设计模式之单例(Singleton)模式

如果要保证系统在一个类最多只能存在一个实例时,我们就需要单例模式。这种情况在应用中经常碰到,例如缓存池、数据库连接池、线程池、一些应用服务实例等等。在多线程环境中。为了保证实例的唯一性其实并不简单。1、最简单的单例模式 为了限制该类的对象被随意的创建,需要保证该类构造方法是私有的,这样外部类就无法创建该类的对象;另外,为了方便给客户对象提供单例对象的使用,我们为提供一个全局访问点,如...

2012-02-25 13:54:18 77

原创 mysql常用操作语句

1、数据库数据到处mysqldump -h[hosname] -u[user_name] -p[password] --default-character-set=[char_set_name] [db_name] > [save_path] mysqldump -h192.168.204.12 -uroot -p123456 --default-character-set=utf8...

2012-02-16 11:07:58 62

原创 [spring]事务传播级别隔离级别以及高并发下的应用经验

事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。事务最重要的两个特性,是事务的传播级别和数据隔离级别。传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。以下是事务的7种传播级别:1) PROPAGATION_REQUIRED ,默认的spring事务传播级别,使用该级别的特点是,如果上下文中已经存在事务,那...

2012-02-12 01:06:47 187

原创 什么是代码复查

代码复查(Code Review),又叫“代码审查”,其基本思想就是,在开发人员编写完自己的代码后,由其他人来复查他写的代码,从而有效地发现代码中存在的缺陷。代码复查的一个基本理论就是,当我们越早发现代码存在的缺陷,我们解决缺陷的代价就越低。代码复查往往分成以下一个方面进行审查:1)代码风格。在项目开发之初,我们往往会制定一个代码编写的规范,实际上,这个代码规范就包含了整个...

2012-01-14 11:16:28 519

原创 JVM体系结构—运行时数据区

JVM运行时数据区:包括类装载子系统、执行引擎、本地方法接口、运行时数据区。运行数据区包括:方法区、Java堆、Java虚拟机栈、PC寄存器、运行时常量池、本地方法栈。方法区 方法区是由所有JVM线程共享的一个公用存储区。该存储区常用于存储运行时常量池、方法数据、字段数据以及方法和函数的对于字节码。JVM规范仅仅描述了方法区的一般特性,并未规定该区域的位置,也没有指明该区域的实...

2012-01-13 15:01:50 91

原创 java线程之synchronized关键字

       synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程A每次运行到这个法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D)运行完这个方法后再运行此线程A,没有的话,直接运行 它包括两种用法:synchronized 方法和 synchronized 块。  1. synchronized 方法:通过...

2011-12-29 00:11:24 118

原创 Java线程之线程的同步与锁

一、同步问题提出线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。二、同步和锁定Java中每个对象都有一个内置锁。当线程运行到非静态的synchronized同步方法上时,自动获得与正在执行代码的当前实例(this实例)有关的锁。获得一个对象的锁也称为获取锁,锁定对象、在对象上锁或在对象上同步。当程序运行到synchronized同步方法货代码块时才该对象...

2011-12-28 22:15:17 127

原创 Java线程之线程状态的转换

一、线程状态 线程的状态转换是线程控制的基础。线程状态总的可以分为五大状态:分别是生、可运行、运行、等待|阻塞|睡眠、死。 简单描述如下:1、新状态:线程对象已经创建,还没有在其上调用start()方法。2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态,在线程运行之后或者阻塞、等待或...

2011-12-27 17:28:59 104

原创 Java中堆内存与栈内存分配浅析

Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用。  堆内存用来存放由 new 创建的对象和数组,在堆中分配的内存,由 Java 虚...

2011-12-23 11:42:29 61

原创 java之yield(),sleep(),wait()区别详解-备忘笔记

1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程...

2011-12-23 10:59:42 3216 1

原创 Vector、ArrayList、LinkedList、HashMap、TreeMap、HashTable 区别

Vector和ArrayList1、vector是线程同步的,所以他也是线程安全的,而ArrayList是线程异步的,是不安全的。如果不考虑到线程的安全因素,一般用ArrayList效率较高。2、如果集合中的元素的数目大于目前集合数组的长度时,Vector增长率为目前数组长度的100%,而ArrayList增长率为目前数组长度的50%.如果在集合中使用数据量比较大的数据,用vecto...

2011-12-22 20:27:24 239

原创 JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解

Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。     JAVA_HOME 指向的是JDK的安装路径,如C:\jdk1.5.0_06,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\...

2011-12-22 20:25:02 397

原创 java 之 load-on-startup 的详解

The load-on-startup element indicates that this servlet should be loaded (instantiated and have its init() called) on the startup of the web application. The optional contents of these element must...

2011-12-22 20:19:23 174

原创 小谈Java中的静态块与非静态块

java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的static,都是最先初始化好的。结构如下:static { 静态语句代码块}{ 非静态语句代码块}异同点相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋     值。不同点:静态代码块在非静态代码块...

2011-12-21 11:02:53 295

原创 Java空接口以及其接口方法讨论

JDK中定义的空接口import java.io.Serializable;import java.lang.annotation.Annotation;import java.rmi.Remote;import java.util.RandomAccess;个人理解为:空接口仅做标记使用,无其他含义Spring中也有大量空接口 列出部分如下:publ...

2011-12-20 16:03:56 2713

原创 MongoDB Linux下的安装和启动

 1. 下载MongoDB,此处下载的版本是:mongodb-linux-i686-1.8.1.tgz.tar。http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz 相关阅读:MongoDB Linux下的安装和启动  http://www.linuxidc.com/Linux/2011-05/36309.ht...

2011-12-20 11:03:40 83

原创 spring hibernate properties详解

Hibernate配置属性hibernate.dialect:一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL。取值full.classname.of.Dialect(详解见下)hibernate.show_sql:输出所有SQL语句到控制台,有一个另外的选择是把org.hibernate.SQL这个log category设为de...

2011-12-19 10:15:13 117

原创 js 之 StringBuffer 工具类

function StringBuffer(){ this._strings = new Array();}StringBuffer.prototype.append = function(str){ this._strings.push(str); return this;}StringBuffer.prototype.toString = function(...

2011-12-18 23:53:55 89

原创 javascript 获取浏览器对象 - 备忘笔记

jQuery.extend({ getBrowserType: function(){ var OsObject = ""; if (navigator.userAgent.indexOf("MSIE") >= 0) { return "MSIE"; // IE浏览器 } if (navigator.userAgent.indexOf("Firefo...

2011-12-18 23:39:12 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除