文章列表
如下指定arg1元素可以为field正确配置mask:
<arg1 name=”mask” key="${var:mask}" resource="false" >
<var>
<var-name>mask</var-name>
<var-value>^0\d*$</var-value>
</var>
然而,好多人将上面语句<arg1 name=”mask” key="${var:mask}" resource="false&quo ...
1. 创建索引
/**
* 模拟数据库中取出一条记录后创建索引库
*/
@Test
public void createIndex() {
Article article = new Article();
article.setId(2l);
article.setTitle("compass对lucene搜索的包装试验");
article.setContent("本例对compass包装后的lucene的功能进行测试,从而试验常用compass的方法");
article.setPostTime(new Date()) ...
1.引入包搭建开发环境
Common-logging.jar, Compass-2.2.0.jar
Lucene-analyzers.jar, Lucene-core.jar
Lucene-highlighter.jar, Lucene-queries.jar
Lucene-snowball.jar, Lucene-spellchecker.jar
Je-analysis-1.5.3.jar //用于解决compass2.2不支持IKAnalyzer3.0分词器的问题
分词器analyzer说明
由于前面引入的compass2.2.jar 只支持到Lucene2.4版本,而IKAn ...
1.搭建开发环境
Lucene-analyzers-3.0.1.jar
Lucene-core-3.0.1.jar
Lucene-highlighter-3.0.1.jar
Lucene-memory-3.0.1.jar
IKAnalyzer3.2.0Stable.jar //修补包
说明: 本IK分词器只把支持当前Lucene3.0版本,不支持以前的版本.
2.最简单的HelloWorld演示程序
public class HelloWorld {
static Directory dir = null;// 全局索引库存放位置变量
static Analyzer analyzer = ...
mysql覆盖数据文件夹data时的注意事项:
覆盖ib_logfile0和ib_logfile1会导致服务不能启动并报出1067的错误.
所以这两个文件不应被覆盖,但是它们可以不存在.在启动服务时会自己创建这两个文件.
ibdata1则是真正的存在数据内容的文件,删除后再查询时就会报出表不存在的信息.
另外一个很重要且不能随便改动的文件是my.ini.
通常需要对my.ini的修改是,可以在client section片段中修改客户端查询的编码为gbk;这样就解决了原来设置为utf-8时存在的客户端查询结果中汉字显示的乱码问题.
<!-- 多对一关系 name表示被映射的类的属性名,class表示属性的实际类名,column表示被映射属性在表中关联的外键-->
<many-to-one name="parent" class="Department" column="parent_id"></many-to-one>
<set name="employees"><!--一个部门下所有员工的集合 -->
<key column="department_id&quo ...
spring整合hibernate的步骤;
1.配置数据源,
2.配置会话工厂,这是整合hibernate资源的核心入口
2.1配置数据源
2.2配置hibernate属性集
2.3配置映射资源集位置
3.配置hibernate事务管理器,它依赖于会话工厂
4.配置dao实现,它依赖于会话工厂,即注入会话工厂
5.配置事务实现service,它要注入dao
6.为采用pojo+xml实现业务层上事务管理,添加名称空间tx和aop
7.配置事务属性 即定义方法名称匹配的事务策略定义 即什么样的方法应用什么样的事务策略
(通常为7项)
8.配置切入点通知应用组合体
8.1定义切入点 : 应用通知的 ...
问题一:
2010-05-23 10:14:33,025 ERROR [org.apache.struts.action.ActionServlet] - Parsing error processing resource path
jndi:/localhost/ssh1/WEB-INF/struts-config.xml
java.lang.IllegalArgumentException: No name specified
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
...
spring整合struts的第一种方式,并不常用:
使用spring自身提供的支持struts的jar包,继承它提供的actionSupport类,这样可以得到spring容器的上下文对象,再getBean得到业务实现类对象.
第二种方式:
将struts的action交给spring容器管理,但不能指定id,只能指定name,因为id不能以/开头,而这里指定的name值是与action的path属性值是一致的.path是action的唯一标识符.
当存在许多action要由spring容器管理时,可以将所有的action分散出来存入到一个xml文件中单独存放,而这并不影响spring对a ...
为什么service业务层要引入事务管理器而持久化dao层却没有?
因为持久化层是平台相关的,可以直接通过Jdbctemplate模板采用接口回调方式得到session再得到transaction的方式实现事务管理的功能.
而业务层则是平台无关的,但还要进行事务管理,就引入了事务管理器的概念.
业务层实现类也是通过事务模板采用接口回调的方式,不过它得到的是参数是transactionStatus,再通过事务状态调用底层的持久化技术的API,实现事务管理的功能.
二者实现事务管理的功能都必须依赖于整合hibernate资源的核心入口sessionfactory.
系统级功能:公共的模块化的功能实 ...
在struts1.x中,requestProcessor的理解:
它是为解决actionServlet在多模块的情况下负担过于沉重的问题而出现的.它的目的就是为中央处理器分担负重的.因为在未出现请求处理器前,所有formbean的实例化,查找,验证,actionbean的实例化,调用,寻找都是由中央处理器完成的.
怎么分担?每个模块都有大量的配置,每个模块都有一个请求处理器.但中央控制器还是只有一个.前面所说处理请求时的操作都交给请求处理器去完成了.
而中央控制器只负责请求的分发了.它会携带请求与响应两个参数.
所以,以前由中央控制器做的工作后来都交给请求处理器做了.
在单模块的情况下,我们不需 ...
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.s ...
public void savePersons(final List<Person> list) {
template.execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Transaction tx=null;
try {
tx=session.beginTransaction();
for (Person person : list) { ...
<bean id="singler" class="cn.itcast.spring.pojoxml.Singer"></bean>
<bean id="audience" class="cn.itcast.spring.pojoxml.Audience"></bean>
<aop:config>
<aop:aspect ref="audience">
<!-- 理解:观众是切面通知,歌手是目标对象,观众切 ...