使用分层实现业务处理

      1.什么是JNDI

            1.Java  Naming  and  Directory  Interface,Java命名和目录接口

            2.通过名称将资源与服务进行关联

      2.优点和作用

            1.在应用与Java对象或资源之间建立松耦合的逻辑关联,简化应用对于资源的配置及维护工作

            2.可以在更大范围、不同应用之间共享资源

      3.JNDI如何实现在Tomcat中发布一条信息供所有的Web应用程序使用

            1.发布信息:先修改Tomcatconfcontext.xml文件

                <Context>

                        <Environment  name="tjndi"  value="hello  JNDI"  type="java.lang.String"  />    ※:JNDI的查找   name="tjndi"

                </Context>

            2.获取资源:使用lookup()进行查找

               //javax.naming.Context提供了查找JNDI的接口

                  Context  ctx = new  InitialContext();          ※:初始化Context对象

              //java:comp/env/为前缀

             //调用lookup()方法

                  String  testjndi = (String) ctx.lookup("java:comp/env/tjndi");

      4.为什么使用连接池

            1.传统数据库连接方式的不足

               需要经常与数据库建立连接,在访问结束后必须关闭连接释放资源

               当并发访问数量较大时,执行速度受到极大的影响

               系统的安全性和稳定性较差

      5.生活中的连接池

          热线电话----多名接线员可以处理多个来电

      6.DataSource与连接池

         javax.sql.DataSource接口的实现类

           负责管理和数据库的连接

           以连接池的形式对数据库连接进行管理

      7.获取DataSource实例

            Tomcat支持将DataSource实现发布为JNDI资源

             Web应用通过JNDI获得DataSource引用、

          8.使用连接池实现数据库连接

           1.配置context.xml文件

               <Context>

                <Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="用户名" password="密码"                                                                              driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/数据库名称? useUnicode=true&amp;characterEncoding=utf-8" />

             </Context>

             2.配置web.xml文件

             <resource-ref>

                         <res-ref-name>jdbc/news</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>

             3.添加数据库驱动文件

             4.进行代码编写,查找并获取数据源

<%
    hahaha h = new hahaha();
    String a = h.textcon1();
    out.print(a);
%>

         9.三层架构

            主要分为表示层、业务逻辑层、数据访问层

           表示层:与用户交互 收集数据 展示结果

           业务逻辑层:根据业务需要控制执行过程,进行事务管理

           数据访问层:提供与业务无关的数据访问操作

        10.层与层之间的关系

           11.分层开发的优势

               1.职责清晰

               2.无损替换

               3.复用代码

               4.降低了依赖程度

原文地址:https://www.cnblogs.com/yangshuwen/p/13368760.html