Java Bean 设计页面访问统计
JavaBean简单实例
JavaBean实现页面访问统计
项目结构:
知识点:
JavaBean 是一种JAVA语言写成的可重用组件,是一个普通的java类。
编写Java类时,只需在类的方法命名上遵守以下规则就是一个JavaBean:
如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,即更改或获取属性,在类中可以使用两个方法:
getXxx(),用来获取属性xxx。
setXxx(),用来修改属性xxx.。
对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用"is"代替上面的"get"和"set"。
类中方法的访问属性都必须是public的。
类中如果有构造方法,那么这个构造方法也是public的并且是无参数的。
在JSP页面使用JavaBean即用<jsp:useBean />标准动作:`标准动作:
标准动作:
<jsp:useBean id="personcount" class="com.javabeandemo.CountBean" scope="session"/>
id:给一个JavaBean类设置一个ID并作为整个jsp页面的唯一标记;
class:要引用的JavaBean类的完整Java类名(一定要包括包名)。
type:指定要引用的JavaBean类需要实现一个Java接口或者JavaBean需要扩展的一个超类,type属性不是必须添加,可不要。
scope:指定这个JavaBean的使用范围,该属性可以取下面的4个值之一:page,request,session,application;这4个范围是依次变大的
1.page表示该JavaBean只有在当前页面内可用(保存在当前页面的PageContext内);
2.request表示该JavaBean在当前的客户请求内有效(保存在ServletRequest对象内);
3.session表示该JavaBean对当前httpSession内的所有页面都有效;
4.application表示该JavaBean在整个应用内都有效。
<jsp:getProperty name="personcount" property="count"/>
name:指定JavaBean的名称;
property:指定获取JavaBean中的哪个属性值。
SimpleBean.java
package com.javabeandemo;
public class SimpleBean {
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
}
SimpleBean.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="com.javabeandemo.*" %>
<jsp:useBean id="simple" scope="page" class="com.javabeandemo.SimpleBean" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Simple javabean</title>
</head>
<body>
<%
SimpleBean simpleBean = new SimpleBean();
simpleBean.setName("Joywy");
simpleBean.setAge(23);
%>
<h3>name:<%=simpleBean.getName()%></h3>
<h3>age:<%=simpleBean.getAge()%></h3>
<%
simple.setName("Joywy");
simple.setAge(23);
%>
<h3>name:<%=simple.getName()%></h3>
<h3>age:<%=simple.getAge()%></h3>
</body>
</html>
CountBean.java
package com.javabeandemo;
public class CountBean {
private int count;
public int getCount(){
return ++count;
}
public void setCount(int count){
this.count=count;
}
}
Countnum.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>javebean count</title>
</head>
<body>
<center>
<fieldset class="width:400px">
<legend>access sumary</legend>
<!-- one guest -->
<jsp:useBean id="personcount" class="com.javabeandemo.CountBean" scope="session"/>
<!-- all guests -->
<jsp:useBean id="totalcount" class="com.javabeandemo.CountBean" scope="application"/>
count for u:<jsp:getProperty name="personcount" property="count"/><br/>
count for site:<jsp:getProperty name="totalcount" property="count"/><br/>
<input type="button" value="refresh" onClick="location.reload()"/> </fieldset>
</center>
</body>
</html>