当前位置: 技术问答>java相关
jive源代码问题!狂送分!!
来源: 互联网 发布时间:2015-06-04
本文导语: 研究JIVE也又好长一段时间了,问题就是出在JIVE里的jsp设计,比如创建用户,论坛,发贴什么的好象都与database无关,但实际上在它的database里全部都是与数据库有关的类(DB*.class),但在jsp里怎么好象没有用到DBUser或DBUserManager之...
研究JIVE也又好长一段时间了,问题就是出在JIVE里的jsp设计,比如创建用户,论坛,发贴什么的好象都与database无关,但实际上在它的database里全部都是与数据库有关的类(DB*.class),但在jsp里怎么好象没有用到DBUser或DBUserManager之类的class呢?而在jsp源代码只是把interface给定义,设置,那在jsp里怎么与数据库打交道呢?又怎么把页面提交的数据如用户名称,密码,email等信息插到数据库呢?我百思不得其解,甚是苦恼,特请指点!谢谢!
如:createUser.jsp片断
ProfileManager profileManager = null;
if( !errors && doCreate ) {
// get a profile manager to edit user properties
profileManager = forumFactory.getProfileManager();
try {
User newUser = profileManager.createUser(username,password,email); //jive是怎么把信息插到数据库里的??
newUser.setName( name ); //newUser是接口啊!不能赋值吧?为什么要这样呢?
newUser.setEmailVisible( emailVisible );
newUser.setNameVisible( nameVisible );
success = true;
}
catch( UserAlreadyExistsException uaee ) {
errorUserAlreadyExists = true;
errorUsername = true;
errors = true;
}
catch( UnauthorizedException ue ) {
errorNoPermissionToCreate = true;
errors = true;
}
}
如:createUser.jsp片断
ProfileManager profileManager = null;
if( !errors && doCreate ) {
// get a profile manager to edit user properties
profileManager = forumFactory.getProfileManager();
try {
User newUser = profileManager.createUser(username,password,email); //jive是怎么把信息插到数据库里的??
newUser.setName( name ); //newUser是接口啊!不能赋值吧?为什么要这样呢?
newUser.setEmailVisible( emailVisible );
newUser.setNameVisible( nameVisible );
success = true;
}
catch( UserAlreadyExistsException uaee ) {
errorUserAlreadyExists = true;
errorUsername = true;
errors = true;
}
catch( UnauthorizedException ue ) {
errorNoPermissionToCreate = true;
errors = true;
}
}
|
我用jive很长时间了。现在开发的论坛内核也用的是jive。
从2.5版开始,jive开始接近一流forum水平,它的整个系统框架和
许多代码设计都是非常有研究价值的。
上面已经说了很多,在我看来,jive在操作数据库过程中,它创建的
对象虽然都是接口类,但是,在实例化的时候,使用的是实现类。也
就是DB*.class,比如上面的User.class,在定义对象后,接口类和
实现类同时进行实例化。然而,所有的操作数据库,都是在DB*.class
这些类的saveToDb(),loadFromDb()等方法中实现。
呵呵,这么大个东东,要说清楚真是累。欢迎和我交流:
taochina@msn.com
以上只是我的一点使用心得,请指正。
从2.5版开始,jive开始接近一流forum水平,它的整个系统框架和
许多代码设计都是非常有研究价值的。
上面已经说了很多,在我看来,jive在操作数据库过程中,它创建的
对象虽然都是接口类,但是,在实例化的时候,使用的是实现类。也
就是DB*.class,比如上面的User.class,在定义对象后,接口类和
实现类同时进行实例化。然而,所有的操作数据库,都是在DB*.class
这些类的saveToDb(),loadFromDb()等方法中实现。
呵呵,这么大个东东,要说清楚真是累。欢迎和我交流:
taochina@msn.com
以上只是我的一点使用心得,请指正。
|
public class B
{
public static void main(String[] args)
{
a obja=A1.geta();
obja.p("interface test");
}
}
////////////
public interface a
{
public void p(String str);
}////////////////
public class A1 implements a
{
private static A1 objA1;
public void p(String str)
{
System.out.println(str);
}
public static a geta()
{
objA1=new A1();
return objA1;
}
}
存为三个文件,然后编译!java B运行!