- 浏览: 35783 次
- 性别:
- 来自: 上海
最新评论
文章列表
原则1:DRY(Don't repeat yourself)
即不要写重复的代码,而是用“abstraction”类来抽象公有的东西。如果你需要多次用到一个硬编码值,那么可以设为公共常量;如果你要在两个以上的地方使用一个代码块,那么可以将它设为一个独立的方法。SOLID设计原则的优点是易于维护,但要注意,不要滥用,duplicate 不是针对代码,而是针对功能。这意味着,即使用公共代码来验证OrderID和SSN,二者也不会是相同的。使用公共代码来实现两个不同的功能,其实就是近似地把这两个功能永远捆绑到了一起,如果OrderID改变了其格式,SSN验证代码也会中断。因此要慎用这种组合,不要随意 ...
如何实现servlet得单线程模式
- 博客分类:
- jsp+servlet
如何现实servlet的单线程模式
这个面试题挺经典的,可是网上很多朋友的回答题不达意,所以我在这里就这个问题做一下探讨。
网上朋友的回答是加入<%@ page
isThreadSafe=”false”%>这条命令。天啊,我晕!这是什么命 ...
上图来源于Struts2官方站点,是Struts 2 的整体结构。
一个请求在Struts2框架中的处理大概分为以下几个步骤
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4 如果Act ...
基本概念
Struts是Apache 基金会Jakarta 项目组的一个Open Source
项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts
也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性的控制层,基于如 Java
Servlets,Java
Beans,ResourceBundles
与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts有一组相互协作的类(组件)、Se ...
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts
1的一个具体问题是使用抽象类编程而不是接口。Struts 2
Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts
2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的POJO类都可以用作Struts
2的Action。 2) 线程模式方面的对比:Struts 1
Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所 ...
- 2012-09-19 14:57
- 浏览 564
- 评论(0)
/第一种方法:
String hql = "select count(*) from User as user";
Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next();
return count.intValue();
//第一种方法用后报错说
:lang类型无法转化为integeer后改为下面这样能用
Long lo = (Long)hibernateTemplate.find(hql).listIterator().next();
re ...
jquery Ajax 乱码问题
- 博客分类:
- jquery
方法1:不出现乱码 $.post( "talk_talkRep.action",
paging.pageNow=1&paging.pageSize="+pageSize+"&talkId="+id+"& talkRep.content="+$(".repcontent").val(),
function(data){$(".right").html(data);}
);
方法二:出现乱码
$.post("talk_tal ...
oracle 数据库得管理
- 博客分类:
- oracale
数据库的管理
管理数据库的用户主要是sys和system 在前面我们已经提到这两个用户,
区别主要是:
(1) 最重要的区别,存储的数据的重要性不同
Sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图 ...
oracle 数据库得管理
- 博客分类:
- oracale
数据库的管理
管理数据库的用户主要是sys和system 在前面我们已经提到这两个用户,区别主要是:
(1) 最重要的区别,存储的数据的重要性不同
Sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于 ...
数据字典
数据字典记录了数据库得系统信息,它是只读表和视图得集合,数据字典得所有者为sys用户。
用户只能在数据字典上执行查询操作(select 语句) ,而其维护和修改时由系统自动完成得。
这里我们谈谈数据字典得组成:数据字典包括数据字典基表和数据字典视图,其中基表存储数据库得基本信息。普通用户不能直接访问数据库得基表信息,数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统信息,数据字典视图包括:user_xxx , all_xxx, dba_xxx三种类型
User_tables
用于显示当前用户所拥有得所有表,它只返回用户对应方案得所有 ...
导出
导出具体得分为:导出表,导出方案,导出数据库三中方式
导出使用exp命令来完成得,该命令常用得选项有:
userId:用于指定执行导出操作的用户名,口令,连接字符串
tables:用于执行导出操作得表
owner:用于执行导出操作得方案
full=y:用于指定执行导出操作得数据库
inctype:用于指定执行导出操作得增量类型
rows:用于指定执行导出操作是否要导出表中得数据
file:用于指定导出得文件名
导出表(注意:在导入和导出得时候要到oracle主目录的bin目录下)
(1)导出自己得表(可导出多个表)
Exp userid=scott/t ...
超级用户登录
用户管理
创建对象分配权限
Create user
liucunzhi identified by
root;
Grant resource to
liucunzhi;
Grant connect to
liucuzhi;
Connect
liucunzhi/root;
为对象分配表的权限
对象权限分为
select
update insert delete all
Grant select on
emp to
liucunzhi;
Select * from
sy ...
行为模式之命令模式(command)
- 博客分类:
- 设计模式
命令模式(Command)
1 场景问题
1.1 如何开机
估计有些朋友看到这个标题会非常奇怪,电脑装配好了,如何开机?不就是按下启动按钮就可以了吗?难道还有什么玄机不成。
对于使用电脑的客户——就是我们来说,开机确实很简单,按下启动按钮,然后耐心等待就可以了。但是当我们按下启动按钮过后呢?谁来处理?如何处理?都经历了怎样的过程,才让电脑真正的启动起来,供我们使用。
先一起来简单的认识一下电脑的启动过程,了解一下即可。
当我们按下启动按钮,电源开始向主板和其它设备供电
主板的系统BIOS(基本输入输出系统)开始加电后自检
主 ...
行为模式之解释器(interpreter)
- 博客分类:
- 设计模式
定义:
给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子
解释器模式是一个比较少用的模式。
解释器模式的结构
抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),接口中主要是一个interpret()方法,称为解释操作。具体解释任
务由它的各个实现类来完成,具体的解释器分别由终结符解释器TerminalExpression和非终结符解释器
NonterminalExpression完成。
终结符表达式:实现与文法中的元素相关联的解释操作,通常一个解释器模式中只有一个
终结符表达式,但有多个实例, ...
享元模式
享元模式
(英语:Flyweight Pattern)是一种软件设计模式
。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于当大量物件只是重复因而导致无法令人接受的使用大量内存。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。
享元模式
以共享的方式高效地支持大量的细粒度对象。享元对象能做到共享的关键
是区分内蕴状态
和外蕴状态
。
一个内蕴状态是存储在享元对象内部的,并且是不会随环境改变而有所不同的,因此,一个享元可以具有内 ...