摘要: 以前一直没有注意过这个问题,这次是因为公司的项目把html的声明给注视掉了,才出现了这个问题,如果有这个声明浏览器都是按照w3c的标准来解析元素布局模式的。公司因为有特殊的需求,自定义了很多东西,不想浏览器严格按照标准解析,就把这个给注视掉了。正因为这样,让我摸不着头脑怎么回事,不同浏览器里明明stlye都一样,div元素大小却不一样。现在知道怎么回事了。IE和W3C分别有一套盒子模型,Firefox中采用W3C标准模型,而IE中则采用Microsoft自己的标准,看下面2个示例图:很明显,W3C标准认为,盒子的宽度仅仅是内容的宽度,而IE标准认为“内容+padding+border”才是盒子 阅读全文
posted @ 2013-05-16 19:30 寂静沙滩 阅读(3386) 评论(0) 推荐(2) 编辑
摘要: 公司平台项目,在一个页面一直使用ajax局部刷新,当运行两个小时以上,明显感觉浏览器速度变慢,发生内存溢出,正在改进,目前需要一个前端的压力测试工具,来长时间操作看是否还存在泄漏。一开始我找了loadrunner和jmeter。jmeter很小巧只有20M,LR要2G,需求很简单使用jmeter就行了。再用badboy录制脚本。结果发现不是想要的,这个只是模拟浏览器发送请求的一个httpClient。于是找了好久,发现webDriver这个编程式模拟人工操作浏览器的方法。可以用Selenium来录制并生产代码运行。Selenium和webDriver已合并了。可以用java语言开发webDri 阅读全文
posted @ 2013-05-06 20:45 寂静沙滩 阅读(3488) 评论(0) 推荐(0) 编辑
摘要: DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03'); -> 3WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5mysql> select WEEKDAY('1997-11-05'); -> 2DAYOFMONTH(date) 返回 阅读全文
posted @ 2013-04-14 16:16 寂静沙滩 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1获取uri :<s:property value="#request.get('javax.servlet.forward.request_uri')">2Iterator内嵌textfield标签 <s:iterator value="mms" id="mm" status="st"> <tr> <td>年龄:<s:textfield name="%{'mms['+#st.index+'].age'} 阅读全文
posted @ 2013-04-10 19:20 寂静沙滩 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 由于要保持的对象持有一个未持久化的对象导致,我是MANY TO ONE 的时候,引导的那个ONE对象所有属性都是NULL,造成这个异常。解决办法:配置cascade关键字,级联操作。我是用的JPA注解和Hibernate的有些不同,JPA 中定义了四种 CASCADE 类型: * PERSIST:持久保存拥有方实体时,也会持久保存该实体的所有相关数据。 * MERGE:将分离的实体重新合并到活动的持久性上下文时,也会合并该实体的所有相关数据。 * REMOVE:删除一个实体时,也会删除该实体的所有相关数据。 * ALL:以上都适用。@ManyToOne(cascade={CascadeType 阅读全文
posted @ 2013-04-10 17:09 寂静沙滩 阅读(9690) 评论(0) 推荐(1) 编辑
摘要: String在java里是很特别的一个对象。数组就更特别了,底层实现介于对象和基本数据类型之间。1实际使用上可以把数组当成对象来理解,所以数组作为参数也是引用传递。java里基本数据和String是值传递,对象和数组是引用传递。java底层封装了指针,实际上java只有值传递,所谓的值传递是复制一份值传递过去,引用传递就是把值直接传递过去,然后共享这个值。有一条不成规则的规则:对于函数调用,最终效果是什么完全看函数内部的实现。比较标准的做法是如果会改变引用的内容,则使用void作为方法返回值,而不会改变引用内容的则在返回值中返回新的值。----------------------------- 阅读全文
posted @ 2013-03-29 16:08 寂静沙滩 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案;代理模式:给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用;装饰模式应该为所装饰的对象增强功能;代理模式对代理的对象施加控制,并不提供对象本身的增强功能二者的实现机制确实是一样的,可以看到他们的实例代码重复是很多的。但就语义上说,这两者的功能是相反的,模式的一个重要作用是简化其他程序员对你程序的理解,你在一个地方写装饰,大家就知道这是在增加功能,你写代理,大家就知道是在限制,虽然代码很可能相同,但如果你都叫他们装饰,别人会很迷惑的。--------------------------------------- 阅读全文
posted @ 2013-03-28 08:16 寂静沙滩 阅读(14572) 评论(1) 推荐(4) 编辑
摘要: 1、ActionContextstruts2 在每次执行Action之前都会创建新的ActionContext,ActionContext是线程安全的,也就是说在同一个线程里ActionContext里的属性是唯一的,这样我的Action就可以在多线程中使用。ActionContext中有个静态的ThreadLocal变量,用来存放每个Action的actionContext。ActionContext里有6个对象,分别是valueStack、parameters、request、session、application、attr。 ActionContext:context map------ 阅读全文
posted @ 2013-03-16 21:18 寂静沙滩 阅读(283) 评论(0) 推荐(0) 编辑
摘要: Joinpoint:它定义在哪里加入你的逻辑功能,对于Spring AOP,Jointpoint指的就是Method。Advice:特定的Jointpoint处运行的代码,对于Spring AOP 来讲,有Before advice、AfterreturningAdvice、ThrowAdvice、AroundAdvice(MethodInteceptor)等。Pointcut:一组Joinpoint,就是说一个Advice可能在多个地方织入,Aspect:实际是Advice和Pointcut的组合,但是Spring AOP 中的Advisor也是这样一个东西,但是Spring中为什么叫Adv 阅读全文
posted @ 2013-03-06 14:50 寂静沙滩 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 使用Apache Cassandra 缓存,部署4台Apache Cassandra 服务器负载均衡,webservice执行写操作时,先写oracle数据库,再写到Cassandra上。webservice执行读操作时,先读Cassandra,如果命中就返回,如果不命中就从数据库读取,并写到Cassandra上。1 Cassandra 执行写操作,是写到负载均衡的一个节点上,系统会异步地自动将新数据同步到其他节点上。2 Cassandra 执行读操作,读取一个节点上的信息,再去跟其他节点比较,看这个信息是不是最新的,如果是才返回,所以读要比写还慢。3 数据默认10天失效。4 负载均衡采用ha 阅读全文
posted @ 2013-03-04 14:22 寂静沙滩 阅读(429) 评论(0) 推荐(0) 编辑