javabean是一种可重复使用且跨平台的软件组件。他可以分为:客户界面组件(UI,user interface)和没有用户界面,主要负责处理事务(如,数据处理、操作数据库等)地javabean
javabean的优点:
1.使得html和java程序分离,便于维护代码。
2.充分利用javabean组件的可重用性,提高开发效率
javabean标准:
1.不带参数的构造函数
2.set和get方法
jsp访问javabean的思路:
1.导入javabean类
2.声明javabean对象
3.访问javabean属性
例子
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.javabean.Person" %> <!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=UTF-8"> <title>Insert title here</title> </head> <body> <% request.setAttribute("helloword", 20); %> <jsp:useBean id="person" class="com.javabean.Person" scope="session"/><br> <jsp:getProperty property="name" name="person"/><br> <jsp:getProperty property="age" name="person"/><br> <jsp:getProperty property="address" name="person"/><br> 通过javabean set新的值 <jsp:setProperty property="name" name="person" value="lisi"/><br> <jsp:getProperty property="name" name="person"/><br> <jsp:setProperty property="age" name="person" param="helloword"/><br> <jsp:getProperty property="age" name="person"/><br> </body> </html>
package com.javabean; import java.sql.Date; public class Person { private String name = "zhangsan"; private int age = 10; private String address ="jinan"; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
如果bean已经在别地<jsp:userbean>标记中创建,则当使用这个已经创建的标记时,id的值必须与以前的那个id值一致。(否则一味着创建了一个类的两个不同的对象)
MVC设计模式
model(模型层),view(视图层),controller(控制层)
view:供用户页面显示
controller:控制请求响应有谁来执行
model:真正的处理请求的类
javabean在jsp中可以说等同于java代码
如:jsp1.jsp中<jsp:userBean id="person" scope="request" />
jsp2.jsp中<% person p = (Person)request.getAttribute("person"); %>
javaBean的存活范围:每当jsp请求页面时,都会创建新的javabean对象
①.在page范围内:
客户请求访问的当前jsp页面
结束:a 请求通过<jsp:forwoar>转发到另一个文件
b 在当前页面执行完毕并向客户端发送响应
②.在request范围内
结束:a 访问同一个jsp页面
b 和当前页面共享客户请求的页面<%include>与<forword>标签包含的其他页面
c 请求得到响应
③. session范围内
结束: a javabean创建后,它存在整个session会话中,同一个session中的jsp文件共享这个javabean对象
④.application范围内
结束: a 它存在于整个web应用程序内,web应用中的所有jsp文件都能共享同一个javabean对象