摘要: 经过一段时间终于把分页完善了,可以实现JDBC分页(可以根据配置屏蔽不同的数据库之间的差异,并能对自动根据具体的数据库类型进行SQL优化),HIBERNATE2,和HIBERNATE3的分页,对内存中的数组进行分页,并且都支持快速的查询功能,不过hibernate分页的除外.使用HIBERNATE进行分页的时候,需要实现一个接口,将POJO转换成二维数组的形式.同时支持将已经读取到的数据在显示到表...
阅读全文
posted @
2006-02-16 10:09 snoics 阅读(2762) |
评论 (4) |
编辑 收藏
能实现整个网站的抓取,暂时还不支持javascript形式的连接
能抓取网页,网页中的所有的URL重新生成,图片,文件,包括所有格式的文件,全部都能保持原有的路径结构
抓取下的网页,通过apache搭建成网站,能在本地保持成一个完整的网站的形式
能直接使用,也能支持二次开发使用,不过暂时还会存在比较多的不完善的地方.
提供内置线程,能控制抓取操作执行的时间,循环执行
东西还不是很完善,欢迎大家提出意见
下载地址 http://www.blogjava.net/Files/snoics/snoics-reptile.rar
posted @
2006-02-10 09:20 snoics 阅读(2982) |
评论 (11) |
编辑 收藏
首先配置摸板
<!-- 代理模板 -->
<bean id="txProxy" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="transactionManager"><ref local="transactionManager"/></property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
摸板配置好以后,每次要添加一个新的代理,只需要类似下面这样添加
<bean id="servicerProxy" parent="txProxy">
<property name="target">
<ref local="serviceTarget"/>
</property>
</bean>
从而大大简化了代理的配置
posted @
2005-12-13 10:25 snoics 阅读(630) |
评论 (0) |
编辑 收藏
--角色继承关系表
create table SNOICS_RI (
RI_PARE_ROLEID VARCHAR2(32) not null,
RI_CHILD_ROLEID VARCHAR2(32) not null,
constraint PK_SNOICS_RI primary key (RI_PARE_ROLEID, RI_CHILD_ROLEID)
);
--角色表
create table SNOICS_ROLE (
ROLE_ID VARCHAR2(32) not null,
ROLE_NAME VARCHAR2(32) not null,
ROLE_FORBID VARCHAR2(1),
ROLE_DESCRIPT VARCHAR2(500),
constraint PK_SNOICS_ROLE primary key (ROLE_ID)
);
角色资料存放在SNOICS_ROLE中
角色之间可以继承,而且可以多重继承,
角色的继承关系存放在SNOICS_RI
可以使用SNOICS_ROLE自己到自己的多对多的关系来进行配置
-----------------------------------------------------------------------------------------------------
POJO:
package com.snoics.cmp.security.dao.spring.hibernate.pojo;
import java.io.Serializable;
import java.util.Set;
public class RolePOJO implements Serializable {
private static final long serialVersionUID = -4776193447586778294L;
private String roleid;
private String rolename;
private String roleforbid;
private String roledescript;
private Set user;
private Set rolePermission;
private Set roleP;
private Set roleC;
/**
* @return Returns the roleC.
*/
public Set getRoleC() {
return roleC;
}
/**
* @param roleC The roleC to set.
*/
public void setRoleC(Set roleC) {
this.roleC = roleC;
}
/**
* @return Returns the roleP.
*/
public Set getRoleP() {
return roleP;
}
/**
* @param roleP The roleP to set.
*/
public void setRoleP(Set roleP) {
this.roleP = roleP;
}
/**
* @return Returns the rolePermission.
*/
public Set getRolePermission() {
return rolePermission;
}
/**
* @param rolePermission The rolePermission to set.
*/
public void setRolePermission(Set rolePermission) {
this.rolePermission = rolePermission;
}
/**
* @return Returns the user.
*/
public Set getUser() {
return user;
}
/**
* @param user The user to set.
*/
public void setUser(Set user) {
this.user = user;
}
/**
* @return Returns the roledescript.
*/
public String getRoledescript() {
return roledescript;
}
/**
* @param roledescript The roledescript to set.
*/
public void setRoledescript(String roledescript) {
this.roledescript = roledescript;
}
/**
* @return Returns the roleforbid.
*/
public String getRoleforbid() {
return roleforbid;
}
/**
* @param roleforbid The roleforbid to set.
*/
public void setRoleforbid(String roleforbid) {
this.roleforbid = roleforbid;
}
/**
* @return Returns the roleid.
*/
public String getRoleid() {
return roleid;
}
/**
* @param roleid The roleid to set.
*/
public void setRoleid(String roleid) {
this.roleid = roleid;
}
/**
* @return Returns the rolename.
*/
public String getRolename() {
return rolename;
}
/**
* @param rolename The rolename to set.
*/
public void setRolename(String rolename) {
this.rolename = rolename;
}
}
-----------------------------------------------------------------------------------------------------
role.hbm.xml中的继承关系部分的配置
<set name="roleP" table="SNOICS_RI" cascade="all" inverse="false" lazy="true">
<key column="RI_CHILD_ROLEID"/>
<many-to-many column="RI_PARE_ROLEID" class="com.snoics.cmp.security.dao.spring.hibernate.pojo.RolePOJO"/>
</set>
<set name="roleC" table="SNOICS_RI" cascade="all" inverse="false" lazy="true">
<key column="RI_PARE_ROLEID"/>
<many-to-many column="RI_CHILD_ROLEID" class="com.snoics.cmp.security.dao.spring.hibernate.pojo.RolePOJO"/>
</set>
posted @
2005-12-12 16:28 snoics 阅读(695) |
评论 (1) |
编辑 收藏
1
/** *//**
2
* 取得当前执行程序使用的classpath
3
* @author snoics
4
* @param theclass Class
5
* @param path "" or "/"
6
* @param encoding 如果encoding==null将默认使用utf-8进行解码
7
* @return String
8
*/
9
public static String getRealPath(Class theclass,String path,String encoding)
{
10
String realpath="";
11
if(encoding==null)
{
12
encoding="utf-8";
13
}
//如果path==null则把它设置为""
14
path=getString(path);
15
if(path.equals(""))
{
16
path="/";
17
}
18
String jarflag="";
19
String classflag="";
20
21
String window_jarflag="jar:file:/";
22
String window_classfalg="file:/";
23
24
String other_jarflag="jar:file:";
25
String other_classflag="file:";
26
27
String endstring="!";
28
String systemtype="";
29
30
String systemtype_windows="WINDOWS";
31
32
String pachnamestringendstring="package ";
33
34
String packagestring=theclass.getPackage().toString();
35
36
packagestring=packagestring.substring(pachnamestringendstring.length());
37
packagestring=getSpecialReplaceString(packagestring,".","/");
38
39
String packagestringtemp=packagestring+"/";
40
41
realpath=theclass.getResource(path).toString();
42
try
{
43
realpath=URLDecoder.decode(realpath,encoding);
44
}catch(Exception e)
{
45
e.printStackTrace() ;
46
}
47
48
systemtype=System.getProperty("os.name").toUpperCase().trim();
49
50
if(systemtype.startsWith(systemtype_windows))
{
51
jarflag=window_jarflag;
52
classflag=window_classfalg;
53
}else
{
54
jarflag=other_jarflag;
55
classflag=other_classflag;
56
}
57
58
if(realpath.length()>=jarflag.length())
{
59
String flagstring="";
60
flagstring=realpath.substring(0,jarflag.length());
61
if(!flagstring.equals(jarflag))
{
62
flagstring=realpath.substring(0,classflag.length());
63
}
64
if(flagstring.equals(jarflag))
{
65
realpath=realpath.substring(jarflag.length());
//取得realpath中从开始到最后一个endstring字符串之前的
66
realpath=StringClass.getPreString(realpath,endstring);
//取得realpath中从开始到最后一个"/"字符串之前的
67
realpath=StringClass.getPreString(realpath,"/")+"/";
68
}else
{
69
realpath=realpath.substring(classflag.length());
70
if(realpath.length()>packagestringtemp.length())
{
71
String subrelapath=realpath.substring(realpath.length()-packagestringtemp.length());
72
if(subrelapath.equals(packagestringtemp))
{
//取得realpath中从开始到最后一个packagestring字符串之前的
73
realpath=StringClass.getPreString(realpath,packagestring);
74
}
75
}
76
}
77
}else if((realpath.length()>=classflag.length())&&(realpath.length()<jarflag.length()))
{
78
realpath=realpath.substring(classflag.length());
79
if(realpath.length()>packagestringtemp.length())
{
80
String subrelapath=realpath.substring(realpath.length()-packagestringtemp.length());
81
if(subrelapath.equals(packagestringtemp))
{
//取得realpath中从开始到最后一个packagestring字符串之前的
82
realpath=StringClass.getPreString(realpath,packagestring);
83
}
84
}
85
}
//返回经过格式化的路径,把"\"全部替换为"/"
86
return StringClass.getFormatPath(realpath);
87
}
88
posted @
2005-11-11 09:06 snoics 阅读(752) |
评论 (0) |
编辑 收藏
摘要: 今天写了一个简单的RMI程序一、开发工具 eclipse3.1 JDK1.4二、目录结构 E:\SHIWEI\STUDY\RMI│ .classpath│ .project│├─bin│ └─com│ └─sn...
阅读全文
posted @
2005-10-14 17:29 snoics 阅读(1663) |
评论 (0) |
编辑 收藏