04 2012 档案
摘要:在浏览器地址栏输入javascript:alert (document. cookie)会话(Session) 跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户 身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie, 什么时候不能用Session。 1.1 Cookie机制在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不
阅读全文
摘要:运行cmd打开控制台,进入Tomat目录/bin文件夹,输入如下命令运行 service.bat install 运行结果如图所示,说明服务Tomcat已经被安装成功。 ? 运行service.bat remove可以移除服务。 ? 运行services.msc或者到我的电脑->管理->服务中,可以看到添加的服务,默认状态下该服务是手动运行的,在它的属性中,将启动类型更改为“自动”,以后机器启动以后Tomcat就在后台启动了。
阅读全文
摘要:importorg.apache.lucene.analysis.standard.StandardAnalyzer;importorg.apache.lucene.document.Document;importorg.apache.lucene.document.Field;importorg.apache.lucene.index.CorruptIndexException;importorg.apache.lucene.index.IndexWriter;importorg.apache.lucene.queryParser.*;importorg.apache.lucene.sear
阅读全文
摘要:1. 多个MUST的组合不必多说,就是交集2. MUST和SHOULD的组合。是在MUST搜出来的doc里面,根据SHOULD的query进行打分。也就是说,SHOULD的query不会影响最终的HITS,只会提供打分依据。3. SHOULD的组合。如果最终的BooleanQuery只有SHOULD,那么搜出来的doc至少要满足一个SHOULD的query,也就是说是逻辑OR。那么在下面这段代码中,问题就出现了:代码的本意是在baseQuery的基础上和geoQuery做一个交集public Map<String, Query> buildGeoQuery(Query baseQu
阅读全文
摘要:删除索引 IndexWriter提供deleteDocuments(Term term); //会删除索引文件里含有指定Term的所有Document。 IndexReader也提供了deleteDocuments(Term term);8. 更新索引 IndexWriter提供updateDocument(Term term, Document doc); //实际上是先删除再创建索引。9. 常用查询器 1) TermQuery : 按Term(关键字)查询。构造方法:TermQuery(Term t) Query query = new TermQuery(new Term("c
阅读全文
摘要:在Axis2中提供了一个Axis2模块(soapmonitor),该模块实现了与《WebService大讲堂之Axis2(9):编写Axis2模块(Module)》中实现的logging模块相同的功能,所不同的是,logging模块直接将SOAP请求与响应消息输出到Tomcat控制台中,而soapmonitor模块利用applet直接在页面中输出SOAP请求和响应消息。 下面是配置和使用soapmonitor模块的步骤: 第1步:部署Applet和Servlet 由于axis2默认情况下已经自带了soapmonitor模块,因此,soapmonitor模块并不需要单独安装。但applet所涉.
阅读全文
摘要:Axis2可以通过模块(Module)进行扩展。Axis2模块至少需要有两个类,这两个类分别实现了Module和Handler接口。开发和使用一个Axis2模块的步骤如下:1.编写实现Module接口的类。Axis2模块在进行初始化、销毁等动作时会调用该类中相应的方法)。2.编写实现Handler接口的类。该类是Axis2模块的业务处理类。3.编写module.xml文件。该文件放在META-INF目录中,用于配置Axis2模块。4.在axis2.xml文件中配置Axis2模块。5.在services.xml文件中配置Axis2模块。每一个Axis2模块都需要使用<module>元
阅读全文
摘要:在前面几篇文章中都是使用同步方式来调用WebService。也就是说,如果被调用的WebService方法长时间不返回,客户端将一直被阻塞,直到该方法返回为止。使用同步方法来调用WebService虽然很直观,但当WebService方法由于各种原因需要很长时间才能返回的话,就会使客户端程序一直处于等待状态,这样用户是无法忍受的。 当然,我们很容易就可以想到解决问题的方法,这就是多线程。解决问题的基本方法是将访问WebService的任务交由一个或多个线程来完成,而主线程并不负责访问WebService。这样即使被访问的WebService方法长时间不返回,客户端仍然可以做其他的工作。我们可.
阅读全文
摘要:在现今的Web应用中经常使用Spring框架来装载JavaBean。如果要想将某些在Spring中装配的JavaBean发布成WebService,使用Axis2的Spring感知功能是非常容易做到的。 在本文的例子中,除了<Tomcat安装目录>\webapps\axis2目录及该目录中的相关库外,还需要Spring框架中的spring.jar文件,将该文件复制到<Tomcat安装目录>\webapps\axis2\WEB-INF\lib目录中。 下面先建立一个JavaBean(该JavaBean最终要被发布成WebService),代码如下: packageserv
阅读全文
摘要:在《WebService大讲堂之Axis2(5):会话(Session)管理》一文中介绍了如何使用Axis2来管理同一个服务的会话,但对于一个复杂的系统,不可能只有一个WebService服务,例如,至少会有一个管理用户的WebService(用户登录和注册)以及处理业务的WebService。象这种情况,就必须在多个WebService服务之间共享会话状态,也称为跨服务会话(Session)管理。实现跨服务会话管理与实现同一个服务的会话管理的步骤类似,但仍然有一些差别,实现跨服务会话管理的步骤如下:实现跨服务的Session管理需要如下三步:1.使用MessageContext和Servic
阅读全文
摘要:WebService给人最直观的感觉就是由一个个方法组成,并在客户端通过SOAP协议调用这些方法。这些方法可能有返回值,也可能没有返回值。虽然这样可以完成一些工具,但这些被调用的方法是孤立的,当一个方法被调用后,在其他的方法中无法获得这个方法调用后的状态,也就是说无法保留状态。读者可以想象,这对于一个完整的应用程序,无法保留状态,就意味着只依靠WebService很难完成全部的工作。例如,一个完整的应用系统都需要进行登录,这在Web应用中使用Session来保存用户登录状态,而如果用WebService的方法来进行登录处理,无法保存登录状态是非常令人尴尬的。当然,这也可以通过其他的方法来解决,
阅读全文
摘要:在《WebService大讲堂之Axis2(2):复合类型数据的传递》中讲过,如果要传递二进制文件(如图像、音频文件等),可以使用byte[]作为数据类型进行传递,然后客户端使用RPC方式进行调用。这样做只是其中的一种方法,除此之外,在客户端还可以使用wsdl2java命令生成相应的stub类来调用WebService,wsdl2java命令的用法详见《WebService大讲堂之Axis2(1):用POJO实现0配置的WebService》。 WebService类中包含byte[]类型参数的方法在wsdl2java生成的stub类中对应的数据类型不再是byte[]类型,而是javax...
阅读全文
摘要:用Axis2实现Web Service,虽然可以将POJO类放在axis2\WEB-INF\pojo目录中直接发布成Web Service,这样做不需要进行任何配置,但这些POJO类不能在任何包中。这似乎有些不方便,为此,Axis2也允许将带包的POJO类发布成Web Service。 先实现一个POJO类,代码如下: packageservice; publicclassMyService { publicStringgetGreeting(Stringname) { return"您好"+name; } publicvoidupdate(Stringdata) { Sy
阅读全文
摘要:在实际的应用中,不仅需要使用WebService来传递简单类型的数据,有时也需要传递更复杂的数据,这些数据可以被称为复合类型的数据。数组与类(接口)是比较常用的复合类型。在Axis2中可以直接使用将WebService方法的参数或返回值类型声明成数组或类(接口)。但要注意,在定义数组类型时只能使用一维数组,如果想传递多维数组,可以使用分隔符进行分隔,如下面的代码所示:String[] strArray = new String[]{ "自行车,飞机,火箭","中国,美国,德国", "超人,蜘蛛侠,钢铁侠" } ; 上面的代码可以看作是
阅读全文
摘要:Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java和C#调用这个WebService。一、Axis2的下载和安装 读者可以从如下的网址下载Axis2的最新版本: http://ws.apache.org/axis2/ 在本文使用了目前Axis2的最新版本1.4.1。读者可以下载如下
阅读全文
摘要:本文介绍了什么是Lucene,Lucene能做什么.如何从一个文件夹下的所有txt文件中查找特定的词?本文将围绕该个实例介绍了lucene.net的索引的建立以及如何针对索引进行搜索.最后还将给出源代码供大家学习.源代码下载What’s Lucene Lucene是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的功能.Lucene的使用者不需要深入了解有关全文检索的知识,仅仅学会使用库中的一个类,你就为你的应用实现全文检索的功能.不过千万别以为Lucene是一个象google那样的搜索引擎,Lucene甚至不是一个应用程序,它仅仅是一个工具, 一个Library.
阅读全文
摘要:代码的格式请开启和使用Eclipse的自动格式化代码功能。如下图所示进入下边的选项,将formatter.xml文件导入这样当写完Java类后,进行保存的同时Eclipse会将代码进行格式化一次。
阅读全文
摘要:jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。 在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或者 02/05/02 8:56 pm。通过使用java.sql.preparedstatement,这个问题可以自动解决。一 个preparedstatement是从java.sql.connection对象和所提供的sql字符串得到的,sql字符串中包含问号(?),这 些问号标明变量
阅读全文
摘要:Hibernate Search运行的环境如下:1、JDK或JRE 5.0以上2、Hibernate-Search以及相应的依赖包3、Hibernate Core 3.2.X4、Hibernate Annotations 3.3.X一、配置使用过Lucene的人都知道,Lucene是使用Directory这个概念来存储索引文件的,所以在Hibernate Search中提供了一个初始化、配置化的工厂类DirectoryProvider来生成相应的Directory。而在这里,我使用了 FSDirectoryProvider这个工厂类,其中FS代表文件系统,意思是索引文件保存在文件系统中。因此,
阅读全文
摘要:org.simpleframework.xml.core.Persister 对xml文件的管理
阅读全文
摘要:一、 实体 Bean每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用@Entity注解来进行声明。声明实体Bean@Entitypublic class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; }}@Entity注解将一个类声明为实体 Bean, @Id 注解声明了该实体Bean的标识属性。Hibernate 可以对类的属性或者方法进行注解。属性对应field类别,方法的
阅读全文
摘要:Hibernate Search是Hibernate的子项目,把数据库全文检索能力引入到项目中,并通过"透明"(不影响既有系统)的配置,提供一套标准的全文检索接口。这一章我们就来学习这块内容。全文检索的概念在进入正文之前,有必要介绍一下全文检索的概念。简单来说,Google就是一个全文检索引擎。全文检索允许用户输入一些关键字,从数据层中查找到 所需要的信息。此外全文检索和数据库"LIKE"语句相比,没有数据库开销或是数据库的开销非常小,因为检索过程全部从通过检索文件完成,因此效率非常 高。此外,全文检索引擎可以提供的还远不止"LIKE"
阅读全文
摘要:<meta http-equiv="refresh" content="5"/>
阅读全文
摘要:SSH配置详细步骤及异常处理 该文章详细介绍了SSH的配置步骤与工程代码。 配置步骤见:http://blog.csdn.net/sipsir/archive/2009/10/23/4721526.aspx 代码下载:http://sipsir.download.csdn.net/本文word格式:http://download.csdn.net/source/17647631 环境介绍Jdk:1.5s服务器:tomcat5.5开发工具:myeclipse 6.5 ga数据库工具:oracle 10g(确定有class12.jar或带有oracle驱动的jar包)开发技术:Spring2.0,
阅读全文
摘要:从 Servlet 容器说起要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的 结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起。前面说了 Servlet 容器作为一个独立发展的标准化产品,目前它的种类很多,但是它们都有自己的市场定位,很难说谁优谁劣,各有特点。例如现在比较流行的 Jetty,在定制化和移动
阅读全文
摘要:一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务 1.首先建立一个Web services EndPoint:packageHello; importjavax.jws.WebService; importjavax.jws.WebMethod; importjavax.xml.ws.Endpoint; @WebService publicclassHello{ @WebMethod publicStringhello(Stringname){ return"Hello,"+name+"\n"; } publ
阅读全文
摘要:Axis1.4 快速入门 发布WebService服务端、生成WebService客户端2012年04月01日 星期日 14:09本文环境jdk1.6 、Axis1.4、 tomcat6所需jar包:如图下面说具体步骤:1、新建web项目 AxisDemo,把上面的jar包 复制到lib目录2、配置web.xml如图<!-- Apache-Axis 配置开始 --> <servlet><servlet-name>AxisServlet</servlet-name><display-name>Apache-Axis Servlet<
阅读全文
摘要:1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …#配置日志信息输出目的地Appenderlog4j.appender.appenderName = fully.qualified.name.of.appender.class log4j.appender.appenderName.option1 = value1 … log4j.appender.appenderName.optionN = valueN#配置日志信息的格式(布局)log...
阅读全文

浙公网安备 33010602011771号