前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据源及分层开发

数据源及分层开发

作者头像
xiaozhangStu
发布2023-05-04 19:31:41
3300
发布2023-05-04 19:31:41
举报
文章被收录于专栏:xiaozhangStuxiaozhangStu

数据源及分层开发

JNDI(简单的了解下,这个已经不用了)

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

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

作用于优点

在应用与Java对象或资源之间建立松耦合的逻辑关联,简化应用对于资源的配置及维护工作 可以在更大范围、不同应用之间共享资源

JNDI实现步骤
1.修改Tomcat\conf\context.xml文件
代码语言:javascript
复制
<Context>
   <Environment name="tjndi" value="hello JNDI" type="java.lang.String" />
</Context>
​
2.获取资源
代码语言:javascript
复制
<%
// javax.naming.Context提供了查找JNDI 的接口
Context ctx = new InitialContext(); 
// java:comp/env/为前缀
String testjndi = (String) ctx.lookup("java:comp/env/tjndi");
out.print("JNDI: " + testjndi);
%>
​

javax.sql.DataSource应用

实现步骤
配置context.xml文件
代码语言:javascript
复制
<Context>
   <Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource"
      maxActive="100" maxIdle="30" maxWait="10000" username="newsu"
      password="123456" driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://127.0.0.1:3306/newsmanagersystem?
              useUnicode=true&amp;characterEncoding=utf-8" />
</Context>
​

属性名称

说明

name

指定Resource的JNDI名称

auth

指定管理Resource的Manager

type

指定Resource所属的Java类

maxActive

指定连接池中处于活动状态的数据库连接的最大数目

maxIdle

指定连接池中处于空闲状态的数据库连接的最大数目

maxWait

指定连接池中的连接处于空闲的最长时间

配置web.xml文件
代码语言:javascript
复制
<resource-ref>
​
    <res-ref-name>jdbc/news</res-ref-name>
​
    <res-type>javax.sql.DataSource</res-type>
​
    <res-auth>Container</res-auth>
​
</resource-ref>
​
添加数据库驱动文件

把数据库驱动jar文件,加入到Tomcat的lib中,并且添加构建路径

进行代码编写,获取数据源
代码语言:javascript
复制
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class BaseDao {
   public Connection getConnection () {
      Connection conn = null;
      try { //获取与逻辑名相关联的数据源对象
         Context ctx = new InitialContext();
         DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/news");
         conn = ds.getConnection();              
      } catch (SQLException exception) {
         exception.printStackTrace();
      } catch (NamingException namingException)      
         namingException.printStackTrace();
      }
      return conn;
   }  
}

JavaBean

概述

就是一个Java类

作用

封装业务逻辑 封装数据

jsp:useBean标签

装载一个将在JSP页面中使用的JavaBean

代码语言:javascript
复制
<jsp:useBean id="name" class="package.class"  scope="scope" >

include指令

示例

静态包含,将被包含页面的内容包含进来。先包含,再处理

代码语言:javascript
复制
<%@  include file="loginControl.jsp" %>
​

jsp:include标签

动态包含,将被包含页面的结果包含进来。先处理,再包含

代码语言:javascript
复制
<jsp:include page="URL">

jsp:forward标签

类似转发

代码语言:javascript
复制
<jsp:forward page="URL">

base标签

作用 a标签就不会另开页面去跳转了,就在iframe展示
代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title></title>
<base target="fram">
</head>
<body>
​
<p><a href="//www.taobao.com/">淘宝</a> </p>
<iframe name="fram" src="http://www.baidu.com" width="500px" height="500px"></iframe>
</body>
</html>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据源及分层开发
    • JNDI(简单的了解下,这个已经不用了)
      • javax.sql.DataSource应用
        • JavaBean
          • jsp:useBean标签
            • include指令
              • jsp:include标签
                • jsp:forward标签
                  • base标签
                  相关产品与服务
                  数据库
                  云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档