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架构
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)