JDBC学习总结(二)

一、数据库与连接池

1、概念

数据源的作用是获取数据库连接,而连接池则是对已经创建好的连接对象进行管理。

2、数据源的配置

配置Tomcat服务器的配置文件:在Tomcat服务器的conf/context.xml文件中添加如下信息

<Resource name="jdbc/news" 
auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"    username="root" password="123" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/newsmanagersystem?
              useUnicode=true&amp;characterEncoding=utf-8" />

3、使用JNDI读取数据源

JNDI(Java Naming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。

1)编写程序获取数据源
public Connection getConnection() {
        Context ctx;
        try {
            ctx = new InitialContext();
            DataSource ds  =(DataSource)ctx.lookup("java:comp/env/jdbc/dept");                                                                
            conn=ds.getConnection();        
        } catch (NamingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  
        return conn;
    }
2)调用数据源得到连接

在JSP中编写代码,实现数据源的调用

<%
   BaseDao baseDao=new BaseDao();
   Connection conn=baseDao.getConnection();
   out.print(conn);
%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package org.news.servlet.back; import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.news.entity.Topic; import org.news.service.TopicService; import org.news.service.impl.TopicServiceImpl; /** * 后台主题Servlet */ public class TopicServlet extends HttpServlet { private static final Logger logger = Logger.getLogger(TopicServlet.class); private TopicService topicService = new TopicServiceImpl(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); // 设置响应内容格式和编码格式,相当于JSP的page指令的contentType属性 HttpSession session = request.getSession(); // 获取session对象 PrintWriter out = response.getWriter(); // 获取out对象(响应输出字符流) ServletContext application = super.getServletContext(); // 获取application对象(Servlet上下文对象) String contextPath = request.getContextPath(); // 获取上下文路径(重定向) String opr = request.getParameter("opr"); // 获取请求参数opr的值,opr代表是什么类型的请求 if (opr == null) { // 如果不传参数opr时,不处理会引发NPE(NullPointerException) response.sendError(500, "opr参数是必须的"); // 发送错误代码500(内部代码错误)及提示信息,可在web.xml中定制报错页面 return; } switch (opr) { case "addTopic": // 添加主题操作: http://localhost:8080/NewsManagerSystem/newspages/topic?opr=addTopic addTopic(request, response); break; case "modifyTopic": // 获取要修改的主题操作: http://localhost:8080/NewsManagerSystem/newspages/topic?opr=modifyTopic&tid=29 modifyTopic(request, response); break; case "domodifyTopic": // 修改主题操作: http://localhost:8080/NewsManagerSystem/newspages/topic?opr=domodifyTopic domodifyTopic(request, response); break; case "deleteTopic": // 删除主题操作: http:/

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值