java web 的开发模式和 servlet 的作用域详解

news/2024/5/19 0:21:10 标签: java, JDBC, 开发模式, java web, MVC
  
    
    JavaWeb简单的两种开发模式
    
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式

JSP+JavaBean模式
Servlet+JSP+JavaBean模式


Servlet+JSP+JavaBean开发模式

在平时的JavaWeb项目开发中,在不使用第三方mvc开发框架的情况下,通常会选择Servlet+JSP+JavaBean开发模式来开发JavaWeb项目,Servlet+JSP+JavaBean组合开发就是一种MVC开发模式了,控制器(Controller)采用Servlet、模型(Model)采用JavaBean、视图(View)采用JSP。

MVC模型:是一种架构型的模式,本身不引入新功能,只是帮助我们将开发的结构组织的更加合理,使展示与模型分离、流程控制逻辑、业务逻辑调用与展示逻辑分离。


标准Web MVC模型概述
如图(1)



Servlet+JSP+JavaBean开发模式MVC

如图(2)




JSP中的九个内置对象

JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。
如图(3)



pageContext对象,out对象,page对象

request,response,session,application,config这些对象在前面都已经作了详细的介绍,这里重点介绍一下剩下的pageContext对象,out对象,page对象。

page对象
page对象表示当前一个JSP页面,可以理解为一个对象本身this,即:把一个JSP当作一个对象来看待。page对象在开发中几乎不用,了解一下即可。

out对象
out对象用于向客户端发送文本数据。 out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。JSP页面中的out对象的类型为JspWriter,JspWriter相当于一种带缓存功能的PrintWriter
    

pageContext对象

pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个域对象(容器),可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。

通过pageContext获得其他对象


java">getException方法返回exception隐式对象
getPage方法返回page隐式对象
getRequest方法返回request隐式对象
getResponse方法返回response隐式对象
getServletConfig方法返回config隐式对象
getServletContext方法返回application隐式对象
getSession方法返回session隐式对象
getOut方法返回out隐式对象


pageContext作为域对象

pageContext作为域对象
java">public void setAttribute(java.lang.String name,java.lang.Object value)
public java.lang.Object getAttribute(java.lang.String name)
public void removeAttribute(java.lang.String name)
public java.lang.Object findAttribute(java.lang.String name)


当要查找某个属性时,findAttribute方法按照查找顺序"page→request→session→application"在这四个对象中去查找,只要找到了就返回属性值,如果四个对象都没有找到要查找的属性,则返回一个null。

EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、 session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。


pageContext作为域对象

java">pageContext对象中封装了访问其它域的方法
public java.lang.Object getAttribute(java.lang.String name,int scope)
public void setAttribute(java.lang.String name, java.lang.Object value,int scope)
public void removeAttribute(java.lang.String name,int scope)



代表各个域的常量
java">PageContext.APPLICATION_SCOPE
PageContext.SESSION_SCOPE
PageContext.REQUEST_SCOPE
PageContext.PAGE_SCOPE 



四大作用域




JSP中提供了四种属性范围,四种属性范围分别指以下四种:

当前页(page):一个属性只能在一个页面中取得,跳转到其他页面无法取得
一次服务器请求(request):一个页面中设置的属性,只要经过了服务器跳转,则跳转之后的页面可以继续取得。
一次会话(session):一个用户设置的内容,只要是与此用户相关的页面一次会话周期内都可以访问(一个会话表示一个人,这个人设置的东西只要这个人不走,就依然有效)
上下文中(application):在整个服务器上设置的属性,所有人都可以访问


四种属性范围中都将包含以下的属性操作方法:



page作用域


request作用域


session作用域


application作用域




愿你有勇敢的朋友

也有牛逼的对手




http://www.niftyadmin.cn/n/1867811.html

相关文章

如何看待愈来愈强大的 EL 表达式

EL 全名为Expression Language表达式语言 EL主要作用: 1、获取数据  EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。 2、执行运算 利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算…

JS的基础知识

01-javascript历史发展 1)1995,Netscape(网景公司),navigator(导航者) 2)浏览器中的内容,只能看不能用,想开发一门前端语言,做表单提交。 3&…

JavaScript的常用方法-基础

1.string对象:字符串其实使用数组来实现的 1)charAt(index) : 获取索引index处的字符 2)str.indexOf(字符串) : 获取字符串在str中首次出现的位置,若不存在返回-1 3)lastIndexOf(字符串):获取字…

JS中的事件处理和文档处理应该记住哪些内容。。。

1.事件: 当 ..... 时候,执行....操作。 当 对 电脑或者网页做任何操作,都会伴随某个功能的实现(函数的执行) javascript 就是基于事件驱动的语言 2.添加事件的方式: [1] 内联方式:…

一片文章叫你玩转JQuery

1.为什么要学习jQuery?js的缺点:1)花费10天时间开发设计,js中有很多的漏洞;不适合于大系统的开发。2)获取dom元素时,是很不灵活的,主要通过4个方法。3)方法的长度太长&am…

Oracle 12c中的用户角色SYSDBA、SYSOPER、DBA

1) sys用户是超级用户,具有最高权限即sysdba角色,有create database的权限,所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护&#xff0c…

Oracle 12c常用命令集合

查询当前数据库的详细版本号: 1.4.2 Checking Your Current Release Number To identify the release of Oracle Database that is currently installed and to see the release levels of other database components you are using, query the data dictionary …

计算机专业名词(缩写、全称、中文全称)

名词缩写名词全称中文全称备注ANSIAmerican National Standards Institute美国国家标准化组织 ISPInternet Service Provider互联网服务提供商 BIOSBasic Input/Output System基本输入/输出系统 UEFIUnified Extensible Firmware Interface统一可扩展固件接口 UUIDUniversal Un…