`
Callan
  • 浏览: 736788 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
用EJB3注释进行映射  现在EJB3实体Bean是纯粹的POJO。实际上表达了和Hibernate持久化实体对象同样的概念。他们的映射都通过JDK5.0注释来定义(EJB3规范中的XML描述语法至今还没有定下来)。注释分为两个部分,分别是逻辑映射注释和物理映射注释,通过逻辑映射注释可用描述对象模型,类之间的关系等等,而物理映射注释则描述了物理的schema,表,列,索引等等。下面外面在代码中将混合使用这两种类型的注释 (一)声明实体@Entity     POJO用@Entity进行实体注释 @Table     @Table是类的一级注释,通过它可用为实体指定表(Table),目录(Cata ...
1.概述      值得期待的Hibernate Annotation 式配置终于随着Hibernate 3.2GA 版本的发布而宣布正式被支持了!     只要数据库以及字段名称设计合适,我们甚至只需要在原来程序上加上3行代码,就可以配置完成一个Bean。这依     稀看到了Rails 的影子...... 1.1 参考资料  最为重要的参考资料莫过于由RedSega 团队翻译的,并入Hibernate 官方文档库的参考手册中文版。 2.系统配置   1. 首先,需要将hibernate-annotations 的相关jar 包(hibernate-annotations.jar,hibern ...
一.理解拦截器    1. 拦截器是在防问某个方法,字段之前或之后实施拦截,并且拦截器是可插拔的,拦截器是AOP的一种实现.   2. 拦截器栈(Interceptor Stack)。拦截器栈就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,       拦截器链中的拦截器就会按其之前定义的顺序被调用。 二.实现原理    Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的    拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器 三.拦截器的配置  1. 普通的拦截器 <pac ...
一.简介Struts2并未提供自己的请求解析器,也就是就Struts2不会自己去处理multipart/form-data的请求,它需要调用其他请求解析器,将HTTP请求中的表单域解析出来。但Struts2在原有的上传解析器基础上做了进一步封装,更进一步简化了文件上传。Struts2默认使用的是Jakarta的Common-FileUpload框架来上传文件,因此,要在web应用中增加两个Jar文件:commons-fileupload-1.2.jar和commons-io-1.3.1.jar。它在原上传框架上做了进一步封装,简化了文件上传的代码实现,取消了不同上传框架上的编程差异。如果要改成其 ...
异常处理后,能够提供友好的用户界面,而不是一些错误的代码信息. 利用struts2的异常处理机制可以很方便的实现异常处理,你不再需要在Action中捕获异常,并抛出相关的异常了,这些都交给拦截器来帮你做了。在struts-default.xml中己经设置了拦截器,因此我们可以直接使用声明式异常.struts2-default-xml声明的拦截器如下:  <interceptors> <interceptor name="exception" class="com.opensymphony.xwork.interceptor.ExceptionMa ...
一. 动态方法调用一个Action包含多个业务处理功能,根据用户请求表单的不同,调用不同的方法,与struts1的DispatchAction相似.  首先要设置: struts.enable.DynamicMethodInvocation=true 设置支持动态方法调用,默认为true,可以不用设  Action与配置
1.Struts2的Action可以不需实现任何接口或继承任何类,就是一个包含了execute()方法的POJO,下面是一个简单的Action的实现 package com; import com.opensymphony.xwork2.ActionContext; public class LogonAction { private String userName; private String userPwd; public String getUserName() { return userName; } public void setUserName(String use ...
首先安装Apache Server,我装的是2.0.59版本的Apache,据说别的低版本的Apache Server可能会运行有问题,不过用这个版本的Apache Server应该比较好。第二安装SubVersion,在Google很快就可以搜索到SubVersion的安装文件下载。先安装好Apache Server ...
(1) svn-1.0.9-setup.exe (2) TortoiseSVN-1.1.2-UNICODE_svn-1.1.2.msi (3) SVNService 2,安装SVN Server (1) 安装svn-1.0.9-setup.exe,安装目录为D:\Program Files\Subversion. (2) 安装TortoiseSVN-1.1.2-UNICODE_svn-1.1.2.msi.安装目录为D:\Program Files\TortoiseSVN. 安装后者需要重启计算机. (3) 将SVNService压缩包中的SVNService.exe copy到D:\Prog ...
<body ondragstart="oDragStart()"> <SCRIPT LANGUAGE="JavaScript"> <!-- var isFromCellIndex,isToCellIndex; function oDragStart(){ if (event.srcElement.tagName=="TD") { window.event.dataTransfer.effectAllowed="move"; isFromCellIndex=event ...
hibernate中的Session关系到对数据库的增删查改等基本的数据存取操作.对Session进行有效的维护,就像是在jdbc编程中对JDBC collection的维护.     在struts+hibernate的方案中,常常利用过滤器(Filter)对session进行管理,以实现session在线程范围内的共享.为什么仅仅实现线程内的共享,是因为,不能把session用于多线程,否则会出现意外.在线程范围内实现sesion的共享.避免了session的频繁的创建和销毁.我看到有的程序中,在单个方法内,打开session,执行.关闭session.这显然没有在一次会话中有效的利用ses ...
一.参数意义说明输出级别的种类ERROR、WARN、INFO、DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失INFO 为一般要显示的信息,比如登录登出DEBUG 为程序的调试信息配置日志信息输出目的地log4j.appender.appenderName = fully.qualified.name.of.appender.class1.org.apache.log4j.ConsoleAppender(控制台)2.org.apache.log4j.FileAppender(文件)3.org.apache.log4j.DailyRollingFile ...
Spring 2基于XML Schema的配置,Spring 2通过XML Schema配置方式极大地简化的其配置,而且使得第三方扩展变为可能<beans xmlns ="http://www.springframework.org/schema/beans" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://www.springframework.org/schema/beans http://www.s ...
什么是pom?    pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相
maven2 比起maven1 来说,需要配置的文件少多了,主要集中在pom.xml和settings.xml中。     先来说说settings.xml,settings.xml对于maven来说相当于全局性的配置,用于所有的项目。在maven2中存在两个 settings.xml,一个位于maven2的安装目录conf下面,作为全局性配置。对于团队设置,保持一致的定义是关键,所以 maven2/conf下面的settings.xml就作为团队共同的配置文件。保证所有的团队成员都拥有相同的配置。当然对于每个成员,都需要特殊的 自定义设置,如用户信息,所以另外一个settings.xml就作为 ...
Global site tag (gtag.js) - Google Analytics