您的位置:首页 > 编程语言 > Java开发

Servlet+JSP+JavaBean开发模型

2017-03-15 15:43 239 查看

一、Servlet

Servlet是用于开发动态web资源的技术,Servlet部署在web服务器上,被动地接收web浏览器的请求,并将处理结果通过响应告知用户。

Servlet的执行过程:

1. web浏览器向web服务器提出http请求。

2. web服务器解析请求的主机,应用和web资源

3. 如果是初次访问该servlet,则创建servlet对象,并调用Init()方法,否则下一步

4. 调用servlet对象的service方法,并生成新的HttpRequest和HttpResponse对象,传入该servlet对象。在service方法中,会调用doPost()或doGet()方法,处理请求。

5. servlet返回响应信息,web服务器返回响应信息。



二、JSP

jsp 是包含HTML代码和JAVA代码的java server page.

jsp执行的是jsp的class文件,其原始的java代码继承与HttpJspBase类,而HttpJspBase类继承与HttpServlet类。

jsp拥有九大对象,其中page,HttpResponse和HTTPRequest对象已经被实例化。



三、JavaBean

JavaBean是满足某些特定书写规则并实现某些功能的JAVA类。

具有一个无参的构造函数

属性必须私有化

私有化的属性通过public类型的方法暴露给其它程序

JavaBean在javaweb中的主要应用是封装数据。对于遵循以上写法的JavaBean组件,其它程序可以通过反射技术实例化JavaBean对象,并且通过反射那些遵守命名规范的方法,从而获知JavaBean的属性,进而调用其属性保存数据。

JSP页面包含三个JavaBean的标签。

<jsp:useBean id="Name" class="package.class" scope="page"/>
<jsp:setProperty name="Name" property= "*" />
<jsp:getProperty name="Name" property="PropertyName" />


<jsp:useBean>
标签会在指定范围内指定类的指定名称的对象,如果没有找到,则实例化一个对象。

<jsp:setProperty
标签可以通过自省机制,将网页表单提交的属性值封装在javaBean的对象中。

<jsp:getProperty>
标签通过调用getter方法,获得该对象的某个属性的值。

四、Servlet+JSP+JavaBean开发模型与MVC模型

1、典型的MVC模型

Model模型:主要用于业务逻辑的处理,对数据进行增删改查。

View视图:展示模型数据,并提供人机交互界面,用于功能请求等。

Controler控制器:接收用户的请求,委托模型进行处理,选择视图展示返回数据。



2、Servlet+JSP+JavaBean开发模式

在web应用中,不考虑websocket和HTML5等技术,基本上web服务器不会主动地反馈信息给web浏览器,因此,Model不会主动将模型推给视图。并且,Model的数据获取和修改都依赖数据库。因此,Servlet+JSP+JavaBean开发模型下的MVC模型如下图所示:



3、Servlet+JSP+JavaBean开发模式的缺点

Servlet作为Controller的缺点

请求参数到模型的封装比较麻烦

控制逻辑可能比较复杂

选择下一个视图,严重依赖Servlet API

给视图传输要展示的模型数据,也需要使用Servlet API

JSP作为View的缺点

很难更换视图,比如Velocity、FreeMarker

JavaBean作为Model的缺点

JavaBean组件负责收集封装数据,业务逻辑处理,造成JavaBean组件类很庞大
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet javabean jsp javaweb