re: 为何new了一次,却执行了好几次? eyejava 2008-11-18 18:40
工厂ApplicationContext会提前在容器中初使化一些实例,但用户使用时,再从容器中取一个给用户。
@sclsch
谢谢你的建议,我现在src下的已经删了,只留了web-info下的配置文件。
你的做法很好,用classpath应该定位的到,以前只看到程序里面用,没想到配置文件里也可以用它来定位。
放到src下,布署后是在classes目录下。
加载spring配置文件还是放到src下比较好。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext-hibernate.xml,
classpath:applicationContext-dao.xml,
classpath:applicationContext-service.xml,
classpath:applicationContext-struts.xml
</param-value>
</context-param>
。。。
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
re: easyjweb求教 开机 2008-08-30 19:16
我明白了,自动生成的工程差个文件easyjweb-ext-1.1.jar。按官方的说法基本的应用,easyjweb-core-1.1.jar和required文件夹下的jar就够了。也不知道为什么偏偏要把扩展工具包加上去,eclipse才肯编译,哪怕源文件是最简单java文件:
package qqq;
public class Qqq {
}
re: extjs做的信息管理系统 开机 2008-08-30 08:45
@Java爱好者
肯是没导入数据库
re: extjs做的信息管理系统 开机 2008-08-30 08:44
@AlleNny
我firefox空白页面时占内存32M,运行程序时占内存67M,除非是老爷机,现在的机器用起来都没问题。就是刚开始的时候慢,js做的系统都是这样的。
re: extjs做的信息管理系统 开机 2008-08-30 08:35
@Java爱好者
我邮箱 yijia_ctgu@yahoo.com.cn
re: extjs做的信息管理系统[未登录] AlleNny 2008-08-29 23:09
建议慎用,非常耗内存
re: extjs做的信息管理系统[未登录] Java爱好者 2008-08-29 19:43
如何与你联系
交流交流
re: extjs做的信息管理系统[未登录] Java爱好者 2008-08-29 19:42
无法运行啊
你看的这里的代码是以前的,最近由于在项目中的应用,代码又增加了很多,完善了一些,尤其是操作数据库的工具做成了和具体的数据库无关的,有人说好有人说不安全,总之这算是创新吧(我自己是没发现以往有象这样做的,呵呵也许这样并不是很好吧)。代码在随笔:自己动手做试卷管理系统-操作数据库的工具 里可以看到,还有一篇随笔: js带来了改变 看了之后就明白什么是与具体的数据库无关的工具了。
@kevin
包装数据库返还的数据,Row是数据库的一行记录,set是集合的意思,Dyna好像是指延迟。
以下是摘抄别人的:
ResultSetDynaClass (Wraps ResultSet in DynaBeans)
一个很普通的DynaBean 的USER CASE就是用它来包装其他原始集合,这些集合不是以JAVABEAN的形式展示的。最常见的情况就是当你请求JDBC驱动查询SQL语句返回java.sql.ResultSet类型的记录的时候,BeanUtils提供了标准的机制来把每一行resultset转变为一个 DynaBean,参照下列:
Connection conn = ...;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery
("select account_id, name from customers");
Iterator rows = (new ResultSetDynaClass(rs)).iterator();
while (rows.hasNext()) {
DynaBean row = (DynaBean) rows.next();
System.out.println("Account number is " +
row.get("account_id") +
" and name is " + row.get("name"));
}
rs.close();
stmt.close();
RowSetDynaClass (Disconnected ResultSet as DynaBeans)
尽管ResultSetDynaClass是一个用来展示sql查询的很好的技术(当成DynaBean),但是最大的问题就是在MVC的结构之中,我们需要离线的取出查询的所有数据,而ResultSetDynaClass必须保持和数据库相连。
RowSetDynaClass 展示了解决这个问题的不同方法。当你构造这样的实例,那些原始的数据被复制到一系列in-memory 的DynaBeans来代表这些结果。这个技术的优势是,理所当然,你可以立即关闭ResultSet(和他相连的Statement),这些操作都可以在你处理被返回的数据之前。缺点就是,你需要为复制数据所需要的性能和内存买单,而且数据的大小还得让堆内存可以适合。在许多情况下(特别是WEB APPS),这种折衷是有益处的。
额外的方便就是,RowSetDynaClass 被定义为java.io.Serializable的实现,因此它可以被序列化和反序列化。因此RowSetDynaClass展示了一种十分便利的方法来传输SQL结果到远程Java-based 客户端应用程序(比如APPLET).
基本的RowSetDynaClass使用模式如下所示:
Connection conn = ...; // Acquire connection from pool
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT ...");
RowSetDynaClass rsdc = new RowSetDynaClass(rs);
rs.close();
stmt.close();
...; // Return connection to pool
List rows = rsdc.getRows();
...; // Process the rows as desired
WrapDynaBean and WrapDynaClass
对于这个类,我也不是很懂,只是知道怎样用而已,希望我的回答会对你有帮助。
re: js带来了改变。 开机 2008-08-13 18:56
@leekiang
多谢夸奖!
不知道他们具体是怎么做的?
re: js带来了改变。 开机 2008-08-13 18:55
@隔叶黄莺
客户端和服务器端都是我一人做,的确与数据库交互起来很轻松。
为什么怕客户端随意修改表记录?我现在基本上快做完了,还没遇到这个问题带来了麻烦。也许是因为我做的是很小很小的项目吧。
做这样的小项目,我觉得用自己做的这个工具很简洁,不需要把时间浪费到重复性的工作上。
re: js带来了改变。 开机 2008-08-13 18:49
@一杯清茶
是的,我尝试的是小项目,所以才敢这样做。我也只是初学者,不知道遇到大项目,到底会出什么问题?
re: js带来了改变。 HiMagic! 2008-08-12 17:39
并不是所有的客户端都具有攻击性,比如系统的使用者为了简化操作,完全可以让HTM+JS通过UI操作数据库。
re: js带来了改变。 leekiang 2008-08-12 17:30
很多"架构师"也跟你想得一样。
re: 从明天起[未登录] kevin 2008-08-12 16:50
if you ...........
it's not so bad
import org.apache.commons.beanutils.RowSetDynaClass;
这个是什么类,具体有什么作用!
re: js带来了改变。 隔叶黄莺 2008-08-12 13:38
当客户端要随意修改你的表记录都很轻松了。
re: js带来了改变。 一杯清茶 2008-08-12 10:13
大哥,这样也太开放了吧,表结构,表属性,表数据相当于敞开门给别人看嘛,如果是小项目,且数据不重要的话还可以用用,不然就不要暴露给客户端了
re: 幻想sql语句 开机 2008-07-26 21:39
我已经找到答案了:
sea_sky(××××××) 2008-07-26 12:02:24
可以的
不过"表名"和"属性名"不用加单引号''
而"属性值"要不要加单引号需要根据字段的类型而定
比如属性是char,varchar或date型,sql语句可写成:
String sql="delete from "+tableName+" where "+property+"='"+propertyName+"'";
而属性是int型,sql语句可写成:
String sql="delete from "+tableName+" where "+property+"="+propertyName;
你的sql语句失败,我估计主要是没有考虑到要不要加引号这个细节问题,稍微注意一下应该能行的~~
总结:char varchar date 之所以多加一个单引号,就像java里面的 String s="123"; 一样来表示s是个字符串而不是int。
re: 学习java web的一点体会 开机 2008-06-09 23:15
@ardorleo
多谢了,以后还请多多指教。
re: 学习java web的一点体会 ardorleo 2008-06-09 10:04
spring远不只是整合资源;servlet原本不是控制器;struts也不只是servlet,Struts的Action是个浓缩的Servlet;hibernate不是Model层,是数据持久层的一部分
re: js菜鸟初学,请各位多指教 开机 2008-05-15 09:46
文中:Form我以前还以为是html里面的,原来是js那一部分的。
我理解错误了,我昨天看了JS中的DOM才知道,JS可以对网页中的很多对象进行控制,通讯。FORM是HTML的,JS只是控制它,除此外,JS还可以和JAVA程序通讯,控制JAVA对象。不知道我的理解有没有错误?
JS太强大了!
我也是在重写formbean的validate()时
ActionErrors errors
errors.add( ActionErrors.GLOBAL_MESSAGE,new ActionError("error.name.required"));
在error.jsp中<html:errors/>能接受倒错误信息
如果是ActionMessage 就报cast class exception
能够实现的功能基本一样,主要是语义的区别,message用于做一些提示和确认的文字,error则是错误提示。struts标签默认情况下也会使用不同的html标记和格式显示它们。
re: 从明天起[未登录] 阿蜜果 2007-08-13 09:52
@开机
如果你真有心改变
那应该每天跟自己说:从现在起。。。
而不是跟自己说:跟明天起...
我的要是,莫名其妙的厉害,
GG上也搜不出来什么,唉,郁闷.
兄弟如果找到解决方法后,记得转告下,谢谢.:)
借宝地一用。
顺便在这里求助下。
我在一台机器上生成mysql数据库映射的时候出现问题,
而在另台机器上却可以。
奇怪的是两台机器生成oracle数据库映射都完全没有问题。
myeclipse真让我很郁闷。
后来我有从新安装了MyEclipse,发现就正常了,突然想起,以前安装过openxava插件,它和数据库有关的,也许就是它在作怪吧。
所以,尽量不要装插件,除非你清楚这个插件的功能和使用带来了“副作用”。