- 浏览: 35519 次
最新评论
文章列表
在做一个hibernate+struts的小模块中有一个需求,需要在一个Set类型的集合中删除满足条件的对象,于是想当然地想到直接调用Set的remove(Object o)方法将指定的对象删除即可,但是出现了并发修改的异常,这使得我想起了list的集合中曾经也犯过这个错误。于是到网上查了点资料,自己也模拟了一下错误的出现,在此就总结一下,以便后期再次犯错。
【模拟错误再现:】
package com.jjyy.set.exception;
import java.util.HashSet;
import java.util.Set;
/**
* 模拟Set集合的并发修改错误
...
- 2014-09-04 11:00
- 浏览 257
- 评论(0)
org.apache.jasper.JasperException: /jsp/dept/list.jsp(37,39) According to TLD, tag s:property must be empty, but is not
错误原因是没有结束标签。
- 2014-09-02 18:33
- 浏览 723
- 评论(0)
如何采用mysql内置函数获取指定时间之前的日期呢?
SELECT something FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col; 获取30天前的日期。
select date_sub(now(),interval 1 year); 获取一年前的今天的日期
select date_sub(now(),interval 1 week); 获取一周前的日期
select date_sub(now(),interval 1 month); 获取一个月前的日期
mysql与日 ...
- 2014-09-02 12:06
- 浏览 260
- 评论(0)
以前没怎么用过mybatis,只知道与hibernate一样是个orm数据库框架。随着使用熟练度的增加,发现它与hibernate区别是非常大的,结合至今为止的经验,总结出以下几点:
1.hibernate是全自动,而mybatis是半自动。
hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。
2.hibernate数据库移植性远大于mybatis。
hibernate通过它强大的映射结构和hql语言,大大降低了 ...
- 2014-09-01 21:31
- 浏览 286
- 评论(0)
套用一下子《大话设计模式》里的模板设计模式的定义:定义一个操作中算法的骨架,而将这些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重新定义
该算法的某些特定步骤。
模板方法模式:
定义 ...
- 2014-09-01 21:19
- 浏览 609
- 评论(0)
Memcache是什么
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。
它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。
Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解
为什么会有Memcache和memcached两种名称?
其实Memcache是这个项目的名称,而memcach ...
- 2014-08-30 21:39
- 浏览 298
- 评论(0)
个简单的例子
让我们使用一个简单的例子来展示一下Mina的状态机是如何工作的。下面的图片展示了一个录音机的状态机。其中的椭圆是状态,箭头表示事务。每个事务都有一个事件的名字来标记该事务。
初始化时,录音机的状态是空的。当磁带放如录音机的时候,加载的事件被触发,录音机进入到加载状态。在加载的状态下,退出的事件会使录音机进入到空的状态,播放的事件会使加载的状态进入到播放状态。等等......我想你可以推断后后面的结果:)
现在让我们写一些代码。外部(录音机中使用该代码的地方)只能看到
6.1.1
录音机的接口TapeDeck
行为方法,是时。
public interface ...
- 2014-08-30 21:09
- 浏览 335
- 评论(0)
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
details.
在网上搜到一个Blog,内容大致如下:
问题的原因是无法找到org.slf4j.impl.StaticLoggerBinder,我找了一下,确实没 ...
- 2014-08-30 20:24
- 浏览 286
- 评论(0)
楼主做前端开发一年多了,对前端的见解还是多多少少有一点的,今天特拿出来跟大家分享分享。
做前端开发少不了各种利器。比如我习惯用的还是Google浏览器和重型武器Fiddller。
一: 原始情况
首先大家看看如下的代码:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="JsLoad.Default" %>
2
3 <!DOCTYPE html P ...
- 2014-08-24 19:59
- 浏览 229
- 评论(0)
一.JSP
原理:JSP其实就是一个servlet。
Servlet负责业务逻辑处理,JSP只负责显示。开发中,JSP中不能有一行JAVA代码
二.JSP语法
1. JSP模板元素:JSP中HTML标签及文本
2. 脚本:写JAVA代码,<% %>
3. 表达式:用于输出变量及表达式,<%= %>
4. 注释:分为三种
a) <!-- -->:JSP翻译成Servlet时也将进行翻译。页面中也有。
b) <% /*.......*/ %>:JSP翻译成Servlet时会被翻译,但页面(右击源代码)中没有。
c) <%- ...
- 2014-08-24 19:47
- 浏览 408
- 评论(0)
1, 当Action设置了某个属性后,Struts将这些属性封装一个叫做Struts.valueStack的属性里。获取valueStack对象: ValueStack vs = (ValueStack) request.getAttribute("struts.valueStack");
调用ValueStack 的vs.findValue("books")方法(books为Action中的属 ...
- 2014-08-24 16:26
- 浏览 199
- 评论(0)
取Session中的值
<c:out value="${sessionScope.user.userId}"></c:out><br>
<c:out value="${user.userLoginName}"></c:out><br>
<s:property value="#session.user.userId"/><br>
${session.user.userId}<br>
${sessi ...
- 2014-08-17 18:53
- 浏览 238
- 评论(0)
使用package可以将逻辑上相关的一组Action,Result,Interceptor等组件分为一组,Package有些像对象,可以继承其他的Package,也可以被其他package继承,甚至可以定义抽象的Package。
Package的可以使用的属性:
属性
是否必须
说明
name 是 Package的表示,为了让其他的package引用
extends 否 从哪个package继承行为
namespace 否 参考Namespace配置说明
abstract 否
定义这个package为抽象的,这个package中不需要定义action
由于stru ...
- 2014-08-17 18:50
- 浏览 356
- 评论(0)
反射——reflect,也称为类的解剖机制。在学习完servlet、jsp后,一般,请求信息的传递都是通过四大作用域来实现再结合EL表达式去实现bean的field字段值的解析。本文使用反射来实现EL表达式的解析过程。
说到反射去模拟EL表达式 ...
- 2014-08-15 22:30
- 浏览 1246
- 评论(0)
反射——reflect,也称为类的解剖机制。在学习完servlet、jsp后,一般,请求信息的传递都是通过四大作用域来实现再结合EL表达式去实现bean的field字段值的解析。本文使用反射来实现EL表达式的解析过程。
说到反射去模拟EL表达式 ...
- 2014-08-15 22:30
- 浏览 256
- 评论(0)