一、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; } }