第九章 JDBC(补充第八章监听器部分)

第九章 JDBC(补充第八章监听器部分),第1张

第九章 JDBC(补充第八章监听部分)

Listener监听器-----Servlet事件监听器概述:
servlet监听器是servlet规范中定义的一种特殊类,用于监听servletContext(application)、httpsession(session)、servletRequest(request)等作用域对象的创建与销毁事件,以及监听这些作用域对象中属性发生修改的事件;
监听对象:servletContext(application)、httpsession(session)、servletRequest(request)
监听内容:监听对象的创建,销毁,属性改变事件
request监听器:ServletRequestListener
requestDestroyed(ServletRequestEvent event);//销毁request的时候触发此事件,方法内部可以通过形参获取当前监听的request
requestInitialized(ServletRequestEvent event);//创建request的时候触发此事件,方法内部可以通过形参获取当前监听的request
其他对象监听器类似:HttpSessionListener,ServletContextListener
Servlet事件监听器

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class HttpSessionListenerImpl implements HttpSessionListener {

    public void sessionCreated(HttpSessionEvent event) {
        ServletContext app = event.getSession().getServletContext();
        int count = Integer.parseInt(app.getAttribute("onLineCount").toString());
        count++;
        app.setAttribute("onLineCount", count);
        int maxonLineCount = Integer.parseInt(app.getAttribute("maxOnLineCount").toString());
        if (count > maxOnLineCount) {
            //记录最多人数是多少
            app.setAttribute("maxOnLineCount", count);
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //记录在那个时刻达到上限
            app.setAttribute("date", df.format(new Date()));
        }
    }
    //session注销、超时时候调用,停止tomcat不会调用
    public void sessionDestroyed(HttpSessionEvent event) {
        ServletContext app = event.getSession().getServletContext();
        int count = Integer.parseInt(app.getAttribute("onLineCount").toString());
        count--;
        app.setAttribute("onLineCount", count);    
        
    }
}


    webAppRootKey
    project.root


    log4jConfigLocation
    classpath:log4j.properties


    log4jRefreshInterval
    60000



    org.springframework.web.util.Log4jConfigListener


JDBC
JDBC(Java Database Connectivity),即Java数据库连接。简而言之,就是通过Java语言来 *** 作数据库。
JDBC驱动程序共分四种类型
类型1
JDBC-ODBC桥
这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库 *** 作二进制代码库,例如Oracle中的oci.dll)。
类型2
本地API驱动
这种类型的驱动通过客户端加载数据库厂商提供的本地代码库(C/C++等)来访问数据库,而在驱动程序中则包含了Java代码。
类型3
网络协议驱动
这种类型的驱动给客户端提供了一个网络API,客户端上的JDBC驱动程序使用套接字(Socket)来调用服务器上的中间件程序,后者在将其请求转化为所需的具体API调用。
类型4
本地协议驱动
这种类型的驱动使用Socket,直接在客户端和数据库间通信。
从SQL到Java数据类型映射的JDBC规范


注:这种类型匹配不是强制性标准,特定的JDBC厂商可能会改变这种类型匹配。例如Oracle中的DATE类型是包含时分秒,而java.sql.Date仅仅支持年月日。
JDBC架构

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5619682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存