- 博客(21)
- 收藏
- 关注
深度优先搜索算法
最近在看图论中遍历两点间的不同路径,找到深度优先搜索算法。先来记录下原本的算法方法1. 准备一个栈来存储临时数据2. 获得所有点之间的所有直接路径3. 将起始节点压入栈4. 从起始节点出发,找到第一个临节点5. 如果这个临节点就是结束点,就把这个节点压入栈,那么这个栈内元素就是一条路径6. 把结束点弹出,再继续寻找其他的结束节点,直到栈内没有...
2012-03-21 22:43:21
172
原创 yazd项目心得(七)
yazd的权限模式主要由Authorization和ForumPermissions来决定。 Authorization主要是代表一个授权,基本上如果用户登录了,那么就代表授权通过,所以Authorization主要就是由一个UserID来表示。 ForumPermissions代表了一组权限,它主要的精髓是一个数组,有boolean元素,true和false代表是否拥有某种权限,...
2012-03-12 23:16:01
147
apache基于ssl配置weblogic(完结篇)
眼睛基本已经无大碍。今天使用apache连接weblogic,并使用ssl,终于完成,最终选用的方式是前端使用apache来进行ssl处理,weblogic只负责相关的业务处理。在apache一边,载入mod_ssl.so、mod_rewrite.so和mod_wl.so,注意mod_wl.so的版本,之前就是因为版本不对导致了一些问题。建立80端口的虚拟主机,在虚拟主机中...
2012-03-06 22:40:33
422
原创 apache基于ssl配置weblogic(六)
依旧在害着眼病 今天有些突破,用apache的虚拟主机配置了443端口的https服务,和80端口一起发布,使用openssl制作的密钥和证书,现在静态文件都可以通过apache访问了。 问题是动态资源通过https时似乎没有委托到weblogic,明天还需要在看看。...
2012-03-01 22:05:06
169
原创 http和https
害了眼病,没什么可写的,在工作中遇到了一些问题,记录一下。 跨域访问可以通过<script>标签和<iframe>标签来解决部分问题。 使用Apache监听80和443端口,让weblogic开通7001和7002两个端口分别监听http和https,让apache用80映射weblogic的7001,用443映射weblogic的7002端口,是否可行?...
2012-02-29 22:06:47
107
原创 yazd项目心得(六)
今天继续看了yazd项目,这个jive论坛的前身,和当前流行的用spring框架写service,用持久框架写Dao的方式非常不同。最大的不同点感觉是,yazd项目的对象责任更加集中,在这里设计者可以充分发挥自己的抽象能力。 比如User对象中不只包括了属性,还包括了所有的行为,用户的权限,动作等操作。如果在spring框架中,属性和行为是相分离的,属性在entity对象中,行...
2012-02-28 20:25:24
144
原创 yazd项目心得(五)
7. yazd项目重要对象 Forum,Forum接口代表一个论坛,默认继承对象是DbForum。重要的接口方法有createThread,创建一个话题;createMessage,创建一条消息;遍历所有的话题,threads;创建一个查询,createQuery;对一个用户增加对当前论坛的权限,addUserPermission;激活过滤器,applyFilters F...
2012-02-27 23:41:58
137
原创 yazd项目心得(四)
6. Prototype模式 例子是yazd项目中过滤器的实现,其实又有点像装饰器模式。filter和过滤对象继承同一个接口,接收一个过滤对象,在方法中进行过滤处理,比如在FilterHtml继承ForumMessage,在构造函数内clone所有的过滤对象的属性,病在getBody方法中对Html内容进行特殊字符的转换等处理。...
2012-02-27 01:16:18
144
原创 apache基于ssl配置weblogic(五)
10. 生成证书后,将其配置到weblogic中,但是发现用浏览器访问依然不被信任,说证书是不被信任的证书。大概是生成的证书需要得到知名认证机构的签名。知名的CA有AddTrust、Entrust、GeoTrust、RSA Data Security、Thawte、VISA、ValiCert、Verisign、beTRUSTed。...
2012-02-26 00:19:36
164
原创 apache基于ssl配置weblogic(四)
8. 生成keystore文件keytool -genkey -v -alias [别名] -keyalg RSA -keysize 1024 -keypass [密码] -validity 365 -keystore [存放地址]9. 生成pem文件keytool -certreq -v -alias [别名] -file [pem地址] -keypass [密码] -st...
2012-02-24 23:35:15
133
apache基于ssl配置weblogic(三)
7. 使用struts2-ssl-plugin来拦截https请求 如果使用struts2作为web mvc框架,那么可以使用struts2-ssl-plugin来拦截ssl请求 其实就是封装了struts2拦截器,用于重定向https请求。 一开始认为需要在配置文件新建一个package用于定义ssl请求,其实大可不必,因为需要继承的ssl-default就继承了stru...
2012-02-23 20:50:08
195
apache基于ssl配置weblogic(二)
6. 使用mod_rewrite来重写URL, 将rewrite_module modules/mod_rewrite.so放开 在http.conf中新写入: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/test1/ http://localhost/test-web/test...
2012-02-21 23:10:29
202
apache基于ssl配置weblogic(一)
1. 安装weblogic10、apache2.22. 从oracle下载mod_wl.so3. 在http.conf中写: LoadModule weblogic_module modules/mod_wl.so <IfModule mod_weblogic.c> Include conf/Weblogic.conf ...
2012-02-21 00:38:29
186
怎样用css画出一个三角
使用css可以在网页上画出一个三角型和类似的图形,而不用image主要是利用css的border属性。1. 将某个div的width和height属性都设置为02. 将border-width设置成503. 将border-style设置成solid4. 将border-color设置成某一种颜色 4条边如果某3条边颜色设置成白色,那么就可以出...
2012-02-19 20:54:51
129
yazd项目心得(三)
5. 缓存机制yazd项目使用了简单的自定义缓存机制主要涉及到的接口、对象有:(1)Cacheable是所有可以放入缓存中的对象的统一接口,只有一个方法getSize()用于返回占用内存空间的字节数(2)Cache是缓存对象,成员变量中,使用一个hashmap来存储缓存对象,2个链表,分别来存储缓存对象存入的顺序和存入的时间,最大可容纳的字节数,每次加入新的缓存对象的时...
2012-02-19 01:57:44
169
yazd项目心得(二)
4. 迭代器模式 迭代器隐藏了对迭代过程的细节,在yazd项目中,有对forum等对象的迭代。首先有一个IteratorProxy抽象类定义了基本的迭代器的数据结构,这个结构中包含了权限和一个基本的Iterator。ForumIteratorProxy继承IteratorProxy,他实现了next迭代方法,其实就是对基本的Iterator的一个过滤,将有读权限的forum保存下来。...
2012-02-17 21:11:14
198
yazd项目心得(一)
yazd是Jive项目的前身,基本秉承了Jive的风格,虽然现在研究框架比较多,但是还是对原始的设计模式比较感兴趣,以下记录yazd的源码研究1. 使用抽象工厂模式yazd大量应该工厂模式,基本所有业务对象的创建都基于工厂模式,首先工厂本身也可以有多个实现类,如ForumFactory是个抽象类,默认的实现类是DbForumFactory,和传统设计模式相比,主要是具体实现类写在配置文...
2012-02-16 21:35:17
225
MyBatis运用心得(3)
[b]2.Dynamic SQL[/b] 动态sql是MyBaits的优点之一,在以往的IBatis就有动态sql,在此只是简要概述 在MyBatis中,sql的定义基于2中方式,一种是传统的XML文件,一种是Java的Mapper类生成 [b]1)基于Mapper的动态SQL:[/b] 此部分在"MyBatis运用心得(2)"中已经叙述,主要是利用SelectBuil...
2010-09-10 14:47:29
107
MyBatis运用心得(2)
1.重要的几个类(续) 6)Interceptor:在众多Configuration配置类中,Interceptor比较重要,可以进行AOP编程,拦截点主要在Executor(执行某些操作时)、ParameterHandler(获得参数时)、ResultSetHandler(处理结果集时)、StatementHandler(生成Statement时)。在以后的分页处理中会用到 ...
2010-09-04 11:07:16
121
JDBC下解决特殊字符的方式
刚刚解决了访问数据库的特殊字符的问题,重要的几点如下:1)尽量使用预处理查询,JDBC的预处理解决了大多数特殊字符的问题,较好的解决了SQL注入2)对于查询字符中带有%和_的,SQL语句中like的,一般会全部查出,如果要匹配%和_,应该加入ESCAPE,并在%前加入转义字符,如"\"匹配50%:[code="sql"]select * from A where A.data ...
2010-09-03 16:03:30
1510
MyBatis运用心得(1)
最近的小项目使用MyBatis作为持久层工具。就此参照官方文档,深入浅出地记录下来1.重要的几个类 1)SqlSession:执行数据库操作的具体类,应该是持有Connection连接,在MyBaits官方文档上说SqlSession是非线程安全的,需要为每一个线程建立一个新的SqlSession实例,它的作用域应该是基于Request或者方法级别的,不要将其设成静态的。SqlSes...
2010-08-31 21:36:27
105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人