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对象