摘要: 在后台修改订单的时候为了防止两个以上的工作人员同时修改订单,需要对订单进行锁定。锁定的具体方法如下:View Code 1 public Order getLockOrder(String orderid, String employee){2 em.createQuery("update Order o set o.employee=?1 where o.orderid=?2 and o.employee is null")3 .setParameter(1, employee).setParameter(2, orderid).executeUpdate();4 em. 阅读全文
posted @ 2012-04-07 22:18 jerry_xing8 阅读(2129) 评论(0) 推荐(0) 编辑
摘要: 1)部门模块 1)设计实体/数据库表(领域建模/数据库建模) 2)设计业务bean(DAO层) 有些项目有Service层和DAO层,这样主要是为了解决有多个数据库来源。 一般的项目有service层就够了,不然70%的代码都是重复的。 不管有没有DAO层,事物一定要在业务层打开。 3)完成相应业务的action/jsp 2)员工模块 a)员工的分页列表 b)员工的添加【ajax校验用户名是否存在】/离职设置/改 3)权限定义与权限组模块 1>对系统的所有功能定义相应的权限。 2>由网管针对不同部门不同员工分配权限组,在分配权限组时,可以选择该组具有的权限 3>... 阅读全文
posted @ 2012-04-07 22:14 jerry_xing8 阅读(5429) 评论(0) 推荐(0) 编辑
摘要: 在购物车中,我们可以删除购物项,修改产品的购买数量,清空购物车,进入结算中心。以下是购物车的代码View Code 1 /** 2 * 购物车 3 */ 4 public class BuyCart { 5 /* 购物项 */ 6 private List<BuyItem> items = new ArrayList<BuyItem>(); 7 /* 配送信息 */ 8 private OrderDeliverInfo deliverInfo; 9 /* 购买者联系信息 */ 10 private OrderContactInfo contactInfo; 11 /* 阅读全文
posted @ 2012-04-07 22:09 jerry_xing8 阅读(3601) 评论(0) 推荐(0) 编辑
摘要: 存放购物车的方式有两种:一种是通过Session来存放,直接session.put(key,cart);就行了。这种方式比较好实现,但是比较消耗服务器内存。另一种是通过COOKIE+DB的方式存放,这种方式存放消耗的性能相对小一些,像卓越网、当当网就是通过这种方式存放的。首先,刚每个用户初次访问你的网站的时候,需要为用户分配一个唯一ID(UUID),存放在COOKIE里面。这个功能可以通过过滤器来实现。View Code 1 Filter(){2 //判断用户cookie里面是否存在ID,不存在就创建。3}然后从数据库获取购物车,如果数据库中不存在记录,代表用户初次购买,这时新建购物车,往购物 阅读全文
posted @ 2012-04-07 22:04 jerry_xing8 阅读(2459) 评论(0) 推荐(0) 编辑
摘要: 实现方式 Cookie1.对最近浏览商品的实现需要用到cookie,一下代码可以获取cookie:View Code 1 /** 2 * 获取cookie的值 3 * @param request 4 * @param name cookie的名称 5 * @return 6 */ 7 public static String getCookieByName(HttpServletRequest request, String name) { 8 Map<String, Cookie> cookieMap = WebUtil.readCookieMap... 阅读全文
posted @ 2012-04-07 22:02 jerry_xing8 阅读(1869) 评论(0) 推荐(0) 编辑
摘要: 构建保存图片的路径:View Code 1 String pathdir = "/images/product/"+ productTypeId+ "/"+ productId+ "/prototype";//构建文件保存的目录 为什么要有那么多个目录,因为java本身不会去获取图片,而是调用了操作系统的一些接口来获取图片,如果一个目录下图片太多的话,操作系统获取图片的速度会变慢,所以巴巴运动网在构建图片路径的时候搞了多个目录,分散保存图片。有了这个pathdir就可以得到图片保存目录的真实路径:View Code 1 String 阅读全文
posted @ 2012-04-07 21:55 jerry_xing8 阅读(3038) 评论(0) 推荐(0) 编辑
摘要: 首先创建一个QueryResult类来存放结果集和总记录数:package cn.wuxing.bean;View Code 1 import java.util.List; 2 3 public class QueryResult<T> { 4 private List<T> resultlist; 5 private long totalrecord; 6 7 public List<T> getResultlist() { 8 return resultlist; 9 }10 public void setResultlist(List<T> 阅读全文
posted @ 2012-04-07 21:44 jerry_xing8 阅读(1594) 评论(0) 推荐(0) 编辑
摘要: JBOSS+TOMCAT+APACHE 一般的构架 集群+OSCatch+ Session Server 阅读全文
posted @ 2012-04-07 21:33 jerry_xing8 阅读(3742) 评论(0) 推荐(0) 编辑
摘要: 问题:1)当大型网站系统>10万人 一个小时内,会跟数据库交互10万次(国内有京东,淘宝),这就会出现数据库瓶颈,每个数据库最大连接数(socket)2000在某一段短暂时间内1万人,会跟数据库发生1万次交互,2000-8000【30秒】 5000 30002000个用户很快就可以到页面5000个用户访问页面比较慢还有3000个用户会提示超时/服务器出现例外这是访问性能的问题,原因是数据库瓶颈。解决方案:1>页面静态化解决方案:使用模板技术(Velocity[9-10年]/Freemarket[5-6年])2>2>缓存技术 (当数据更新比较快,几秒钟就更新一次,或者需要 阅读全文
posted @ 2012-04-07 21:25 jerry_xing8 阅读(6457) 评论(0) 推荐(1) 编辑
摘要: 1. 数据库的可用度,DBA 说了“不算” --物化视图,加快查询速度某些时候数据库的可用性,并不由DBA所设定。因为即使DBA对数据库有绝对掌控权,但用户可能从自己的工作和应用角度,与DBA的感受是不一样的。他们要的是速度!很简单的道理,也许你也曾遇见。某天当你正在岗位上忙碌的时候。这时在同一时间,你的老板正在查看公司的财报,在他的电脑里有个应用,其中有一个按钮,只需轻轻一点就能查看当月甚至当年的财报。当他点了一下之后,结果并没有按他预计的时间返回,于是他拿起电话打给你,问数据库为什么“崩溃”了!这让你一头雾水,好像他说的不是你眼前的数据库!有时候一个全局设置良好的库也存在这样问题。我们遇. 阅读全文
posted @ 2012-04-07 20:52 jerry_xing8 阅读(314) 评论(0) 推荐(0) 编辑