随笔-26  评论-111  文章-19  trackbacks-0
 
     摘要: 经过一段时间终于把分页完善了,可以实现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)编辑 收藏
仅列出标题
共2页: 上一页 1 2