一、JavaBean
1.1 JavaBean规范
JavaBean, 咖啡豆。 JavaBean是一种开发规范,可以说是一种技术。
JavaBean就是一个普通的java类。只有符合以下规定才能称之为javabean。
javaBean规范:
1)必须提供无参数的构造方法
2)类中属性都必须私有化(private)
3)该类提供公开的getter 和 setter方法
布尔类型的get方法名称叫做 isXxx()方法,也符合javaBean规范。
JavaBean的作用: 用于封装数据,保存数据。
访问javabean只能使用getter和setter方法
1.2 JavaBean的使用场景
1)项目中用到实体对象(entity)符合javabean规范
2)EL表达式访问对象属性。${student.name} 调用getName()方法,符合javabean规范。
3)jsp标签中的属性赋值。标签处理器类提供一个 setNum(Integer num)。符合javabean规范。
4)jsp页面中使用javabean。符合javabean规范
1.2.1 jsp页面中使用javabean
jsp提供了内置标签用于处理javabean。
<!-- 创建对象 -->
<jsp:useBean id="s2" class="org.jsoft.hello.Student"></jsp:useBean>
相当于
Student s=new Student();
<!-- 给对象赋值 -->
<jsp:setProperty name="s2" property="age" value="12" />
<jsp:setProperty name="s2" property="name" value="hlp" />
相当于
s2.setAge(12);
s2.setName("hlp");
<!-- 获取属性值 -->
<jsp:getProperty name="s2" property="age" />
相当于:
s2.getAge();
实例:
index.jsp
<%@page import="org.jsoft.hello.Student"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/hlp" prefix="hlp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>核心标签库</title>
</head>
<body>
<%
Student s=new Student();
s.setAge(12);
%>
<!-- 创建对象 -->
<jsp:useBean id="s2" class="org.jsoft.hello.Student"></jsp:useBean>
<!-- 给对象赋值 -->
<jsp:setProperty name="s2" property="age" value="12" />
<jsp:setProperty name="s2" property="name" value="hlp" />
<!-- 获取属性值 -->
<jsp:getProperty name="s2" property="age" />
</body>
</html>
测试结果:
二、web开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,
一种是JSP+JavaBean模式,
另一种是Servlet+JSP+JavaBean模式。
JSP+JavaBean模式:
适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装
业务数据,JSP即负责处理用户请求,又显示数据。
Servlet+JSP+JavaBean(MVC)模式:
适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负
责数据显示,javabean负责封装数据。 Servlet+JSP、JavaBean模式程序各
个模块之间层次清晰,web开发推荐采用此种模式。
MVC开发模式+三层结构
web开发的主要功能
1)接受数据
2)处理业务逻辑
3) 显示数据
4)跳转页面。
web开发模式的演变过程
1)SUN公司推出JSP时,首先实行的是JSP+JavaBean模式 。
此时JSP主要负责了
1)接受数据
2)处理业务逻辑
3) 显示数据
4)跳转页面。
由于JSP职责太重,代码比较臃肿,所以在早期盛行一段时间就被弃用了。
2)后来又推行了JSP+Servlet+JavaBean开发模式。
此时JSP的职责被拆分。JSP的一部分职责被拆分给Servlet。
JSP只负责:
3)显示数据。
Servlet负责:
1)接受数据
2)处理业务逻辑
4)跳转页面。
我们把JSP+Servlet+JavaBean开发模式简称为MVC开发模式。
3)MVC开发模式中对于Servlet,其职责也是太过沉重,所以在MVC开发模式基础之上,又对Servlet
进行了拆分。
Servlet负责:
1)接受数据
2)调用业务逻辑
(在MVC中负责处理业务逻辑,后演变为调用业务逻辑。它将业务逻辑处理部分交给了Service层。)
4)跳转页面。
MVC开发模式+三层架构
持久层:dao层--和数据访问相关的操作
业务逻辑层:service层--和业务逻辑相关的操作
表现层 :web层-- 和用户直接交互相关的操作(传接参数,跳转页面)
2.1 JSP+JavaBean模式
在JSP+JavaBean模式中,jsp主要负责:
1)接受数据
2)处理业务逻辑
3) 显示数据
4)跳转页面。
优点:开发速度快
缺点:维护成本高,扩展性低。
jsp职责太重,页面十分臃肿。
不适合完成业务复杂,需要经常变动的系统。
在JSP刚刚推行时,这种开发模式十分盛行,不过随着发展,这种模式已经弃用了。
2.2 JSP+Servlet+JavaBean模式(MVC开发模式)
2.2.1 JSP+Servlet+JavaBean模式的职责划分
jsp负责:
显示数据
Servlet负责:
1)接受数据
2)处理业务逻辑
3)跳转页面。
该模式将JSP的职责进行拆分,JSP只保留显示数据的职责,其余功能由Servlet负责。
2.2.2 MVC开发模式
MVC开发模式:
Model - JavaBean实现。用于封装业务数据
View - Jsp实现。用于显示数据
Controller- servlet实现。用于控制model和view
所谓的MVC开发模式,指的就是JSP+Servlet+JavaBean开发模式。
2.3 MVC开发模式+三层结构
MVC开发模式:
Model - JavaBean实现。用于封装业务数据
View - Jsp实现。用于显示数据
Controller- servlet实现。用于控制model和view
三层结构:
dao层: 和数据访问相关的操作
service层: 和业务逻辑相关的操作
web层: 和用户直接交互相关的操作(传接参数,跳转页面)
MVC开发模式+三层结构:它将Servlet原有的业务逻辑处理功能交给了Service层去负责。