`
文章列表
/** * 智能提示公共方法: * * 使用步骤: *       将JS 引入对应的页面 *       要查询的使用方法如下:         <input  name="searchData" id="searchData" type="text" class="input_search_p"  onblur=" ...
一此不安全的做法: 1. new File(path),这个方法的路径到底在那里取决于调用java命令的起始位置定义在哪里, tomcat/bin下面的catalina.bat调用了java,所以在tomcat下相对起始位置是tomcat/bin,但是eclipse启动时,起始位置 是eclipse的项目路径。 2.类.class.getClassLoader().getResource("").getPath() 如果使用了此方法,这把决定权交给了类加载器,例如tomcat的类加载是非委托机制的,而weblogic的类加载是委托的。大部分情况下是安全的。 3. ...
 Sql代码   select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid   通过根节点遍历子节点.   Sql代码   select * from persons.dept start with paredeptid=0 connect by prior deptid=paredeptid   可通过level 关键字查询所在层次.   Sql代码   select a.*,level from persons.dept a start with paredeptid=0 ...
EXTJS+DWR+SPRING+Hibernate的项目中: 在脱离struts和servlet的情况下,往往对用户状态捕获显的束手无策,但查看相关资料后,发觉dwr中自带了获取Session的方法。       WebContext wc = WebContextFactory.get();       HttpSession session = wc.getSession(); 其中的WebContext 还有WebContextFactory这两个家伙,就是放在DWR.jar包的org.directwebremoting目录下面
使用DWR做Remote,完全绕过传统的MVC框架,如Struts、Webwork,单用一个DWRServlet来做控制器。DWR向客户端 暴露了服务端的服务接口,很有可能有没有任何限制的情况下被客户端调用所暴露的接口。如果使用传统的MVC框架,可以很方便地解决很多问题诸如身份验证、 权限控制等。而DWR提供的功能是给客户端暴露服务接口。上面所涉及的问题却少有牵涉。不过,解决方案还是有的。其中之一就是使用AOP,自已实现一些拦 截功能,例如结合Spring,使用DWR的Spring整合功能,给客户端提供一个Spring的Bean,而这个Bean是经过代理的 (Proxy)。实际上已经保证了身份认 ...
tomcat 使用memcache 实现 session共享web server jar 包: 1.memcached-session-manager-1.3.6.jar 2.memcached-2.5.jar.jar 3.msm-javolution-serializer-1.3.6.jar 4.javolution-5.4.3.1.jar 5.msm-javolution-serializer-cglib-1.3.0.jar 6.msm-javolution-serializer-jodatime-1.3.0.jar 放到  %TOMCAT_HOME%/lib/中 然后 ...
一、java I/O介绍        在操作系统操作中,有可能要读写一个文件,访问控制台,并在网络创建连接。在操作这些文件、控制台、网络的时候,采用的方式可能是顺序的、随机的、缓存的、二进制的、字符方式的、行的或者是字的。这里我们称文件、控制台、网络连接等就是I/O的源和目的;称缓存的、二进制的等为操作方式。这么多的源和目的,以及在这些源和目的上进行这么多复杂的操作,那么什么样的方案才能让这些源和目的之间能进行和管理交互呢?    java I/O 主要设计目标就是让客户端的Java程序不必知道最终的流源,流汇是磁盘上的文件还是数组等;也不必关心数据是否经过缓冲的,可否按照行号读取等处理的细 ...
ClassLoader 当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:        bootstrap classloader                 |        extension classloader                 |        system classloader bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。在Sun的JVM中,在执行java的命令中使用-Xbootclasspath选项或使用- D选项指定sun.boot.class.path系统属性值 ...
Struts2的工作机制   上图可以看出,一个请求在Struts2框架中的处理大概分为以下几个步骤:   1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;   2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);   3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;   4、如果ActionMapper决 ...
在java语中GC   即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。   垃 ...
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用的开发人员不需要直接同类加载器进行交互。Java 虚拟机默认的行为就已经足够满足大多数情况的需求了。不过如果遇到了需要与类加载器进行交互的情况,而对类加载器的机制又不是很了解的话,就很容易花大量的时间去 ...
集合:Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。 当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而Arra ...
封装性是面向对象程序设计的原则之一。保持良好的封装性需要在关注的程度和内存的消耗两方面付出代价。 克隆集合 返回对象的集合会使良好的封装性出现更多的问题。不论你是否在Collections API中使用legacy Hashtable和Vector对象 ...
State模式的定义: 不同的状态,不同的行为;或者说,每个状态有着相应的行为.何时使用? State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了.不只是根据状态,也有根据属性.如果某个对象的属性不同,对象的行为就不一样,这点在数据库系统中出现频率比较高,我们经常会在一个数据表的尾部,加上property属性含义的字段,用以标识记录中一些特殊性质的记录,这种属性的改变(切换)又是随时可能发生的,就有可能要使用State.是否使用?在实际 ...
类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形。由这些基本的图形进行组合构成了类图的基本符号。这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程度。越向右耦合度越高。 其中虚线+箭头是表示即依赖的关系,实线+箭头表示关联的关系,虚线+空心右三角表示implements,实线+空心右三角表示的是泛化,即类的继承关系。实线+空心菱形表示的是聚合的关系,实线+实心菱形则表示组合的关系。 另外一点是在看类图的时候要注意。类图的思想其实也还没有脱离面向对象的思想,以某个类为中心,有些线是射入的而有些线是射出的。射入的线表示的是这个类被哪些类所调用而射出的线则表 ...
Global site tag (gtag.js) - Google Analytics