Java中JNDI的配置
方案一步骤:
1、配置Tomcat\conf\context.xml添加 <Resource>
<Resource name="jdbc/books" auth="Container"
type="javax.sql.DataSource" maxActive="100" maxIdle="30"
maxWait="10000" username="sa" password=""
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=books" />
name 指定Resource的JNDI名称
auth 指定管理Resource的Manager(Container:由容器创建和管理|Application:由Web应用创建和管理)
type 指定Resource所属的Java类
maxActive 指定连接池中处于活动状态的数据库连接的最大数目
maxIdle 指定连接池中处于空闲状态的数据库连接的最大数目
maxWait 指定连接池中的连接处于空闲的最长时间,超过这个时间会抛出异常,取值为-1,表示可以无限期等待
2、拷贝相应的jar包到Tomcat\common\lib中
/server/lib目录下的jar文件只能被Tomcat服务器访问
/shared/lib目录下的jar文件可以被所有的web应用程序访问,但不能被Tomcat服务器访问
/common/lib目录下的jar文件可以被Tomcat服务器和所有的web应用程序访问。
3、配置web项目中的web.xml添加 <resourc-ref>
<resource-ref>
<res-ref-name>jdbc/books</res-ref-name> 指定JNDI的名字,与<Resource>元素中的name一致
<res-type>javax.sql.DataSource</res-type> 指定引用资源的类名,与<Resource>元素中的type一致
<res-auth>Container</res-auth> 指定管理所引用资源的Manager与<Resource>元素中的auth一致
</resource-ref>
4、java代码
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
//获取Co
相关文档:
看看下面程序将输出什么结果:
/**
* ShowExtending
* 演示继承时的现象
*/
class SupCls {
static String s1 = "父类类变量s1";
String s2 = "父类实例变量s2";
SupCls(){
System.out.println("父类构造器被访问");
}
public static void f1(){
......
花了两天时间,终于把access数据库里的数据换到Oracle了。当然这其中要感谢同学和博友的热心帮助拉。现将今天的收获整理下。
我用的是Oracle 10 express edition版本,这个版本建数据库挺麻烦的,所以我就直接在它自带的数据库XE下建表了。
注意:建表可一定要 ......
刚刚运行java HelloWorld.class,老是说:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
Caused by: java.lang.ClassNotFoundException: HelloWorld.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  ......
l组件从功能上分可分为:
1) 顶层容器:JFrame,JApplet,JDialog,JWindow
2) 中间容器:JPanel,JScrollPane,JSplitPane,JToolBar
3) 特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame,JLayeredPane,JRootPane.
1.JFrame的用法
1) 用getContentPane( )方法获得JFrame的 ......