JavaBean简单实例一:页面访问统计
JavaBean简单实例
JavaBean实现页面访问统计
项目结构:
src
com
javabeandemo
CountBean.java
SimpleBean.java
WebContent
countnum.jsp
SimpleBean.jsp
知识点:
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个范围是依次变大的
page表示该JavaBean只有在当前页面内可用(保存在当前页面的PageContext内);
request表示该JavaBean在当前的客户请求内有效(保存在ServletRequest对象内);
session表示该JavaBean对当前httpSession内的所有页面都有效;
application表示该JavaBean在整个应用内都有效。
使用<jsp:getProperty >用来获取指定的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
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 2 <%@ page import="com.javabeandemo.*" %> 3 <jsp:useBean id="simple" scope="page" class="com.javabeandemo.SimpleBean" /> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 8 <title>Simple javabean</title> 9 </head> 10 <body> 11 <% 12 SimpleBean simpleBean = new SimpleBean(); 13 simpleBean.setName("Joywy"); 14 simpleBean.setAge(23); 15 %> 16 <h3>name:<%=simpleBean.getName()%></h3> 17 <h3>age:<%=simpleBean.getAge()%></h3> 18 19 <% 20 simple.setName("Joywy"); 21 simple.setAge(23); 22 %> 23 <h3>name:<%=simple.getName()%></h3> 24 <h3>age:<%=simple.getAge()%></h3> 25 </body> 26 </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
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 2 pageEncoding="ISO-8859-1"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 7 <title>javebean count</title> 8 </head> 9 <body> 10 <center> 11 <fieldset class="width:400px"> 12 <legend>access sumary</legend> 13 <!-- one guest --> 14 <jsp:useBean id="personcount" class="com.javabeandemo.CountBean" scope="session"/> 15 <!-- all guests --> 16 <jsp:useBean id="totalcount" class="com.javabeandemo.CountBean" scope="application"/> 17 18 count for u:<jsp:getProperty name="personcount" property="count"/><br/> 19 count for site:<jsp:getProperty name="totalcount" property="count"/><br/> 20 <input type="button" value="refresh" onClick="location.reload()"/> </fieldset> 21 </center> 22 </body> 23 </html>