Java——JSP开发模型

一、JSP开发模型

1.什么是JSP开发模型

JSP的开发模型即JSP Model,在Web开发中,为了更方便地使用JSP技术,SUN公司为JSP技术提供了两种开发模型:JSP Model1和JSP Model2。JSP Model简单轻便,适合小型Web项目的快速开发;JSP Model2模型是在JSP Model1的基础上提出的,它提供了更清晰的代码分层,更适合于多人合作开发的大型Web项目,实际开发工程中可以根据项目需求,选择适合的模型。

2.JSP Model1

首先浏览器会发送请求给 JSP,然后 JSP 会直接对数据库进行读取、保存或修改等操作,最后 JSP 会将操作结果响应给浏览器。但是在程序中,JSP 页面功能的 “过于复杂” 会给开发带来一系列的问题,比如 JSP 页面中 HTML 代码和 Java 代码强耦合在一起, 使得代码的可读性很差;数据、业务逻辑、控制流程混合在一起,使得程序难以修改和维护。为了解决上述问题,SUN 公司提供了一种JSP开发的架构模型:JSPModel1。JSP Model1 采用 JSP + JavaBean 的技术,将页面显示和业务逻辑分开。其中,JSP 实现流程控制和页面显示,JavaBean 对象封装数据和业务逻辑。

3.JSPModel2

JSPModel1 虽然将数据和部分的业务逻辑从 JSP 页面中分离出去,但是 JSP 页面仍然需要负责流程控制和产生用户界面。对于一个业务流程复杂的大型应用程序来说,在 JSP 页面中依旧会嵌入大量的 Java 代码,这样会给项目管理带来很大的麻烦。为了解决这样的问题,SUN 公司在 Model1 的基础上又提出了 JSPModel2 架构模型。
JSP Model2架构模型采用 JSP + Servlet + JavaBean 的技术,此技术将原本 JSP 页面中的流程控制代码提取出来,封装到 Servlet 中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。
实际上,JSP Model2 模型就是 MVC (模型Model - 视图View - 控制器Controller)设计模式。其中,控制器的角色是由 Servlet 实现的,视图的角色是由 JSP 页面实现的,模型的角色是由 JavaBean 实现的。

package 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;
	}
}


 package 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().equals("")) {
   
 			errors.put("name", "请输入姓名.");
 			flag = false;
 		}
 		if (password == null || password.trim().equals("")) {
   
 			errors.put("password", "请输入密码.");
 			flag = false;
 		} else if (password.length() > 12 || password.length() &l
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值