一、application
思维导图
1、 概述
application对象为多个应用程序保存信息,对于一个容器而言每个用户都共同使用一个application,这和session对象是不一样的。服务器启动后,就会自动创建application对象,这个对象一直会保持,直到服务器关闭为止。
2、 常用方法
getAttribute(String name)
** 返回有name指定的名字的application对象的属性的值
setAttribute(String name,Object object)
** 设置有name指定名字的application对象的属性的值object
Enumeration getAttributeNames()
** 返回所有可用属性名的枚举
getServerInfo():返回jsp(servlet)
** 引擎及版本号
3、经典案例
application实现统计网站访客
<%
//判断application对象中有没有保存为count的参数
//如果没有,在application对象中新增一个名为count的参数
if(application.getAttribute("count")!=null){
application.setAttribute("count",new Integer(0));
}
使用application对象读取count参数的值,再在原值基础上累加1
Integer count = (Integer)application.getAttribute("count");
application.setAttribute("count", new Integer(count.intValue()+1));
%>
欢迎,您是第:<%=application.getAttribute("count") %>位访问者
二、Javabean
思维导图
1、概述
javabean是一种组件技术
javabean技术有助于将JSP页面中的处理业务的逻辑代码与展示页面效果的显示代码分离
JavaBean就是一个普通的java类,也称之为简单java对象–POJO(Plain Ordinary Java Object),是Java程序设计中一种设计模式,是一种基于 Java 平台的软件组件思想
web中的javabean开发模式---DAO模式一样的
2、 javabean规则
(1)有无参的构造函数
(2)成员属性私有化
(3)封装的属性如果需要被外所操作,必须编写public类型的setter、getter方法
为什么需要使用Javabean?
使用javaBean的好处就是:封装,重用,可读!
3、 javabean优点
(1)减少代码冗余,相同功能的代码不必重复编写。
(2)功能区分明确,相同功能写在一个类中。相似功能放在同一个包中
(3)提高代码的可维护性
javabean分类
封装数据
封装业务逻辑
案例:
package com.zking.news.dao.imp;
/**
* 通用方法dao类
* @author Administrator
*
*/
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;
import com.zking.news.entity.User;
import com.zking.news.utils.DBHelper;
public class BaseDao {
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
// 增删改通用方法
public int executeUpdate(String sql,Object...x) {
int n=0;
try {
//建立连接
conn=DBHelper.getConn();
ps=conn.prepareStatement(sql);
if(x!=null) {
for(int i=0;i<x.length;i++) {
ps.setObject(i+1, x[i]);
}
}
n=ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelper.MyClose(conn, ps, null);
}
return n;
}
//查询通用方法
public ResultSet execuQuery(String sql,Object...x) {
try {
//建立连接
conn=DBHelper.getConn();
ps=conn.prepareStatement(sql);
if(x!=null) {
for(int i=0;i<x.length;i++) {
ps.setObject(i+1, x[i]);
}
}
rs=ps.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}finally {
//DBHelper.MyClose(conn, ps, null);
}
return rs;
}
}