仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 637|回复: 11
打印 上一主题 下一主题

[学习教程] 了解下JAVA的J2EE探究者: 隐式对象的多种用法

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:13:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。
本期的J2EE探究者是上个月的准确处置会话感化域进门的续篇。除会见会话感化域以外,JSP隐式对象还能够用来处置HTML参数,转发哀求到一个Web组件,包含组件的内容、经由过程JSP容器的日记数据、把持输入流,处置非常,等等。
本月,您将学到在JSP页面中利用隐式对象。我们起首扼要归纳综合JSP架构,个中包含了隐式对象。然后,我将先容每一个对象并形貌它的中心功效。最初,我们将给出利用每品种型的对象和它供应的容器办理服务的一些最好理论。
隐式对象简介
JSP架构面前的理念是供应一个Web组件,它同意开辟职员侧重存眷Web内容的暗示,而不必堕入剖析、编程和数据利用等细节。JSP使用程序实质上是特别的Web组件,在处置用户哀求之前,J2EEWeb容器起首将其转换成servlet。在每一个JSP使用程序外部有一套完全的隐式对象。
隐式对象使得开辟职员能够会见容器供应的服务和资本。这些对象之以是界说为隐式的,是由于您不用显式地声明它们。不管您是不是声明它们DD固然您不克不及反复声明它们,它们在每一个JSP页面傍边都举行界说,而且在背景由容器利用。由于隐式对象是主动声明的,以是我们只必要利用与一个给定对象相干的援用变量来挪用其办法。
9个隐式对象及其功效的复杂形貌以下:
Application是利用局限最广的高低文形态。它同意JSP页面的servlet与包含在统一使用程序中的任何Web组件共享信息。
Config同意将初始化数据传送给一个JSP页面的servlet。
Exceptioninclude含有只能由指定的JSP“errorpages”会见的非常数据。
Out供应对servlet的输入流的会见。
Page是JSP页面的处置以后哀求的servlet的实例。一样平常来讲,JSP页面作者不利用该对象。
PageContext是JSP页面自己的高低文。它供应唯一一个API来办理具有分歧感化域的属性。这个API在完成JSP自界说标志处置程序时利用得十分多。
Request供应对HTTP哀求数据的会见,同时还供应用于到场特定于哀求的数据的高低文。
Response同意间接会见HTTPServletResponse对象,JSP程序员很少利用该对象。
Session多是形态办理高低文中利用得最多的对象。“会话”的观点是指单个用户与Web使用程序在几个哀求长进行交互。
固然有些隐式对象只供应单一的功效,可是几个分离起来利用就能够供应多种功效。在接上去的一节里,我们将依照功效分类来考查隐式对象:
会话办理:application,session,request,pageContext
流把持:application,config,pageContext,request,session
日记纪录和非常:application,config,exception,pageContext,request,session
输出/输入把持:request,response,out
初始化参数:config
会话办理
上个月我们提到过,为JSP界说的四个隐式对象能够用来在一个特定的高低文大概感化域中到场有形态数据。这四个对象是application、session、request和pageContext。下表列出了这四个对象和它们界说的形态高低文,同时还给出了对每一个对象的复杂形貌。
表1.JSP形态办理
隐式对象感化域形貌javax.servlet.ServletContextApplication代表全部运转时的Web模块(使用程序)。感化域为application的数据在统一个使用程序模块的一切Web组件之间共享。这很像J2EE中供应的“全局(global)”数据javax.servlet.http.HttpSessionSession代表以后的HTTP会话。除page感化域外,session感化域是利用最广泛的高低文。这个对象在供应跨多个哀求的耐久的、有形态的用户体验方面利用得最广泛javax.servlet.http.HttpServletRequestRequest代表以后的HTTP哀求。这个高低文能够超过多个Web组件(servlet和JSP页面),只需这些组件属于统一原子哀求的一部分。由客户机供应的特定于哀求的数据(哀求办法、URI、HTTP参数等等)都被主动地保留在一个request高低文中。servlet或JSP页面还能够程式化地(programmatically)将数据的感化域指定为request,以便同意统一request感化域中的其他servlet或JSP页面能够猎取该数据javax.servlet.jsp.PageContextPage代表以后JSP页面的高低文。由于一个JSP页面的高低文包含以后的哀求、会话和使用程序,以是利用pageContext实例能够会见与一个JSP页面相干的一切定名空间。它是一切对象的默许感化域,包含JavaBeas对象在内。具有page感化域的对象一般会绑定到一个部分变量,以便在scriptlet、表达式、JavaBeans标志和自界说标志中能够会见它
从最好理论的态度来看,我们应当尽量地利用page感化域。它复杂,并且是JSP数据的默许感化域。request感化域十分合适于运转时代在组件间共享数据以处置一个特定的哀求。session感化域被计划用来为单个用户供应耐久的、有形态的体验,它能够超过多个哀求。application感化域只要必要在组件之间跨用户会话共享数据时才应当利用。参阅参考材料以懂得更多有关session感化域的信息。
<p>
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),
只想知道 该用户已被删除
沙发
发表于 2015-1-20 17:27:48 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
莫相离 该用户已被删除
板凳
 楼主| 发表于 2015-1-29 13:30:06 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-2 20:47:09 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-3 12:35:52 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
海妖 该用户已被删除
6#
发表于 2015-2-7 18:42:30 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-2-22 22:18:47 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
谁可相欹 该用户已被删除
8#
发表于 2015-3-7 03:21:00 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
若相依 该用户已被删除
9#
发表于 2015-3-11 08:27:41 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
若天明 该用户已被删除
10#
发表于 2015-3-12 23:30:15 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再见西城 该用户已被删除
11#
发表于 2015-3-13 00:08:39 | 只看该作者
是一种使用者不需花费很多时间学习的语言
小妖女 该用户已被删除
12#
发表于 2015-3-20 06:44:15 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 01:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表