北在北方

太白枝头看,花开不计年,杯中浮日月,楼外是青天。

导航

06 2012 档案

摘要:1、一般是在Action中定义一个成员变量,然后对这个成员变量提供get/set方法,在JSP页面就可以取到这个变量的值了。 1)在Action中定义成员变量//定义一个成员变量private String message; //提供get/set方法public String getMessage() { return message;}public void setMessage(String message) { this.message = message;} 2)在JSP页面中取值${message}或者<s:property value="message" 阅读全文

posted @ 2012-06-30 12:43 CN.programmer.Luxh 阅读(3735) 评论(2) 推荐(0)

摘要:Apache Commons Compress是一个压缩、解压缩文件的类库。 可以操作ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200 and bzip2格式的文件,功能比较强大。 在这里写两个用Commons Compress把文件压缩成zip和从zip解压缩的方法。 直接贴上工具类代码:package cn.luxh.utils;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.... 阅读全文

posted @ 2012-06-28 21:46 CN.programmer.Luxh 阅读(18996) 评论(6) 推荐(0)

摘要:先看一下博客园的登录表单,然后用Axure RP一步一步把这个表单原型做出来。 运行Axure RP软件,马上开始动手: 1、添加一个页面,把页面命名为"博客园",然后在"博客园"这个页面下添加一个子页面叫"登录页面"。 1)添加一个页面 2)在这个页面上点击右键,选择"Rename"菜单,将页面重命名为"博客园" 3)给"博客园"页面添加一个子页面。选中"博客园"页面,然后点击添加图片,添加一个子页面。或者在"博客园"页面上点击鼠标右 阅读全文

posted @ 2012-06-28 14:51 CN.programmer.Luxh 阅读(3394) 评论(3) 推荐(0)

摘要:Struts2上传多文件也很简单。在Action中把文件对应的属性用数组或者集合接收就可以了。 File[] file; String[] fileFileName; String[] fileContentType; 1、FileUploadAction的代码package cn.luxh.struts2.action;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import org.apache.commons.io.... 阅读全文

posted @ 2012-06-27 21:56 CN.programmer.Luxh 阅读(545) 评论(0) 推荐(1)

摘要:1、下载、安装Axure RP 6.5 下载地址:http://www.axure.com/download 系统要求: For PC:Windows XP, 2003 Server, Vista, or 71 GB RAM1 GHz Processor60 MB disk spaceFor specifications, Microsoft Office Word 2000, XP, 2003, 2007, or 2010For prototypes, IE 6.0+, Firefox,Safari, or Chrome 安装和一般的软件没什么区别的,不多说。(可能安装时间稍微有点... 阅读全文

posted @ 2012-06-27 13:14 CN.programmer.Luxh 阅读(1020) 评论(0) 推荐(0)

摘要:我们先看看Axure RP官方网站上的一些话。 你会喜欢上Axure RP的十大理由: 我们花了9年时间去发展Axure RP,一个能给你更成功的用户体验、更专业的项目管理的工具。我们还将花下一个九年去做同样的事情。 #10 Your requirements never looked so good 不管你对业务和系统的需求理解得多好,要用书面表达出你理解的需求给客户阅读和验证,不是一件容易的事情。开一些时间长、效率又低下的需求交流会议让你觉得很累。你可以使用Axure RP的快速原型设计出系统的原型展示给客户,这样在非常短时间内,就能达到令客户非常兴奋和满意的要求。 #9 Y... 阅读全文

posted @ 2012-06-26 22:47 CN.programmer.Luxh 阅读(956) 评论(0) 推荐(0)

摘要:分页查询只需要传入每页显示多少条记录,当前是第几页就可以了。 当然是对搜索返回的结果进行分页,并不是对搜索结果的总数量进行分页,因为我们搜索的时候都是返回前n条记录。 例如indexSearcher.search(query, 100);//只返回前100条记录/** * 对搜索返回的前n条结果进行分页显示 * @param keyWord 查询关键词 * @param pageSize 每页显示记录数 * @param currentPage 当前页 * @throws ParseException * @throws CorruptIndexException ... 阅读全文

posted @ 2012-06-24 21:19 CN.programmer.Luxh 阅读(6373) 评论(4) 推荐(1)

摘要:默认根据文档查询的相关度得分来进行排序,得分越高,排名越前。 1、设置Lucene的文档对象Document中的一个促进因子,可以提高相关度得分。Book book = new Book();book.setId(2);book.setTitle("建筑的永恒之道");book.setAuthor("亚历山大");book.setContent("《建筑的永恒之道》提出了一个关于建筑设计、建筑和规划的新的理论、思想.");book.setPrice(65.5F); Document doc = new Document();doc.a 阅读全文

posted @ 2012-06-24 11:58 CN.programmer.Luxh 阅读(1739) 评论(0) 推荐(1)

摘要:Lucene的高亮器就是给搜索关键词加上HTML标签,这样在网页上显示的时候,可以有不同的突出显示效果。 高亮器会做两个工作: 1)让搜索关键词突出显示。 2)截取出现搜索关键词最多的一段文本生成摘要。 使用高亮器需要引入两个jar文件:lucene-highlighter-3.6.0.jar和lucene-memory-3.6.0.jar。 创建高亮器的代码: //配置高亮器 //默认使用HTML的<B>标签标记关键词//Formatter formatter = new SimpleHTMLFormatter(); //以红色字体标记关键词Formatter format... 阅读全文

posted @ 2012-06-24 10:56 CN.programmer.Luxh 阅读(1596) 评论(0) 推荐(1)

摘要:分词器对英文的支持是非常好的。 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好。 国人林良益写的IK Analyzer应该是最好的Lucene中文分词器之一,而且随着Lucene的版本更新而不断更新,目前已更新到IK Analyzer 2012版本。 IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。到现在,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除... 阅读全文

posted @ 2012-06-23 13:55 CN.programmer.Luxh 阅读(15185) 评论(15) 推荐(5)

摘要:根据实际情况对索引库进行优化,可以提升创建索引和搜索的速度。 1、合并索引库片段文件 IndexWriter的optimize()方法已经过时,因为这个方法的效率很低。合并文件主要是使用IndexWriter的setMergeFactor(int)方法,但是在Lucene3.6版本中,该方法已过时,直接使用LogMergePolicy.setMergeFactor(int)方法代替。 当setMergeFactor(int)的参数值较小的时候,创建索引的速度较慢。当参数值较大的时候,创建索引的速度就比较快。大于10适合批量创建索引。 2、内存索引目录和文件系统索引目录结合使用 内... 阅读全文

posted @ 2012-06-23 01:02 CN.programmer.Luxh 阅读(2181) 评论(3) 推荐(1)

摘要:Lucene的普及和成功的背后是因为它的简单。 因此,你不需要深入理解Lucene的信息索引和检索工作方面的知识就可以开始使用。 Lucene提供了简单但是强大的核心API去实现全文索引和检索,你只需要掌握少数的类就能将Lucene整合到应用中。 刚接触Lucene的人可能会误认为Lucene是一个文件搜索工具、网络爬虫、或者网页搜索引擎。实际上Lucene是一个软件库,而不是一个全功能的搜索应用程序。它涉及全文索引和搜索,而且做得非常好。Lucene可以让你的应用程序隐藏起复杂的索引和搜索背后的操作,而使用简单的API处理特定的问题领域和业务规则。你可以想象Lucene就是像一个层... 阅读全文

posted @ 2012-06-20 17:59 CN.programmer.Luxh 阅读(2225) 评论(0) 推荐(0)

摘要:Lucene,是一个Java全文搜索引擎。 使用Lucene3.6版本,到官网下载lucene-3.6.0.zip,解压。 需要用到的jar: \lucene-3.6.0\lucene-core-3.6.0.jar ------> Lucene的核心包 \lucene-3.6.0\contrib\analyzers\common\lucene-analyzers-3.6.0.jar ------> 分词器 \lucene-3.6.0\contrib\highlighter\lucene-highlighter-3.... 阅读全文

posted @ 2012-06-17 23:07 CN.programmer.Luxh 阅读(2204) 评论(2) 推荐(1)

摘要:Servlet3.0提供了对文件上传的原生支持。 使用注解@MultipartConfig将一个Servlet标识为支持文件上传。 Servlet3.0将multipart/form-data的POST请求封装成Part,通过Part对上传的文件进行操作。 上传文件的表单:<form action="UploadServlet" method="post" enctype="multipart/form-data"> <tr> <td> <input type="file" 阅读全文

posted @ 2012-06-13 22:24 CN.programmer.Luxh 阅读(2627) 评论(2) 推荐(1)

摘要:有时候需要在页面上允许用户上传多个文件,个数由用户自己决定,个数多了也可以删除,使用jQuery可以很简单的实现这个功能。<!DOCTYPE html><html> <head> <title>test.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="jquery- 阅读全文

posted @ 2012-06-12 22:12 CN.programmer.Luxh 阅读(3482) 评论(8) 推荐(1)

摘要:<select>:夺得2008年欧洲杯冠军的国家是:<select name="nation" id="nation"> <option value="">请选择</option> <option value="Germany">德国</option> <option value="France">法国</option> <option value="Italy">意大 阅读全文

posted @ 2012-06-12 21:35 CN.programmer.Luxh 阅读(1270) 评论(3) 推荐(0)

摘要:<input type="checkbox">: 2012欧洲杯"死亡之组"小组出线的国家队是:<br> <input type="checkbox" name="nation" value="Germany">德国 <input type="checkbox" name="nation" value="Denmark">丹麦 <input type="checkbox&q 阅读全文

posted @ 2012-06-10 20:18 CN.programmer.Luxh 阅读(3459) 评论(0) 推荐(3)

摘要:异步处理是非常有用的功能,许多时候能带来很好的体验。 在Servlet中经常需要调用业务方法,在进行业务处理的时候,Servlet需要等待数据返回后才能继续往下执行,使得Servlet被阻塞。当然,处理这些比较耗时的业务的时候,可以启动另外的线程去处理,然后Servlet继续往下执行,但是启动的这个业务处理线程是没有办法和客户端交互的,只是在服务器端执行,不能主动的向客户端发送处理信息。 Servlet3.0通过进入异步处理,使得Servlet调用业务方法的时候不被阻塞,而是直接返回。异步处理的上下文AsyncContext负责管理执行完业务方法后的回应,AsyncContext决定该... 阅读全文

posted @ 2012-06-09 22:12 CN.programmer.Luxh 阅读(2132) 评论(0) 推荐(1)

摘要:<input type="radio">如下:<input type="radio" name="city" value="BeiJing">北京<input type="radio" name="city" value="TianJin">天津<input type="radio" name="city" value="NanJing">南京< 阅读全文

posted @ 2012-06-07 22:58 CN.programmer.Luxh 阅读(34670) 评论(1) 推荐(1)

摘要:Servlet3.0提供@WebFilter将一个实现了javax.servlet.Filter接口的类定义为过滤器组件。package com.cndatacom.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.. 阅读全文

posted @ 2012-06-06 22:44 CN.programmer.Luxh 阅读(8582) 评论(0) 推荐(1)

摘要:我使用的开发环境:MyEclipse10+Tomcat7+JDK6。 开发Servlet3的程序需要一定的环境支持。Servlet3是Java EE6规范的一部分,MyEclipse10和Tomcat7都提供了对Java EE6规范的支持。 Tomcat需要Tomcat7才支持Java EE6,Tomcat7需要使用JDK6。 如果使用的MyEclipse的版本较低,没有提供Java EE6的支持,可以到Oracle官方网站下载JavaEE6的SDK进行安装,或者从Tomcat7的解压目录下的lib文件夹中把所有jar文件引用到我们的项目路径下。(例如:先建一个Java EE5的we... 阅读全文

posted @ 2012-06-06 00:12 CN.programmer.Luxh 阅读(50085) 评论(0) 推荐(6)

摘要:如果我们只需要查询实体中的某些属性,但是不希望查询的结果返回的是对象数组,就可以使用JPQL通过实体的构造器进行查询,这样查询结果返回的就是实体。 实体User.java:package com.cndatacom.jpa.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(n... 阅读全文

posted @ 2012-06-03 13:25 CN.programmer.Luxh 阅读(2089) 评论(0) 推荐(1)

摘要:EntityManager API 提供了创建 Query 实例以执行原生 SQL 语句的createNativeQuery方法。 实体User:package com.cndatacom.jpa.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="t_user 阅读全文

posted @ 2012-06-02 20:25 CN.programmer.Luxh 阅读(16883) 评论(0) 推荐(0)

摘要:从一关联到多的查询和从多关联到一的查询来简单说说关联查询。 实体Team:球队。 实体Player:球员。 球队和球员是一对多的关系。 Team.java:package com.cndatacom.jpa.entity;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.FetchType;i... 阅读全文

posted @ 2012-06-02 14:54 CN.programmer.Luxh 阅读(17492) 评论(6) 推荐(2)

摘要:JPA的命名查询实际上就是给查询语句起个名字,执行查询的时候就是直接使用起的这个名字,避免重复写JPQL语句,使查询在代码中得到更多的重用。我不怎么喜欢使用命名查询,因为我不想把查询语句写在实体中,使得实体看起来变得复杂臃肿。 1、使用@NamedQuery注解在实体类中定义命名查询。 @NamedQuery(name="findAllUser",query="SELECT u FROM User u") @NamedQuery中的属性name指定命名查询的名称,query属性指定命名查询的语句。 如果要定义多个命名查询,需要使用@NamedQuerie 阅读全文

posted @ 2012-06-01 23:42 CN.programmer.Luxh 阅读(14851) 评论(0) 推荐(2)