Web开发模式

来源:互联网 发布:淘宝关键词搜索排名 编辑:程序博客网 时间:2024/05/21 18:34

Web开发模式的变迁
我们知道,最初的Java Web服务器端编程技术是servlet,利用servlet就可以开发出一个Web应用程序。然而,Servlet的缺陷使Web应用程序开发变得非常繁琐不利于分工协作。为了弥补Servlet的缺陷,SUN推出了JSP做为解决方案。使用JSP技术,Java Web开发变得轻松起来。于是,开发人员又走向另外一个极端:完全放弃Servlet,改用JSP完成Web应用程序开发。

在JSP页面混合使用HTNL标记和Java代码编写的脚本元素(表达式 、声明 、scriplet)来开发Web应用程序。采用这种方法虽然可以使编写JSP页面变得简单、直观,然而它只适用于业务流程简单、系统规模较小的应用系统。在业务流程复杂、系统规模较大的应用开发时,这种方法的两个重要缺点就暴露出来:首先,页面严重缺乏可读性;其次,它没有将页面表现和业务逻辑实现分开,使维护难度增加了。这意味着,要按照这种方式编写JSP页面程序员必须精通java和HTML。

SUN在Java Web应用开发中使用JSP+JavaBean技术的开发模式称为JSP模式1。使用JSP模式1,可以完成系统规模小、业务流程简单的Web应用开发但是它不适合于系统规模大,业务流程负责的Web应用系统。

于是,SUN在Java Web开发中引入了MVC架构模式,综合利用Servlet、JSP和JavaBean技术,发挥这三种技术的特点,将Servlet作为MVC架构模式中的控制器,JSP作为视图,JavaBean作为模型。这种开发模式,SUN成为开发模式2。

在JSP中使用JavaBean
JavaBean本质上就是一个普通的Java类
需要遵循一定的编码规范
标准的JavaBean组件具有以下几个特征
JavaBean 类必须是一个公共类,并将其访问属性设置为 public。
JavaBean 类必须有一个空的构造函数
一个JavaBean类不应有公共实例变量,类变量都为private。要访问这些类变量,应该通过一组存取方法(getXxx 和 setXxx)来访问,不能以大写字母开始命名成员变量
JavaBean应该是可序列化(serializable)的,即实现java.io.Serializable 接口

JSP使用JavaBean的标准动作

< jsp:useBean >动作

<jsp:useBean id=“beanName” (得到或者创建一个JavaBean对象 )变量名scope=“page|request|session|application” //作用范围  class=“className” 类全路径/> <jsp:useBean id="myBean" scope="request" class="com.my.CustomerBean" />

上等同于如下的Servlet代码:

CustomerBean myBean = (CustomerBean)request.getAttribute("myBean");if ( myBean == null ) {   myBean = new CustomerBean();   pageContext.setAttribute("myBean", myBean);}

< jsp:setProperty >动作

<jsp:setProperty name="BeanName" property="属性名" param="参数名"/><jsp:setProperty name="BeanName" property="属性名" value="属性值" /><jsp:setProperty name="BeanName" property="*"/> name代表bean的名称,property指定JavaBean相对应的属性,value设置属性的值,param将property指定的属性名的值设置为一个请求参数的值。property="*"用来设置所有与所得到的参数同名的属性值 

JSP开发模式1

JSP模式1主要采用JSP和JavaBean技术
将页面显示与业务逻辑处理分开
JSP负责页面的显示,而业务逻辑则由JavaBean处理

这里写图片描述

实现JSP开发模式1:

这里写图片描述

页面显示与业务逻辑分离 ,但还是要负责处理请求和控制业务流程

JSP开发模式2

借鉴MVC架构模式 ,实现了良好的松散耦合,只要它们相互连接的接口保持不变,对其中一个的修改不会影响到另外一个 。

这里写图片描述

MVC架构模式的Java Web实现
采用JSP+Servlet+JavaBean的技术实现Java Web的开发

这里写图片描述

JSP模式2开发实现
使用JSP开发模式2的开发步骤为:
定义一系列Bean来表示数据
使用一个Servlet来处理请求
在Servlet中填充Bean
在Servlet中,将Bean存储到请求、会话或者Servlet上下文中
将请求转发到JSP页面
在JSP页面中,从Bean中提取数据

0 0
原创粉丝点击