AJAX实例入门(一) 一、开门见山     这些时间,瞎子也看得见,AJAX正大踏步的朝我们走来。不管我们是拥护也好,反对也罢,还是视而不见,AJAX像一阵潮流,席转了我们所有的人。     关于AJAX的定义也好,大话也好,早有人在网上发表了汗牛充栋的文字,在这里我也不想照本宣科。     只想说说我感觉到的一些优点,对于不对,大家也可以和我讨论:     首先是异步交互,用户感觉不到页面的提交,当然也不等待页面返回。这是使用了AJAX技术的页面给用 ...
invoke方法中,首先根据key查询缓存(key=className + methodName + arguments) ,缓存中存在则返回,否之调用invocation.proceed()返回结果. 在Spring配置文件中定义拦截器 <bean id="methodCacheInterceptor" class="org.taha.interceptor.MethodCacheInterceptor"> &n ...
我们都知道Hibernate可以用ehcache来作为Second Level Cache.主要是针对POJO的缓存,而且缓存的读取 在Hibernate中是写死.实际运用中感觉很不灵活.今天看到一篇介绍利用Spring Interceptor 来缓存指定 方法结果的例子,感觉很不错,充分体会到AOP的强大力量 :) 首先配置ehcache.xml  <ehcache>   ...
关于spring事务管理以及异常处理的帖子,本论坛争论颇多,各有各的测试代码,也各有各的测试结果, 不知道是spring版本的不同还是各测试的例子的不同而导致测试结果出现差异. 本人也很想弄清楚spring是如何对Service进行事务管理的,并且还去看了一下spring框架关于事务管理几个相关类的源码,可惜由于本人功力有限,只看懂了皮毛. 既然源代码看不懂,那么只有运用例子进行测试,虽然笨了点,不过管是白猫还是黑猫,能捉老鼠就是好猫.:) 为引起不必要的争论,本帖子只针对本案例的测试结果进行小结,并保证此测试代码在本人的运行环境绝对正确. 开发环境: OS:window ...
为了在Struts中加载Spring context,需要在struts-config.xml文件中加入如下部分: <struts-config>   <plug-in          className="org.springframework.web.struts.ContextLoaderPlugIn">      <set-property property="contextConfigL ...
Web层实现   1、Web层的构件和交互流程   Web层包括主要3个功能:   ·上传文件。   ·列出所有已经上传的文件列表,以供点击下载。   ·下载文件。   Web层实现构件包括与2个JSP页面,1个ActionForm及一个Action:   ·file-upload.jsp:上传文件的页面。   ·file-list.jsp:已经上传文件的列表页面。   ·FileActionForm:file-upload.jsp页面表单对应的Action ...
业务层   1、业务层接口   "面向接口而非面向类编程"是Spring不遗余力所推荐的编程原则,这条原则也已经为大部开发者所接受;此外,JDK的动态代理只对接口有效,否则必须使用CGLIB生成目标类的子类。我们依从于Spring的倡导为业务类定义一个接口:   代码 7 业务层操作接口 1. public interface FileService 2. { 3. void save(FileActionForm fileForm);// ...
数据持久层   1、领域对象及映射文件   您可以使用Hibernate Middlegen、HIbernate Tools、Hibernate Syhchronizer等工具或手工的方式,编写Hibernate的领域对象和映射文件。其中对应T_FILE表的领域对象Tfile.java为:   代码 1 领域对象Tfile 1. package sshfile.model; 2. public class Tfile 3.{ 4. p ...
下载本文源代码   引言   文件的上传和下载在J2EE编程已经是一个非常古老的话题了,也许您马上就能掰着指头数出好几个著名的大件:如SmartUpload、Apache的FileUpload。但如果您的项目是构建在Struts+Spring+Hibernate(以下称SSH)框架上的,这些大件就显得笨重而沧桑了,SSH提供了一个简捷方便的文件上传下载的方案,我们只需要通过一些配置并辅以少量的代码就可以完好解决这个问题了。   本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SSH的Web程序。SSH各框架的均为当前最新版本:   ·Strut ...
搜索 Lucene搜索的api的类主要有4个 IndexSearcher ,Query(包括子类),QueryParser,Hits IndexSearcher是搜索的入口,他的search方法提供了搜索功能 Query有很多子类, 各种不同的子类代表了不同的查询条件,下文详述 QueryParser是一个非常通用的帮助类,他的作用是把用户输入的文本转换为内置的Query对象(大多数web搜索引擎都提供一个查询输入框来让用户输入查询条件)。QueryParser内置提供了很多语法来使使用可以输入各种高级条件的Query。比如: "Hello AND world" ...
Boosting特性 luncene对Document和Field提供了一个可以设置的Boosting参数, 这个参数的用处是告诉lucene, 某些记录更重要,在搜索的时候优先考虑他们 比如在搜索的时候你可能觉得几个门户的网页要比垃圾小站更优先考虑 lucene默认的boosting参数是1.0,  如果你觉得这个field重要,你可以把boosting设置为1.5, 1.2....等, 对Document设置boosting相当设定了它的每个Field的基准boosting,到时候实际Field的boosting就是(Document-boosting*Field-boo ...
Doug Cutting 于2000年开始的项目 2001年9月后加入apache, Lucene是Doug Cutting的middle name 。 目前Lucene已经是apache的top level的项目, 已经不在jakarta下面, 同时也有了python,perl,c++,.net, Ruby(进行中)多个版本 Lucene 主要的两个任务:indexing and searching Indexing主要使用的类 IndexWriter 较核心的类,index文件由它创建 ...
无论是建立索引还是分析内容,都是为了用户的搜索服务.    在Lucene中,如果需要使用搜索,需要使用Searcher类,这是一个抽象类,它有2个子类:IndexSearcher和MultiSearcher.    IndexSearcher是对一个索引进行搜索,如果你需要对多个索引进行搜索,可以使用MultiSearcher.下面的内容只介绍了IndexSearcher.    搜索涉及到几个问题:分页,组合条件,根据条件过滤,排序等等.    分页:分页在记录列表的地方都会遇到,这里不在赘述, ...
  在使用lucene对相关内容进行索引时,会遇到各种格式的内容,例如Html,PDF,Word等等,那么我们如何从这么文档中得到我们需要的内容哪?例如Html的内容,一般我们不需要对Html标签建立索引,因为那不是我们需要搜索的内容.这个时候,我们就需要从Html内容中解析出我们所需要的内容.对于PDF,Word文档,也是类似的要求.     总之,我们只需要从内容中提取出我们需要的文本来建立索引,这样用户就能搜索到需要的内容,然后访问对应的资源即可.   Lucene本身带的例子中有一个解析Html的代码,不过不是纯JAVA的,所以在网上我又 ...
首先肯定是建立索引了啊  public void creatIndex() {  File indexDir = new File(getPathIndex());  try { List<Article> listArticle = getArticleDao().search(null, null,null, null, null, null, null, null, new Boolean(true));  for (int i = 0; i < listArticle.size(); i++) {  Doc ...
Lucene-2.0学习文档 Lucene是apache组织的一个用java实现全文搜索引擎的开源项目。其功能非常的强大,api也很简单。总得来说用Lucene来进行建立和搜索和操作数据库是差不多的,Document可以看作是数据库的一行记录,Field可以看作是数据库的字段。用lucene实现搜索引擎就像用JDBC实现连接数据库一样简单。 值得一提的是:2006年6月1号Lucene2.0发布,它与以前广泛应用和介绍的Lucene 1.4.3并不兼容。有了很大的改进和优化,这里只介绍的是Lucene 2.0。 Lucene2.0的下载地址是http://apache.justdn. ...
4. Lucene文档结构 Lucene中最基础的概念是索引(index),文档(document.,域(field)和项(term)。 索引包含了一个文档的序列。 · 文档是一些域的序列。 · 域是一些项的序列。 · 项就是一个字串。 存在于不同域中的同一个字串被认为是不同的项。因此项实际是用一对字串表示的,第一个字串是域名,第二个是域中的字串。 4.1. Lucene概念详细介绍 4.1.1. 域的类型 Lucene中,域的文本可能以逐字的非倒排的方式存储在索引中。而倒排过的域称为被索引过了。域也可能同时被存 ...
文首先介绍了Lucene的一些基本概念,然后开发了一个应用程序演示了利用Lucene建立索引并在该索引上进行搜索的过程。 Lucene 简介 Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。 目前已经有很多应用程序的搜索功能是基于 Lucene 的,比如 Eclipse 的帮助系统的搜索功能。Lucene 能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转化的文本的,Lu ...
1 、问题的来源 增加分词以后结果的准确度提高了,但是用户反映返回结果的速度很慢。原因是, Lucene 做每一篇文档的相关关键词的高亮显示时,在运行时执行了很多遍的分词操作。这样降低了性能。 2 、解决方法 在 Lucene1.4.3 版本中的一个新功能可以解决这个问题。 Term Vector 现在支持保存 Token.getPositionIncrement() 和 Token.startOffset() 以及 Token.endOffset() 信息。利用 Lucene 中新增加的 Token 信息的保存结果以后,就不需要为了高亮显示而在运行时解析每篇文档。通过 Fie ...
http://www.jscud.com 转载请注明来源/作者 关键字:lucene,html parser,全文检索,IndexReader,Document,Field,IndexWriter,Term,HTMLPAGE  Lucene是一个全文检索的引擎,目前有Java和.Net 等几个版本.Java版本的网址是http://lucene.apache.org.相关的一个项目是车东的WebLucene: http://sourceforge.net/projects/weblucene.  首先,基于一个简单的新闻系统,要想做全文检索.新闻系统的管理等在这里 ...
架构概览 图一显示了 Lucene 的索引机制的架构。Lucene 使用各种解析器对各种不同类型的文档进行解析。比如对于 HTML 文档,HTML 解析器会做一些预处理的工作,比如过滤文档中的 HTML 标签等等。HTML 解析器的输出的是文本内容,接着 Lucene 的分词器(Analyzer)从文本内容中提取出索引项以及相关信息,比如索引项的出现频率。接着 Lucene 的分词器把这些信息写到索引文件中。 图一:Lucene 索引机制架构 420){this.resized=true;this.style.width=420;}" border=0 resized=&q ...
一、什么是中文分词 众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子“I am a student”,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道“student”是一个单词,但是不能很容易明白「学」、「生」两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。“我是一个学生”,分词的结果是:“我 是 一个 学生”。 中文分词是其他中文信息处理 ...
地址:http://www.lucene.com 简介:Ramblings about Lucene, Nutch, and other stuff. 摘要: I'm a primary developer of the Lucene and Nutch open source search projects. Lot's of folks think good open-source desktop search can already be easily implemented with tools like Lucene. But desktop search ...
本站申明: 该组件免费安装使用传播,无限制商业应用,但暂不开源,也不提供任何保证 分词效率: 第一次分词需要1-2秒(读取词典),之后速度基本与Lucene自带分词持平 运行环境: Lucene 1.9+ 内存消耗: 30M+ 1.4.0 —— 2006-08-2 ...
作者:车东 发表于:2002-08-06 18:08 最后更新于:2007-04-12 11:04 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。 http://www.chedong.com/tech/lucene.html Lucene是一个基于Java的全文索引工具包。 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 全文检索的实现:Luene全文索引和数据库索引的比较 中文切分词机制简介:基于词库和自动切分词算法的比较 具体的安装和使用简介:系统结构介绍 ...
今天有一个朋友问了我一个问题,他使用的是Hibernate/Spring/Struts架构,配置使用Spring的OpenSessionInView Filter,但是发现不生效,lazy的集合属性在页面访问的时候仍然报session已经关闭的错误。我和他一起检查了所有的配置和相关的代码,但是没有发现任何问题。经过调试发现,应用程序使用的Session和OpenSessionInView Filter打开的Session不是同一个,所以OpenSessionInView模式没有生效,但是为什么他们不使用同一个Session呢? 检查了一遍Spring的相关源代码,发现了问题的根源: ...
在没有使用Spring提供的Open Session In View情况下,因需要在service(or Dao)层里把session关闭,所以lazy loading 为true的话,要在应用层内把关系集合都初始化,如 company.getEmployees(),否则Hibernate抛session already closed Exception;    Open Session In View提供了一种简便的方法,较好地解决了lazy loading问题.     它有两种配置方式OpenSessionInViewInte ...
配置文件中映射元素详解    对象关系的映射是用一个XML文档来说明的。映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等。     下面从一个映射的例子开始讲解映射元素,映射文件的代码如下。 <?xml version="1.0"?> <!-- 所有的XML映射文件都需要定义如下所示的DOCTYPE。 Hibernate会先在它的类路径(classptah)中搜索DTD文件。 --> <!DOCTYPE hibernate-mapping PUBLIC "-/ ...
Hibernate一共包括了23个jar包,令人眼花缭乱。本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍。      下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包:      hibernate2.jar:   Hibernate的库,没有什么可说的,必须使用的jar包      cglib-asm.jar:   CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包      dom4j.jar:    ...
来源:BlogJava∣原文地址        在科学和工程技术领域,模型是一个很有用途的概念,它可以用来模拟一个真实的系统。在软件开发领域,模型用来表示真实世界的实体。在软件开发的不同阶段,需要为目标系统创建不同类型的模型。在分析阶段,需要创建概念模型。在设计阶段,需要创建域模型和数据模型。其中,域模型是面向对象的,数据模型是面向关系的,域模型和数据模型之间存在一种对象-关系映射。 概念模型     概念模型清楚地显示了问题域中的实体。不管是技术人员还是非技术人员都能看得懂改面模 ...