JAVA—咖啡馆

——欢迎访问rogerfan的博客,常来《JAVA——咖啡馆》坐坐,喝杯浓香的咖啡,彼此探讨一下JAVA技术,交流工作经验,分享JAVA带来的快乐!本网站部分转载文章,如果有版权问题请与我联系。

BlogJava 首页 新随笔 联系 聚合 管理
  447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

07 2010 档案

     摘要: 其中 width 规定线条的长度,还可以是百分比;color 是颜色,size 当然就是厚度了。 align 规定线条位置,left、right、center。 noshade 是否有立体效果 <*HR align=center width=300 color=#00ffff noShade SIZE=1*>

两头渐变透明:



<*hr width=80% size=3 color=#00ffff style="FILTER: alpha(opacity=100,finishopacity=0,style=3)"*>


右边渐变透明:



<*hr width=80% size=3 color=#00ffff style="FILTER: alpha(opacity=100,finishopacity=0,style=1)"*>
  阅读全文
posted @ 2010-07-31 11:44 rogerfan 阅读(764) | 评论 (0)  编辑

     摘要: 个人经验

1.申请完护照后在花生壳网站上申请免费域名。 注册花生壳 得到免费域名并激活

2.路由器的设置

a.先登陆你的路由器管理界面(浏览器里输入192.168.1.1,默认的管理员用户名密码都是admin,只要你的路由器密码没有被修改过,就用这个登陆)

b.设置“虚拟服务器”

内容为:

服务端口:80,

ip地址:192.168.0.*(*就是你ip的最后一位),

协议:http

如果你还想添加ftp服务,那只需要再添加一个端口号为21的,其他设置和上面的 web的设置一样。然后就是保存

c.设置“DMZ主机”
启用DMZ主机,并且在DMZ主机ip地址里写你的地址。保存。


3.tomcat 在server.xml文件,
把端口号改为80,
  阅读全文
posted @ 2010-07-28 15:58 rogerfan 阅读(6233) | 评论 (1)  编辑

     摘要: spring security 2安全功能,添加用户验证码的实现,方案有3个:
方案1、由于AuthenticationProcessingFilter过滤器是拦截/j_spring_security_check地址,他的实现类里只读取的j_username和j_password,
没有读取其他的用户登陆信息,所以我就把验证码(code)在login.jsp页面和j_username拼装在一起,在UserDetailServiceImpl类UserDetails loadUserByUsername(String userName)
方法里对传进的userName进行拆分,分解出用户名和验证码,剩下的工作不用我详细说了。
方案2、继承AuthenticationProcessingFilter重写一下AuthenticationProcessingFilter类的实现类,该方案的缺点是对现有的spring security 2配置改动较大;
方案3(我推荐的),优点自己体会。
步骤1写过滤器,代码如下:
package com.s  阅读全文
posted @ 2010-07-23 16:38 rogerfan 阅读(1458) | 评论 (0)  编辑

     摘要: 1.HttpSessionContextIntegrationFilter




位于过滤器顶端,第一个起作用的过滤器。



用途一,在执行其他过滤器之前,率先判断用户的session中是否已经存在一个SecurityContext了。如果存在,就把SecurityContext拿出来,放到SecurityContextHolder中,供Spring Security的其他部分使用。如果不存在,就创建一个SecurityContext出来,还是放到SecurityContextHolder中,供Spring Security的其他部分使用。



用途二,在所有过滤器执行完毕后,清空SecurityContextHolder,因为SecurityContextHolder是基于ThreadLocal的,如果在操作完成后清空ThreadLocal,会受到服务器的线程池机制的影响。
  阅读全文
posted @ 2010-07-23 16:36 rogerfan 阅读(697) | 评论 (0)  编辑

     摘要: Eclipse IDE是目前Java开发人群中使用得最广泛的IDE。Eclipse有一大堆的插件(请看http://www.eclipseplugincentral.com/),无数的组织在它之上开发他们自己的软件。显然,Eclipse无处不在。m2Eclipse项目在Eclipse IDE中提供了对Maven的支持,本章,我们将会研究它提供的特性,以帮助你在Eclipse IDE中使用Maven。

m2eclipse插件(http://m2eclipse.codehaus.org/)为Eclipse提供了Maven的集成。m2Eclipse同时也以挂钩的方式连接了Subclipse插件(http://subclipse.tigris.org/)和Mylyn插件(http://www.eclipse.org/mylyn/)的特性。Subclipse插件为m2eclipse提供了与Subversion仓库交互的能力,Mylyn插件为m2eclipse提供了与任务集中接口交互的能力,该接口能跟踪开发过程的上下文。m2clipse提供的一些特性包括:

创  阅读全文
posted @ 2010-07-14 19:50 rogerfan 阅读(5801) | 评论 (0)  编辑

     摘要: 今天中午接到阿里巴巴的电话面试,电面了将近一个小时左右。感觉自己发挥得并不好,好多基础的只是还是一知半解的, 虽然看过一些东西的源代码,但是,很多东西,也只是限看过而且,但是一到用的时候,或者被问到的时候, 却突然失忆……, 这里记录一下今天问到的问题。给自己长长记性。
================================================



PS 凭着记忆来把他问的问题整理一下,并列出来,准备一一理解清楚



最开始的几个问题我现在已经记不清楚了, 估计当时紧张了。



===================================================



你对Java的集合框架了解吗? 能否说说常用的类?



说说Hashtable与HashMap的区别: 源代码级别的区别呢?



平时用过的Li  阅读全文
posted @ 2010-07-14 10:55 rogerfan 阅读(883) | 评论 (0)  编辑

     摘要: 附:cronExpression表达式解释:
0 0 12 * * ?---------------在每天中午12:00触发
0 15 10 ? * *---------------每天上午10:15 触发
0 15 10 * * ?---------------每天上午10:15 触发
0 15 10 * * ? *---------------每天上午10:15 触发
0 15 10 * * ? 2005---------------在2005年中的每天上午10:15 触发
0 * 14 * * ?---------------每天在下午2:00至2:59之间每分钟触发一次
0 0/5 14 * * ?---------------每天在下午2:00至2:59之间每5分钟触发一次
0 0/5 14,18 * * ?---------------每天在下午2:00至2:59和6:00至6:59之间的每5分钟触发一次
0 0-5 14 * * ?---------------每天在下午2:00至2:  阅读全文
posted @ 2010-07-14 10:03 rogerfan 阅读(819) | 评论 (1)  编辑

posted @ 2010-07-13 10:23 rogerfan 阅读(428) | 评论 (0)  编辑

     摘要: dwr.xml是DWR的配置文件。默认情况下,应该把它放到WEB-INF目录(web.xml的目录)下

创建dwr.xml文件
dwr.xml文件的结构如下:

阅读全文
posted @ 2010-07-11 19:18 rogerfan 阅读(1570) | 评论 (0)  编辑

     摘要: DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码。它的实现是基于ajax的,可以实现无刷新效果。

网上有不少DWR的例子,但大都只是某种方法的调用,本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。

本文以DWR 1.1 为基础,对于DWR 2.0,因为还没有正式发布版,故不做介绍。

一、dwr配置篇之web.xml

1、最小配置
  阅读全文
posted @ 2010-07-11 19:17 rogerfan 阅读(566) | 评论 (0)  编辑

     摘要: 我的试验主要包括4种:
1.回传一个普通的String字符串.
2.回传一个组织好的Javascript字符串.
3.回传一个Json对象.(需要引入json.jar)
4.回传一个XML对象.
基本实现如下:
其中测试页面为:  阅读全文
posted @ 2010-07-11 19:06 rogerfan 阅读(1551) | 评论 (0)  编辑

     摘要: 一、使用校验规则创建Person-validation.xml文件


为了利用WebWork校验框架实现数据校验有两件事情要做,第一是创建一个validation.xml文件,第二是在需要进行校验的action中加入一个校验interceptor引用。

WebWork允许两种类型的校验 —— per-action和model-based。因为所有的Action对Person引用都要使用相同的校验规则,所以本文将使用model-based类型的校验。

在src/dao/**/model目录下创建Person-validation.xml文件并加入下列内容:
  阅读全文
posted @ 2010-07-11 18:46 rogerfan 阅读(368) | 评论 (0)  编辑

     摘要: 准备工作

  首先先下载Windows版本的SVN服务器(各位都会使用搜索引擎所以就不提供下载地址了),这里我以svn-win32-1.4.3的ZIP解压缩版为例,将其解压缩到目标目录,例如我是解压到D盘下的Subversion目录,把D:\Subversion\bin加到系统环境变量,如果你的解压位置与我不同,那么请按照你的实际路径设置环境变量。

第一步:创建SVN数据库

  打开Windows命令提示符,执行命令svnadmin create F:\SVN,svnadmin create是创建SVN数据库的命令,F:\SVN是你的SVN数据库位置,这里我只是举个例子,你可以自己决定SVN数据库位置,执行完以上命令后就会在F盘下多出一个SVN目录,里面有若干目录和文件,conf目录是用来存放权限配置的,后面会详细说明,dav目录用来提供给apache和mod_dav_svn存储内部数据,db目录是所有版本控制的数据文件,hooks目录用来放置hook脚本文件,locks目录存放Subversion文件库锁定数据,用来追踪存取  阅读全文
posted @ 2010-07-09 09:02 rogerfan 阅读(655) | 评论 (0)  编辑

     摘要: 对比版本
Release 10.2.0.1.0 XE windowsXP
5.0.45-community-nt-log MySQL Community Edition (GPL)

当作计算器
SQL> select 1+1 from dual;
mysql> select 1+1;

mysql> select 1+1 from dual;

显示表结构
SQL> desc 表名
mysql> desc 表名;

SQL> describe 表名
mysql> describe 表名;

mysql> explain 表名;

注意:explain 也可以用来获取执行计划。

需要访问:

User_tables、user_tab_cols、USER_COL_COMMENTS、USER_INDEXES等等字典表。
mysql> show columns fro  阅读全文
posted @ 2010-07-08 15:40 rogerfan 阅读(1514) | 评论 (0)  编辑

     摘要: 需要的软件:

1.apache 2.2.11 (此下载地址被墙,翻*墙可下载,其他版本的Apache可以在这里找到 http://archive.apache.org/dist/httpd/binaries/win32/)

2.Subversion 1.6.5

3.TortoiseSVN 1.6.8

4.TortoiseSVN 1.6.8 中文语言包



安装方法:



1.先安装apache ,没有什么特别的,这里就按照默认安装路径 C:/Program Files (x86)/Apache Software Foundation/Apache2.2/



2.安装Subversion 也按默认路径安装 C:\Program Files (x86)\Subversion
  阅读全文
posted @ 2010-07-06 11:13 rogerfan 阅读(742) | 评论 (0)  编辑

     摘要: maxRequests
同时执行 SQL 语句的最大线程数。大于这个值的线程将阻塞直到另一个线程执行完成。不同的 DBMS有不同的限制值,但任何数据库都有这些限制。通常这个值应该至少是maxTransactions(参见以下)的 10 倍,并且总是大于 maxSessions 和maxTranactions。减小这个参数值通常能提高性能。

例如:maxRequests=“256”
缺省值:512

maxSessions
同一时间内活动的最大 session 数。一个 session 可以maxSessions是代码请求的显式 session,也可以是当线程使用SqlMapClient 实例(即执行一条语句)自动获得的session。它应该总是大于或等于 maxTransactions 并小于 maxRequests。减小这个参数值通常能减少内存使用。

例如:maxSessions=“64”
缺省值:128  阅读全文
posted @ 2010-07-01 11:21 rogerfan 阅读(2061) | 评论 (0)  编辑