J2EE相关概念

JNDI:
个人理解,就是将要引用的外部资源写在配置文件里,由容器读取配置文件去获取资源,很多时候是基于反射动态加载对象资源,这样由硬编码转向了配置文件,系统更灵活。

直接使用JDBC硬编码(在程序中手动写Class.forName(“com.mysql.jdbc.Driver”, ……); Connextion conn=DriverManager.getConnection(“url?user=&password=”); )或者通过JNDI引用数据源(把硬编码参数提取到配置文件中)的编程代码量相差无几,但是现在的程序可以不用关心具体JDBC参数了。
在系统部署后,如果数据库的相关参数变更,只需要重新配置 mysql-ds.xml 修改其中的JDBC参数,只要保证数据源的名称不变,那么程序源代码就无需修改。
由此可见,JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。

JNDI的扩展:JNDI在满足了数据源配置的要求的基础上,还进一步扩充了作用:所有与系统外部的资源的引用,都可以通过JNDI定义和引用。

J2EE 规范要求所有 J2EE 容器都要提供 JNDI 规范的实现。JNDI 在 J2EE 中的角色就是“交换机” —— J2EE 组件在运行时间接地查找其他组件、资源或服务的通用机制。
在 J2EE 中,JNDI 是把 J2EE 应用程序合在一起的粘合剂,JNDI 提供的间接寻址允许跨企业交付可伸缩的、功能强大且很灵活的应用程序。这是 J2EE 的承诺,而且经过一些计划和预先考虑,这个承诺是完全可以实现的。

参考:http://blog.csdn.net/sunkobe2494/article/details/50824359

**Tomcat容器和Spring容器:
Java项目跟jvm进程数量没什么直接关系。通常我们用java 命令运行一个程序就会启动一个jvm进程,就是你所说的jvm实例。可以看看tomcat的启动脚本(非常复杂),但最终是通过一个java命令启动tomcat容器。webapp运行于tomcat容器基础之上,和tomcat同属于一个jvm进程是必然的。至于spring,容器的概念更多是逻辑上的,它仅仅是一个类(ApplicationContext,BeanFactory)的实例。web应用启动时加载一个WebApplicationContext实例,即我们所说的spring容器。**

参考:https://zhidao.baidu.com/question/358515728.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值