摘要:
1)inverse中提及的side其实是指一个类或者表的概念,双向关联其实是指双方都可以取得对方的应用。 2)维护关系这个名词还是稍显模糊或者晦涩。我们一般说A类或者A表(这里的表的是指多对多的连接表)有责任维护关系,其实这里的意思是说,我在应用在更新,创建,删除(读就不用说了,双向引用正是为了方便读而出现)A类或者A表时,此时创建的SQL语句必须有责任保证关系的正确修改。 3)inverse=false的side(side其实是指inverse=false所位于的class元素)端有责任维护关系,而inverse=true端无须维护这些关系。 4)我们说inverse设立不当会导致性能低下, 阅读全文
摘要:
set节点有以下属性(摘自Hibernate文档): (1) name 集合属性的名称 (2) table (可选??默认为属性的名称)这个集合表的名称(不能在一对多的关联关系中使用) (3) schema (可选) 表的schema的名称, 他将覆盖在根元素中定义的schema (4) lazy (可选??默认为false) lazy(可选--默认为false) 允许延迟加载(lazy initialization )(不能在数组中使用) (5) inverse (可选??默认为false) 标记这个集合作为双向关联关系中的方向一端。 (6) cascade (可选??默认为none) 让操 阅读全文
摘要:
Common Struts Errors and Causes This page contains errors and exceptions commonly encountered during web application development using Struts. Along with the exception or error messages themselves, potential causes of these errors are often listed along with links to additional resources. To find th 阅读全文
摘要:
Inverse和cascade是Hibernate映射中最难掌握的两个属性。两者都在对象的关联操作中发挥作用。 1.inverse属性:inverse所描述的是对象之间关联关系的维护方式。 inverse只存在于集合标记的元素中。Hibernate提供的集合元素包括set/ map/ list/ array / bag / Inverse属性的作用是:是否将对集合对象的修改反映到数据库中。 inverse属性的默认值为false,表示对集合对象的修改会被反映到数据库中 inverse=”true”表示对集合对象的修改不会被反映到数据库中。 one-to-many中inv 阅读全文
摘要:
Struts controller基本功能是 1. 截获用户的Http请求 2. 把这个请求映射到一个定义好的业务操作上 3. 获取业务操作结果,提供给客户端 4. 决定下一步应该显示哪一个页面 有几个部分共同组成了Struts 的Controller,用户的请求发送到ActionServlet中,ActionServlet调用RequestProssor开始处理用户请求的流程,在这个流程中,会查找ApplicationConfig,得到用户请求对应的Action,调用相应的Action来具体执行用户的请求,最后返回ActionForward,转向相应的流程。 ================ 阅读全文
摘要:
当要将一个对象存储在网络、硬盘、或通过流传输的时候,必须对该类实现序列化,否则不能执行以上操作!你要传输或保存对象时,需要将对象转换成bit流, 读取对象时,需要重新转换回来。 这样,就必需实现序列化接口。序列化是为了存储整个对象 什么是序列化?在什么情况下将类序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializab 阅读全文
摘要:
Serialization是.NET中一种实现对象持久性(Persistent)的机制。它是一个将对象中的数据转换成一个单一元素(通常是Stream)的过程。它的逆过程是Deserialization。Serialization的核心概念是将一个对象的所有数据看作一个独立的单元。一般说来,在两种情况下非常需要Serialization:1)当我们希望能够将对象当前的状态完整地保存到存储介质中,以便我们以后能够精确地还原对象时;2)当我们希望将对象从一个应用程序空间(Application domain)传递到另一个应用程序空间时。例如,Windows Form程序就是利用Serializati 阅读全文
摘要:
java.io.Serializable 接口没有任何方法和字段,仅仅表示实现它的类的对象可以被序列化。实现了这个接口的所有类及其子类都可以对象序列化。 序列化前,虚拟机要清楚每个对象的结构,所以序列化会比较慢,如果关心性能或者需要读取大量的特定的类对象,可以使用 java.io.Externalizable接口 对象序列化一般出现在如下的环境下: 把对象的字节序列保存在物理存储介质中(如硬盘文件); 把对象的字节序列经网络传输给请求者; 序列过程的特殊处理: private void writeObject(java.io.ObjectOutputStream out) throws IOE 阅读全文
摘要:
在控制台显示HQL语句property name="show_sql"true/property----------------------------------------------------------hibernate里面有四个参数比较重要cascade 有四个取值:none all save-update delete------------------------------1 第一种查询 from Cat cat where cat.mate.name like "kit%"相当于:select * from cat_table as table1 cat_table 阅读全文
摘要:
package dao; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.Query; import po.HibernateSessionFactory; import po.StuInfo; import po.StuMarks; import java.util.*; public class Dao { public List query1(){ Session session=HibernateSessionFactory.getSession(); String 阅读全文
摘要:
Spring 的依赖注入机制,可以在运行期为组件配置所需资源,而无需在编写组件代码时就加以指定,从而在相当程度上降低了组件之间的耦合。 Spring 通过依赖注入模式,将依赖关系从编码中脱离出来,从而大降低了组件这间的耦合,实现了组件真正意义上的即插即用。这也是Spring最具价值的特性这一。 面向接中编程。 诚然,即使没有Spring,实现面向接中的设计也不呆难。Spring对于面向接口设计的意义,在于它为面向接口编程提供了一个更加自然的平台。基于Spring开发,来自于Spring所提供的简单舒适的依赖注入实现。Spring使得接口的定义和使用不在像传统编码过程中那么繁琐。(传统编码过程中 阅读全文
摘要:
注:对Struts进行扩展有三种方法(1.修改ActionServlet,2.继承RequestProcessor.3.做一插件继承PlugIn)问题:有时候你需要在应用程序启动时装载一些数据到程序上下文中或执行某些操作。解决方法:创建一个实现了org.apache.struts.action.PlugIn接口的类文件并在struts-config.xml中设置plug-in元素。以下代码片段显示了一个plug-in生命声明和一个自定义的set-property子元素:plug-in className="com.oreilly.strutsckbk.CustomPlugin" set- 阅读全文
摘要:
---base标签--- 使用base标签最主要的原因,是为了确保文档中所有的相对URL都可以被分解成正确的文档地址,即使在文档本身被移动或重命名的情况下也可以正确解析。 在创建文档集合时,使用base标签尤为重要。通过在每个文档中放置正确的base标签,就可以在目录甚至服务器之间移动整个文档集合,而不会破坏文档中任何链接。如果想要让用户查询指向一个与主文档URL不同的URL,那么也需要为可搜索文档( isindex)使用base标签。 当文档同事包含isindex标签和其他相对URL时,如果相对URL与所希望的索引处理URL无关,那么就可能会出现问题。正因为这个 阅读全文
摘要:
在1.0版本中我们通常都是用execute方法来完成我们对业务逻辑的处理及页面的转发。通常在一个Action中我们都只能够完成一种业务逻辑的操作。如果要是完成多个业务逻辑(比如:添加、删除等)功能相近的业务逻辑我们就没有办法了么?答案是否定的,我们可以通过在页面中定义一个隐藏变量,在不同的页面要求处理不同的业务逻辑的时候我们可以赋予这个变量不同的值,并在execute方法中通过对变量值的判断来完成不同的业务逻辑操作。 举例来说,我们首先在页面中定义一个隐藏变量。 html:hidden property="operAt"/ 然后定义一个JavaScript函数,我们可以在通过点击提交按钮的 阅读全文
摘要:
注:Form有四种:{\import org.apache.struts.action.ActionForm;(静态Form)import org.apache.struts.action.DynaActionForm;(动态Form)import org.apache.struts.validator.DynaValidatorActionForm;(动态Form'过程'验证,在Validation.xml中应注意的是:form name="/loginForm" /form中name的值应'访问为路径')()import org.apache.struts.validator.Dy 阅读全文
摘要:
1 FormAction应该为import org.apache.struts.validator.ValidatorForm;public class LoginForm extends ValidatorForm{。。。去掉validator() 和 reset()方法}2 创建validation.xml文件?xml version="1.0" encoding="UTF-8"?!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configurati 阅读全文
摘要:
1修改struts-config.xml中form-beansform-beansform-bean name="regeditForm" type="org.apache.struts.action.DynaActionForm"form-property name="username" type="java.lang.String"/form-property name="password" type="java.lang.String"//form-bean/form-beans----------------------------------------- 阅读全文
摘要:
String hql="delete from Useradd here addid =10 ";//Useradd为类名.addid为Useradd的属性//.特别要注意该hql语句中的Useradd不能有别名.UserDao userdao=new UserDao();boolean flag=userdao.deletebyJdbcAPI(String hql);public class UserDao{public boolean deletebyJdbcAPI(String hql){boolean flag=false;Session session=HibernateSessio 阅读全文
摘要:
把有关数据库配置的信息写在文件中,并且保存在项目内,在程序中读取文件中的信息,从而进行数据库连接. 在Java中提供了Properties类,来读取 .properties(属性)文件. 在项目默认路径(src)下创建文件.名称为 db.properties(名称可自定义,扩展名必需为properties),编辑文件内容所下所示:driver=com.microsoft.jdbc.sqlserver.SQLServerDriverurl=jdbc:microsoft:sqlserver://localhost:1433;databaseName=booksuser=sapassword=120 阅读全文
摘要:
今天在做小练习时遇到有关List在迭代时的一些小问题.写出与大家一起共享下吧..呵呵... ===================代码============================public List getFavoriteBytag(String tagString) {Session session = HibernateSessionFactory.getSession();List list = null;// List resultList = null;String hqlString = "from Favorite";String[] tagStrings = n 阅读全文
摘要:
在Spring中所谓的内部bean(inner bean)是指一个bean 的property/或constructor-arg/元素中使用bean/元素定义的bean.内部bean 定义不需要有id或name属性,即使指定id或name属性值也将会被容器忽略.在Spring中通过list/,set/, map/及props/元素可以定义和设置与Java Collection 类型对应List, Set ,Map 及Properties的值.以下是个关于内部bean和集合的例子.applicationContext.xml文件:=================== 阅读全文
摘要:
在struts 中要想自定义异常,首先我们要写一个普通的java类来继承RuntimeException如下所示:package exception;public class MyException extends RuntimeException {public MyException() {super();}}然后我们可以在业务逻辑层(biz)的方法中的try...catch()....中throw 一个刚才我们自定义的那个异常(MyException).代码如下所示: public List getList() {List list = null;Session session = Hi 阅读全文
摘要:
IOC详解 一、IOC IoC就是Inversion of Control,控制反转。在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。 下面我们以几个例子来说明什么是IoC。假设我们要设计一个Girl和一个Boy类,其中Girl有kiss方法,即Girl想要Kiss一个Boy。那么,我们的问题是,Girl如何能够认识这个Boy? 在我们中国,常见的MM与GG的认识方式有以下几种:1青梅竹马;2亲友介绍;3父母包办。 那么哪一种才是最好呢? 青梅竹马:Girl从小就知道自己的Boy。 代码 public class Girl ...{ voi 阅读全文
摘要:
1 listener listener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listenercontext-param param-namecontextConfigLocation/param-name param-value/WEB-INF/classes/applicationContext.xml /WEB-INF/classes/a.xml/param-value /context-param ApplicationContext 阅读全文
摘要:
1.分析需求 2.分析得出所有的表 3.创建数据库(此处以mySql为例,数据库名为DB_mldn) 建表(用sybase等工具生成数据库语言) mySql的connection.url = "jdbc:mysql://localhost:3306/DB_mldn" connection.Driver_class = "com.mysql.jdbc.Driver" 4.在MyEclipse下创建web project ,名称为:MyZntDemo 以此添加 spring,Hibernate,Struts 支持 5.在配置文件中添加以下代码 no.1 在 applicationConte 阅读全文
摘要:
?xml version="1.0" encoding="UTF-8"?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.springframework.org/schema/beans/spring-beans-2.0.xsd"bean id="datasource" 阅读全文
摘要:
?xml version="1.0" encoding="UTF-8"?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.springframework.org/schema/beans/spring-beans-2.0.xsd"bean name="/login" c 阅读全文
摘要:
Servlet action is not available解决方法问题原因:1.、web.xml文件中未配置ActionServlet。2、struts-config.xml文件未配置你要访问的Action。3、你的jsp文件form标记中action属性的路径名称错误。针对以上3种情况相应的解决方案如下:1、在web.xml文件中加上ActionServlet的配置信息actionorg.apache.struts.action.ActionServletconfig/WEB-INF/struts-config.xmldebug0detail022、在struts-config.xml文 阅读全文
摘要:
这些标识最早是在EJB中定义的,你可以参考EJB的Transaction申明:事务的属性和基本概念 Required: 如果在一个事务中调用,就把该方法加到此事务中来,如果还没有启动事务,就启动一个新事务RequiredNew: 不管当前有没有事务,都会启动一个新事务,如果当前有事务,会被挂起直到方法结束NotSupported: 不能在事务中执行此方法。如果有事务,将会被挂起直到方法结束Supports: 如果当前有事务,此方法会加到当前事务,如果没有,容器也不会启动新事务Mandatory: 必须在事务中调用此方法,否则抛出异常:TransactionRequiredExceptionNe 阅读全文
摘要:
dwr实现AJAX非常先进。比如动态生成javaScript代码;隐藏的HTTP协议,javascript用于java代码交互的javaScript对象。 自从我开始DWR感觉DWR是用javaScript对象去代替java类的对象去做某些事情。 比如一个java类名为:ShowHello 当你在dwr.xml文件做了映射 javascrip对象叫 showHello 那么你在html文件或jsp文件中想使用ShowHello中的某些方法。那就可直接使用showHello就可以了。dwr就是这样的功能。 使用时要注意以下几点: 1.引入两个包。dwr.jar,xalan.jar这个包一般 阅读全文
摘要:
Direct Web RemotingDWR allows Javascript in a browser to interact with Java on a server and helps you manipulate web pages with the results.DWR is Easy Ajax for Java官方网站:http://getahead.ltd.uk/dwr///DWR--不错的Ajax框架之一本文内容: DWR介绍 DWR原理 DWR开发步骤 dwr.xml说明 DWR核心引擎 DWR工具包 DWR介绍What is DWR?: 在服务器上运行的Servlet 阅读全文
摘要:
DWR介绍 DWR是Direct Web Remoting 的缩写。 DWR 是一个开放源码的使用 Apache 许可协议的解决方案,它包含服务器端 Java 库、一个 DWR servlet 以及 JavaScript 库。虽然 DWR 不是 Java 平台上唯一可用的 Ajax-RPC 工具包,但是它是最成熟的,而且提供了许多有用的功能。 从最简单的角度来说,DWR 是一个引擎,可以把服务器端 Java 对象的方法公开给 JavaScript 代码。使用 DWR 可以有效地从应用程序代码中把 Ajax 的全部请求-响应循环消除掉。这意味着客户端代码再也不需要直接处理 XMLHttpRequ 阅读全文
摘要:
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQ 阅读全文
摘要:
1、工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 2、建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。 3、工厂方法模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化 阅读全文
摘要:
本人对dwr 中文文档关于dwr.xml做的一个整理,纯粹体力活,有用得着的朋友别忘顶一下,留个联系方式一起交流学习!dwr.xml是DWR的配置文件。默认情况下,应该把它放到WEB-INF目录(web.xml的目录)下dwr.xml文件的结构如下:!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"dwr !-- init is only needed if you are extending DWR 阅读全文
摘要:
XFire和其它类库 现在是最后一步了,需要得到所有必需的类库。我们怎样得到它们呢?去XFire网站,下载xfire-distribution-1.0.zip,然后解压到一个本地文件夹。复制下面的jar文件和它的库文件夹到WEB-INF/lib中: ? activation-1.0.2.jar ? commons-codec-1.3.jar ? commons-httpclient-3.0.jar ? commons-logging-1.0.4.jar ? jaxen-1.1-beta-8.jar ? jdom-1.0.jar ? log4j-1.2.x.jar 阅读全文
摘要:
查看文章Asp.net动态生成html页面2007-06-17 09:51此功能适用于后台数据库功能不强的web站点,即大部分文本不是存放在数据库的记录中,而是放在html文件或者xml文件中,仅仅把索引放到数据库中,如文章标题、类别、查询关键字等。这样适合于后台没有诸如MS Sql Server这样的数据库支持的Web站点。 适用于新闻发布系统,比如sina、163等都是采用动态生成html页面的。 适用于需动态定制页面的程序。比如论坛、聊天室等。可以加载定制好的html页面,来加强美观。 思路 1. 利用如Dw-Mx这样的工具生成html格式的模板,在需要添加格式的地方加入特殊标记(如$h 阅读全文
摘要:
package png.houtai;import java.util.*;import java.sql.*;import javax.servlet.jsp.tagext.*;import javax.servlet.jsp.JspWriter;import png.db.DB;public class bookTag extends TagSupport {public bookTag() {try {jbInit();} catch (Exception ex) {ex.printStackTrace();}}private String page="1"; private Strin 阅读全文
摘要:
前一段时间在学习NHibernate的时候,被那些配置弄得糊里糊涂,有一些很细微的地方不知道错在哪里,花了很多的时间去寻找,最后才调试通过,这里我就把遇到错误的地方以及怎么解决这些错误的方法贴出来,至于怎么利用NHibernate去开发,这个网络上有很多的Demo,大家都可以从网络上找得到并下载下来看,所以我就不附上了,OK...言规正传,以下呢,主要就是在配置方面的三种错误: 1.你得注意你的*.hbm.xml配置档中NHibernate的版本号. hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"此处的2.2代表了NHibern 阅读全文
摘要:
在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦和浪费时间的。NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。NHibernate不仅仅管理.NET类到数据库表的映射(包括.NET 数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发 阅读全文