摘要: 经过一段时间终于把分页完善了,可以实现JDBC分页(可以根据配置屏蔽不同的数据库之间的差异,并能对自动根据具体的数据库类型进行SQL优化),HIBERNATE2,和HIBERNATE3的分页,对内存中的数组进行分页,并且都支持快速的查询功能,不过hibernate分页的除外.使用HIBERNATE进行分页的时候,需要实现一个接口,将POJO转换成二维数组的形式.同时支持将已经读取到的数据在显示到表...
阅读全文
posted @
2006-02-16 10:09 snoics 阅读(2755) |
评论 (4) |
编辑 收藏
能实现整个网站的抓取,暂时还不支持javascript形式的连接
能抓取网页,网页中的所有的URL重新生成,图片,文件,包括所有格式的文件,全部都能保持原有的路径结构
抓取下的网页,通过apache搭建成网站,能在本地保持成一个完整的网站的形式
能直接使用,也能支持二次开发使用,不过暂时还会存在比较多的不完善的地方.
提供内置线程,能控制抓取操作执行的时间,循环执行
东西还不是很完善,欢迎大家提出意见
下载地址 http://www.blogjava.net/Files/snoics/snoics-reptile.rar
posted @
2006-02-10 09:20 snoics 阅读(2978) |
评论 (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 阅读(624) |
评论 (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 阅读(690) |
评论 (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 阅读(747) |
评论 (0) |
编辑 收藏
摘要: 今天写了一个简单的RMI程序一、开发工具 eclipse3.1 JDK1.4二、目录结构 E:\SHIWEI\STUDY\RMI│ .classpath│ .project│├─bin│ └─com│ └─sn...
阅读全文
posted @
2005-10-14 17:29 snoics 阅读(1652) |
评论 (0) |
编辑 收藏