让我们先回顾一下上一篇博客讲的内容
存储:
服务器:session 会话级存储(个人)
客户端:cookie
1.客户端发起请求的时候会把cookie JSESSIONID 自动携带到后端
2.后端获取JSESSIONID,根据id找到对应的session(重新给你session)
3.获取对应的session的数据
今日内容:
application 应用级存储(共享的)
1.统计人数
在登录的方法界面的判断结果里面计算当前人数并且需要进行判断
//计算当前人数(不是存在你的卡里,而是存在整个银行)
Object obj=application.getAttribute("count");
if(obj==null){
obj=0;
}
进行强转和人数加一
Integer count=(Integer)obj;
count++;//人数加一
重新存入
application.setAttribute("count", count);
然后显示到界面中去
<ul class="nav navbar-nav navbar-right">
<li>在线人数<a><%=application.getAttribute("count") %></a></li>
<li><a><%=application.getAttribute("username") %></a></li>
<li><a href="${pageContext.request.contextPath }">历史记录</a></li>
<li><a href="doExit.jsp">退出<span class="glyphicon glyphicon-off"></span></a></li>
</ul>
注:同时在不同的浏览器上登录人数会相应的增加
封装JavaBean
什么是JavaBean?
Java豆荚,Bean豆子,泛指Java对象,就是每一个Java类
连接数据库的步骤
package com.zking.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import oracle.jdbc.driver.OracleDriver;
public class DBHelper {
//加载驱动
static {
//OracleDriver
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//定义连接字符串
private static final String URL="jdbc:oracle:this:@localhost:1521:orcl";
//获得连接
public static Connection getCon() {
try {
return DriverManager.getConnection(URL,"scott","123");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//关闭资源
public static void close(Connection con,PreparedStatement ps,ResultSet rs) {
try {
if(!con.isClosed()) {
con.close();
}
ps.close()