- 博客(35)
- 资源 (3)
- 收藏
- 关注
原创 schema命名空间介绍
Schema是用于描述和规范XML文档的逻辑结构的一种语言,它最大的作用就是验证XML文件逻辑结构的正确性。可以理解成与DTD(文档类型定义)功能差不多,但是Schema在当前的WEB开发环境下优越很多。因为它本身就是一个有效的XML文档,因而可以更直观地了解XML的结构。除此之外,Schema支持命名空间,内置多种简单和复杂的数据类型,并支持自定义数据类型。由于存在这么多的优点,所以Schema
2017-03-30 21:25:44
4407
原创 DTD文件
DTD,文档类型定义,它的作用是定义XML文档的合法构建模块,我们可以根据需要扩展自己的dtd,以满足对xml对需求。 上图就是dtd文件的定义规范,主要定义元素,定义属性,但是有一个问题,就是元素的定义不能有相同的名字,比如在person中name元素,那么在其他的元素中就不能再定义name元素啦。 上图就是根据persons.d
2017-03-30 21:02:39
412
原创 SOA的理解
一、SOA简介 SOA(Service-Orientated Architecture)面向服务的体系结构,它将应用程序的不同功能单元(又称为服务)通过服务之间定义良好的接口和契约联系起来,接口是采用中立的方式实现的,即接口的实现不依赖与硬件平台、软件系统和编程语言。这使得各个不同的系统可以通过统一的、通用的方式进行交互,而不用管各个系统的架构(如数据传输方
2017-03-30 14:04:27
829
1
原创 代码优先和契约优先
webservice开发主要包括代码优先和契约优先,代码优先是服务提供者把服务公开,通过接口服务生成相应的wsdl,也就是先写出相应的接口,其他系统根据这个接口来调用。wsdl就是所谓的契约,契约优先正好相反,契约优先是首先定义一个wsdl规范(手动写一个wsdl文件),然后系统之间的调用通过这个契约规范来开发。 代码优先首先把接口给定死了,不利于以后的扩展,而契约优先是在
2017-03-29 20:59:59
725
原创 wsimport的使用
上次我们讨论了webservice的概念以及soap、wsdl、uddi,以及webservice的工作原理,并拿代码示例进行了讲解。但是有一个问题,就是webservice的接口服务和访问接口服务的测试类都是在同一个项目下写的,可在实际应用中,服务器端和客户端不是一定在一起的,然后也不一定在同一个项目中,所以这时候IMyService就不能实现啦,因为你此时只有服务器端的wsdl信息,不
2017-03-29 15:27:38
621
原创 webservice初识
一、webservice简介 webservice能够实现不同编程语言之间的相互访问,java、.Net、perl、PHP等。 cxf、axis、metro都帮助我们实现了webservice,java本身也给我们提供了实现webservice的技术--JAX-WS。二、webservice创建的过程1)提供的接口2)
2017-03-28 21:18:10
339
原创 Lucene几个分词技术的比较
一、分词器简单介绍 Lucene的分词技术很多,我下面介绍集中常用的分词技术。1) 标准分词技术(StandardAnalyzer):标准分词技术对英文来说是不错的,把单词分成一个一个的词根,但是对于中文来说,只是简单的把中文分成一个一个的汉字。2)IK中文分词器(IKAnalyzer):结合词典分词和文法分析算法的中文分词技术,能够对词典进行扩展,是一个很好
2017-03-28 16:10:37
5370
原创 nginx初识
nginx是一款轻量级的网页服务器、反向代理服务器和电子邮件代理服务器。一、nginx服务器与其他服务器的比较 首先说IIS服务器,IIS服务器只能在WINDOWS系统上运行,windows服务器的性能相比于Linux一类的服务器较低。其次说tomcat服务器,tomcat服务器面向的是java语言,且tomcat服务器是重量级服务器,而nginx服务器是轻量级的。再一
2017-03-27 15:15:53
589
原创 策略模式
策略模式定义了一系列的算法,将每一个算法封装到具有共同接口的实现类中,并且使他们可以互为替换。策略模式主要有三个角色组成。1)抽象策略角色:策略类,通常由一个接口或者抽象类实现。2)具体策略角色:包装了相关的算法和行为3)环境角色:持有策略类的引用 下面引入大话设计模式中的加减乘除例子来具体讲解:抽象策略角色:public interface Operati
2017-03-22 18:10:16
234
原创 状态模式
状态模式允许一个对象在其内部状态改变时改变其行为的模式,然后这个对象看起来似乎修改了他的类。状态模式也可以通过简单的if-else语句来穷举出所有的情况,但是如果碰到复杂的情况,简单的if-else语句就显得有点力不从心啦,如果需要增加新的状态,那么需要就要做大量的修改,这个时候能够修改自身的状态模式就显得特别重要啦。 状态模式所涉及到的角色有:1)环境(Context)
2017-03-22 15:01:45
388
原创 单例模式
单例模式是一种非常常见的设计模式,线程池、打印机、缓存、日志对象等都会设计成单例模式。单例模式有以下几个特点:1)单例类只能有一个实例2)单例类必须自己创建自己的实例3)单例类必须给其他所有对象提供这一实例一、懒汉式单例模式public class Singleton{private Singleton(){}private static Singleton singl
2017-03-22 11:52:48
398
原创 java设计模式--组合模式
组合模式就是将对象组合成树状结构,主要由抽象组件类或者接口、组合组件以及叶子组件组成。1. 抽象组件类(也可以用接口来实现)package demo.design.zuhe;//抽象组件类或接口public abstract class Component { protected String name; public Component(String s){
2017-03-17 16:21:22
331
原创 java设计模式--观察者模式
1、抽象观察者介绍 观察者模式定义了一种对象间的一对多的依赖关系,即每当一个对象状态改变时,所依赖于他的所有对象都要被通知并自动更新。观察者模式的组成部分包括:1)抽象观察者角色:为那些在目标发生改变时需要获得通知的对象提供一个接口2)具体观察者角色:存储有关状态,这些状态应该与目标状态保持一致3)抽象目标角色:目标角色知道它的观察者,可以有任意多个观察
2017-03-16 16:51:24
244
原创 java设计模式--抽象工厂模式
抽象工厂模式1)定义抽象工厂类public abstract class AbstractFactory { public abstract Vehicle createVehicle(); public abstract Weapon createWeapon(); public abstract Food createFood();}2)具体工
2017-03-15 17:24:40
302
原创 java设计模式--工厂方法模式
工厂模式是java比较重要的模式之一,工厂模式又可以分为简单工厂模式、工厂方法模式和抽象工厂模式,在有些书中也把简单工厂模式归类为工厂方法模式。下面我通过我的学习来对他们进行一个总结。1. 简单工厂模式 简单工厂模式有三种角色组成:抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。具体产品角色:工厂类所创建的对象就是此角色
2017-03-15 15:35:53
252
原创 java注解
1. 简单介绍java注解 注解是在JDK5以后引入的,注解其实就是一种标记,用来修饰编程元素(包,类,构造方法,方法,成语变量,成员参数)。 注解包括元注解和普通注解,元注解也就是修饰注解的注解。元注解主要有 修饰生命周期的(@Retention)、修饰目标的注解(@Target)、Documented、Inherited。修饰生命周期的注解主要包括:jav
2017-03-15 12:48:41
263
原创 java的垃圾回收器
java分配对象的方式:每分配一个对象,堆指针就会往前走一个单元,不用去管销毁对象的过程,每当内存不够用或者低于某个我们配置的值时,java才会启动垃圾回收机制。所以对象的存储空间的分配是相对快的。 java垃圾回收器就是要回收这些无用的对象的。那么怎么才能判断某个对象无用需要被回收了呢? 答案就是当堆栈或者静态存储区没有对这个对象的引用时,这个对象就
2017-03-09 09:51:26
450
原创 this关键字用法
1. this关键字代表本类,表示当前对象的引用2. this表示类的成员变量,而不是方法的局部变量3.this还可以用来调用本类的构造方法
2017-03-09 09:50:37
543
原创 java序列化和反序列化
序列化:将对象转化为字节序列(流)反序列化:将字节序列(流)转化为对象1.为什么要将对象序列化 a. 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中 b. 在网络上传送对象的字节序列 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户
2017-03-09 09:48:41
237
原创 java配置dbcp连接池
1.通过读取项目路径下的properties文件2.代码中配置3.BasicDataSource生成dbcp连接池用户在new 一个BasicDataSource时,并未真正建立连接池,建立连接是在用户首次使用getConnection获取连接时发生。getConnection调用CreateDataSouce获取DataSource,其用synchronized修
2017-03-09 09:45:40
411
原创 IE浏览器中navigator.cookieEnabled始终是true的问题解决方案
最近项目中使用了用cookie验证登录另一个系统的权限,然后需要先检测cookie是否被禁用,用navigator.cookieEnabled的方法来检测,发现用谷歌和火狐浏览器都正常,用IE11浏览器结果都为true,研究了很久,最后发现是访问地址中不能用localhost,把localhost改为自己的IP地址则验证通过。
2017-03-09 09:43:26
1099
原创 json问题
今天在开发中想把封装的一个对象转换为json格式传到前台,结果在用JSONObject.fromObject转换的时候报错,通过debug发现对象中的formId的值为空,所以就以为是值为空造成的,用jsonConfig来过滤以及用反射来循环对象赋值都没有解决。 最后看了下封装的的源码:是这样的,就开始想通过JSONObject类转换成json的时候空值是不
2017-03-09 09:39:16
298
原创 tamcat多个应用实现session共享
由于项目需要一个应用访问另一个应用进行权限验证,所以研究了一下session共享,session共享能够使得一个应用系统访问另一个应用系统。 在一个tomcat中部署两个应用,设置crossContext = true,让两个应用可以在tomcat中交叉使用上下文环境。server.xml 然后用其中一个应用系统去访问另一
2017-03-09 09:36:43
364
原创 java反射机制--个人总结
Java反射机制的核心就是允许在运行时通过java reflectionAPI获得该类的相关信息。众所周知,java是面向对象的语言,她有一个class类,想要使用java反射,必须首相获得class类的对象信息。下面举例:class类获得class类获得class类的信息Method的invoke方法的使用
2017-03-09 09:35:24
261
原创 js函数回调
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed. 这是js里面的解释。意思是“回调是一个函数作为参数传递给另一个函数,其主函数完成后执行”。下面举一个简单的实例代码如
2017-03-09 09:25:12
344
原创 jsp/servlet个人总结
工作差不多有一年时间啦,但是至今不明白servlet的用处和在什么地方用。今天趁着午休的时间,研究了一下。 jsp也就是特殊的servlet,之所以要jsp,是因为:1. jsp可以和html代码直接糅合在一起,方便界面编程,而servlet只能用writer之类的来输出html代码,如2. jsp内置了许多servlet经常设计的变量,如session、out等相对较
2017-03-09 09:21:16
1185
原创 Java动态代理--jdk动态代理(初识)
前些时候了解了代理模式,代理模式允许我们帮助一个对象去访问另一个对象。但是他有一个缺点就是代理类所实现的接口和所代理的方法都被固定,那么如果要为不同的类提供代理,就需要增加新的代理类,这将导致系统中类的数量急剧增加,上面这种方式也称为静态代理。下面来介绍下动态代理,动态代理可以让系统根据需要来动态创建代理类,让同一个代理类能够代理多个不同的类。java动态代理包括jdk动态代理和cglig动态代理
2017-03-08 17:28:42
448
原创 设计模式----代理模式
即Proxy Pattern,23种java常用设计模式之一。代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。顾名思义,代理模式的意思就是,在一个对象不能或者不想直接访问另一个对象的时候,代理对象起到一个中介的作用帮助去访问另一个对象。代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 下面首先给出两个代理模式的示例:
2017-03-08 17:26:21
340
原创 java之拦截器
java里的拦截器是动态拦截action的web请求,而过滤器能够进行系统级别的过滤,即能够过滤所有的web请求。从这可以看出拦截器是有一定的局限性的。拦截器是基于jdk实现的动态代理,拦截器是动态拦截action调用的对象,拦截器可以使得在action执行前后执行一段代码,也可以在action执行前阻止其执行,而且它还能提取action可重用部分代码。在AOP中,拦截器在某个方法或者字段执行前进
2017-03-08 17:21:57
710
原创 java之监听器
监听器就是实现特定接口的java程序,一共有八个接口,分别是1.ServletContextListener:在Container加载web应用程序时执行contextInitialized方法,在移除web应用程序时,执行contextDestroyed方法。2.HttpSessionListener:在session对象建立或被消灭是执行相应的方法sessionCreated或者ses
2017-03-08 17:20:28
671
原创 java之过滤器
javaWeb的过滤器(Filter),是servlet中非常有意义的技术之一,开发人员通过Filter技术可以对web服务器管理的所有web资源(包括jsp,servlet,静态图片文件或者静态html文件等)进行拦截,并实现一些特殊的功能,如权限控制、统一设置编码、过滤敏感词汇等。 servlet Api中提供了一个Filter接口,如果某个java类实现了这个接口,则就把这个
2017-03-08 17:16:16
463
原创 wx.request在任何情况下都执行fail函数
wx.request要求SSL版本使用的是TLS1.2,而我之前的操作系统SSL版本为SSL2.0;昨天用的还好好的,今天下午去突然不好用了,找了好久,也没有找到原因。想到中午把jdk1.7换成了1.6,于是马上又换过来,测试了一下,好使啦。 然后查看了一下jdk1.6,发现jdk1.6用的TLS1.1,从jdk1.7开始用的TLS1.2。
2017-03-08 17:11:32
2505
原创 拦截器集中处理小程序request请求
在小程序请求后台后,我们往往需要给小程序等客户端一友好的提示,可以通过拦截器来集中处理一下。1.首先写一个拦截器 ai.invoke()执行目标方法,如果目标方法抛出异常,就会执行拦截器的catch。然后就可以集中处理wx.request请求的异常返回啦。2. action方法抛出异常 throw e;action中抛出异常,拦截器拦截到就会集中处
2017-03-08 17:09:52
8870
原创 json与string相互转化
1. 在js和小程序中都将json格式转化为对象:var string = '{"name":"frank", "age":29, "birthday":"1978-1-1"}';var obj= JSON.parse(string);;2. 把对象转换成json字符串alert (JSON.stringify(user))
2017-03-08 17:07:58
984
原创 java泛型的了解
java泛型是jdk1.5引入的一个新特性,它是对java类型系统的一种扩展,可以把类型参数(如T, K, V ,E等)看作是参数化类型时指定的类型的一个占位符,这个类型参数可以代表String,Integer以及各个对象等。在引入泛型以后,原先的类型List,就可以扩展为List,List等更多的类型。
2017-03-08 16:35:10
405
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人