JSP开发模型(14)

本文介绍了JavaWeb开发中的JSP Model1和Model2模型,强调了Model1的简单性和Model2的结构清晰。讨论了Model2中的JSP、Servlet和JavaBean在MVC模式中的角色,以及MVC设计模式在提高代码可维护性和组件重用性方面的优势。并提出了按照Model2思想实现用户注册功能的步骤。
摘要由CSDN通过智能技术生成

1.1 JSP Model1

JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利。

在这里插入图片描述

JSP Model1的优化(Model1第二代)
JSP Model1优化后有所改进,把业务逻辑和数据访问的内容放到了JavaBean(狭义JavaBean:实体类,广义JavaBean:实体类,dao,service,工具类)中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作,JSP中把视图工作和请求调度(控制器)的工作耦合在一起了。

在这里插入图片描述

1.2 JSP Model2
JSP Model2模式已经可以清晰的看到MVC完整的结构了。

JSP:视图层,用来与用户打交道。负责接收数据,以及显示数据给用户;

Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;

JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。

小结:这就是javaweb经历的两个时期,JSP Model2适合多人合作开发大型的Web项目,各司其职,互不干涉,有利于开发中的分工,有利于组件的重用。但是,Web项目的开发难度加大,同时对开发人员的技术要求也提高了。

MVC设计模式
在我们实际开发的最后到产品上线,供给客户使用,客户通过浏览器或者app等进行数据的操作,实现这个的有,处理发送请求,业务逻辑处理以及访问数据库,这三个功能我们是可以放到一块使用的,但是如果放在一起,代码便会很臃肿,不利于维护,于是便出现了代码分层思想,把代码按照功能分为三层,即模型层(Model)、显示层(View)、控制层(Controller),这种代码的组织架构就叫MVC模式

MVC分层图
在这里插入图片描述

模型层(Model):在模型层中又可以分为两层,即Service层和Dao层,这两层的主要功能是:

  1. Service层:负责一些业务处理,比如说:获取数据库连接,关闭数据库连接,事务回滚或者一些复杂的逻辑业务处理
  2. Dao层:(Database Accept Object)
    负责访问数据库,对数据的操作,获取结果集,将结果集中的数据装到OV(Object Value)对象中,之后再返回给Service层

Model层的Dao层设计思想:
为数据库中的emp表设计数据操作的Dao表,在实际开发过程中,Dao层需要先定义出自己的标准(接口),降低耦合度在这里插入图片描述

任务:按照Model2思想实现用户注册功能
1.创建项目,编写JavaBean.java类
(1)编写UserBean,封装用户信息

package cn.itcast.chapter11.model2.domain;
public class UserBean {
   
	private String name;            //定义用户名
	private String password;       //定义密码
	private String email;           //定义邮箱
	public String getName() {
   
		return name;
	}
	public void setName(String name) {
   
		this.name = name;
	}
	public String getPassword() {
   
		return password;
	}
	public void setPassword(String password) {
   
		this.password = password;
	}
	public String getEmail() {
   
		return email;
	}
	public void setEmail(String email) {
   
		this.email = email;
	}
}

(2)编写RegiterFormBean类,用于封装注册表单信息

 package cn.itcast.chapter11.model2.domain;
 import java.util.HashMap;
 import java.util.Map;
 public class RegisterFormBean {
   
 	private String name;            //定义用户名
 	private String password;       //定义密码
 	private String password2;      //定义确认密码
 	private String email;           //定义邮箱
      // 定义成员变量errors,用于封装表单验证时的错误信息
 	private Map<String, String> errors = new HashMap<String, String>();
 	public String getName() {
   
 		return name;
 	}
 	public void setName(String name) {
   
 		this.name = name;
 	}
 	public String getPassword() {
   
 		return password;
 	}
 	public void setPassword(String password) {
   
 		this.password = password;
 	}
 	public String getPassword2() {
   
 		return password2;
 	}
 	public void setPassword2(String password2) {
   
 		this.password2 = password2;
 	}
 	public String getEmail() {
   
 		return email;
 	}
 	public void setEmail(String email) {
   
 		this.email = email;
 	}
 	public boolean validate() {
   
 		boolean flag = true;
 		if (name == null || name.trim()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值