仓酷云

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

[学习教程] JAVA网站制作之浅析JSP开辟中的对象和局限属性

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

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

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

x
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解在JSP页面中的对象,包含用户创立的对象(比方,JavaBean对象)和JSP的隐含对象,都有一个局限属性。局限界说了在甚么工夫内,在哪个JSP页面中能够会见这些对象。比方,session对象在会话时代内,能够在多个页面中被会见。application对象在全部Web使用程序的性命周期中都能够被会见。在JSP中,有4种局限,以下所示。

  ・page局限

  具有page局限的对象被绑定到javax.servlet.jsp.PageContext对象中。在这个局限内的对象,只能在创立对象的页面中会见。能够挪用pageContext这个隐含对象的getAttribute()办法来会见具有这类局限范例的对象(pageContext对象还供应了会见其他局限对象的getAttribute办法),pageContext对象自己也属于page局限。当Servlet类的_jspService()办法实行终了,属于page局限的对象的援用将被抛弃。page局限内的对象,在客户端每次哀求JSP页面时创立,在页面向客户端发送反响应或哀求被转发(forward)到其他的资本后被删除。

  ・request局限

  具有request局限的对象被绑定到javax.servlet.ServletRequest对象中,能够挪用request这个隐含对象的getAttribute()办法来会见具有这类局限范例的对象。在挪用forward()办法转向的页面大概挪用include()办法包括的页面中,都能够会见这个局限内的对象。要注重的是,由于哀求对象关于每个客户哀求都是分歧的,以是关于每个新的哀求,都要从头创立和删除这个局限内的对象。

  ・session局限

  具有session局限的对象被绑定到javax.servlet.http.HttpSession对象中,能够挪用session这个隐含对象的getAttribute()办法来会见具有这类局限范例的对象。JSP容器为每次会话,创立一个HttpSession对象,在会话时代,能够会见session局限内的对象。

  ・application局限

  具有application局限的对象被绑定到javax.servlet.ServletContext中,能够挪用application这个隐含对象的getAttribute()办法来会见具有这类局限范例的对象。在Web使用程序运转时代,一切的页面都能够会见在这个局限内的对象。

  上面我们经由过程几个复杂的例子,来看一下这4种局限对象的使用。

  1.测试page局限

  test1.jsp

<%
pageContext.setAttribute("name","zhangsan");
out.println("test1.jsp:");
out.println(pageContext.getAttribute("name"));
out.println("<p>");
pageContext.include("test2.jsp");
%>

  test2.jsp

<%
out.println("test2.jsp:");
out.println(pageContext.getAttribute("name"));
%>
  会见test1.jsp,将看到以下的输入:

  test1.jsp:zhangsan

  test2.jsp:null

  申明保留在pageContext对象中的属性具有page局限,只能在统一个页面中被会见。

  2.测试request局限

  修正test1.jsp和test2.jsp,以下所示。

  test1.jsp

<%
request.setAttribute("name","zhangsan");
out.println("test1.jsp:");
out.println(request.getAttribute("name"));
out.println("<p>");
pageContext.include("test2.jsp");
%>
  test2.jsp

<%
out.println("test2.jsp:");
out.println(request.getAttribute("name"));
%>
  会见test1.jsp,将看到以下的输入:

  test1.jsp:zhangsan
 
  test2.jsp:zhangsan

  申明保留在request对象中的属性具有request局限,在哀求对象存活时代,能够会见这个局限内的对象。将

pageContext.include("test2.jsp");
  这一句正文起来,先会见test1.jsp,再会见test2.jsp,能够看到以下输入:

  test2.jsp:null

  这是由于客户端入手下手了一个新的哀求。

  3.测试session局限

  修正test1.jsp和test2.jsp,以下所示。

  test1.jsp

<%
session.setAttribute("name","zhangsan");
%>
  test2.jsp

<%
out.println("test2.jsp:");
out.println(session.getAttribute("name"));
%>
  先会见test1.jsp,然后在统一个扫瞄器窗口中会见test2.jsp,能够看到以下输入:

  test2.jsp:zhangsan
 
  申明保留在session对象中的属性具有session局限,在会话时代,能够会见这个局限内的对象。

  假如我们在会见完test1.jsp后,封闭扫瞄器,从头翻开扫瞄器窗口,会见test2.jsp,将看到以下输入:

  test2.jsp:null

  这是由于客户端与服务器入手下手了一次新的会话。

  4.测试application局限

  修正test1.jsp和test2.jsp,以下所示。

  test1.jsp

<%
application.setAttribute("name","zhangsan");
%>
  test2.jsp

<%
out.println("test2.jsp:");
out.println(application.getAttribute("name"));
%>
  先会见test1.jsp,然后封闭扫瞄器,再翻开扫瞄器窗口,会见test2.jsp,能够看到以下输入:

  test2.jsp:zhangsan

  申明保留在application对象中的属性具有application局限,在Web使用程序运转时代,都能够会见这个局限内的对象。
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.
变相怪杰 该用户已被删除
沙发
发表于 2015-1-19 05:59:27 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
爱飞 该用户已被删除
板凳
发表于 2015-1-22 21:55:11 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
柔情似水 该用户已被删除
地板
发表于 2015-1-26 21:40:09 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
再现理想 该用户已被删除
5#
发表于 2015-2-1 22:36:08 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-4 13:18:54 | 只看该作者
是一种为 Internet发展的计算机语言
透明 该用户已被删除
7#
发表于 2015-2-9 23:24:58 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
只想知道 该用户已被删除
8#
发表于 2015-2-16 11:17:17 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
分手快乐 该用户已被删除
9#
发表于 2015-3-5 04:21:58 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
冷月葬花魂 该用户已被删除
10#
发表于 2015-3-10 16:46:28 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
海妖 该用户已被删除
11#
发表于 2015-3-17 08:11:33 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
金色的骷髅 该用户已被删除
12#
发表于 2015-3-24 03:06:54 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 05:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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