JSP入门
来源:互联网 发布:netstat命令查看端口 编辑:程序博客网 时间:2024/05/17 08:04
1、JSP头部信息
1.1 3种指令
1.2 page指令的常用属性
2、Scriptlet
3、JSP隐式对象
4、JSP的生命周期
5、初始化JSP
6、JSP属性
不是线程安全的web应用的所有部分:Servlet、JSP、ServletContextListener、ServletContextAttributeListener如果服务器或应用关闭,上下文则撤销希望为整个应用共享资源。如:数据库连接,email地址等等getServletContext().application.HttpSession(会话)
不是线程安全的访问这个特定会话的所有Servlet和JSP。会话的生命周期,可以通过编程撤销,也可以通过超时撤销与客户会话有关的资源和数据。request.request. Request(请求)
线程安全应用中能直接访问请求对象(httpRequest)的所有部分。就是Servlet的service方法。 request.getSession()sessionpage(页面) 没有pageContext.正如3中提高的,可以从pageContext中得到其他隐式对象。也可以从pageContext中得到所有作用域的属性(只需添加一个表示作用域的int参数)
6.1 使用pageContext获得和设置属性
JSP 页面中的操作和模板数据是使用 JspWriter 对象编写的,该对象由隐式变量 out 引用,而此变量是使用 PageContext 对象中的方法自动初始化的。
此抽象类模仿 java.io.BufferedWriter 和 java.io.PrintWriter 类中的一些功能,但又不同于这些类,因为它从 print 方法抛出 java.io.IOException,而 PrintWriter 不会这样做。
缓冲
初始 JspWriter 对象与 ServletResponse 的 PrintWriter 对象关联,关联方式取决于页面是否被缓冲。如果页面未被缓冲,则写入此 JspWriter 对象的输出将直接写入 PrintWriter,如有必要,将通过对响应对象调用 getWriter() 方法创建 PrintWriter。但是,如果页面被缓冲,则在刷新缓冲区之前不会创建 PrintWriter 对象,并且 setContentType() 之类的操作是合法的。因为这种灵活性显著简化了编程,所以默认情况下将对 JSP 页面进行缓冲。
缓冲会带来超出缓冲区时该如何处理的问题。可以采用两种方法:
- 超出缓冲区不是致命错误;在超出缓冲区时,只需刷新输出即可。
- 超出缓冲区是致命错误;在超出缓冲区时,引发一个异常。
两种方法都有效,并且在 JSP 技术中都得到支持。页面的行为由 autoFlush 属性控制,该属性的默认值为 true。通常,需要确保已将正确且完整的数据发送到其客户端的 JSP 页面可能想将 autoFlush 设置为 false,比如客户端是应用程序自身的情况。另一方面,发送有意义的数据(即使只构造了一部分时)的 JSP 页面可能想将 autoFlush 设置为 true;比如发送要通过浏览器立即显示的数据时。每个应用程序都需要考虑自己的特定需求。
一个可以考虑的选择是不设置缓冲区大小界限;但是,这又带来了计算不受控制的弊病,将消耗数量无法估计的资源。
JSP 实现类的 "out" 隐式变量就属于这种类型。如果页面指令选择 autoflush="true",那么在导致溢出情况时,或者在当前操作是在没有进行刷新的情况下执行的时候,此类上的所有 I/O 操作都将自动刷新缓冲区的内容。如果 autoflush="false",那么在执行当前操作将导致缓冲区溢出的情况下,此类上的所有 I/O 操作都将抛出 IOException。
- jsp入门
- JSP入门
- JSP入门
- jsp入门
- JSP入门
- JSP入门
- JSP入门
- Jsp入门
- jsp 入门
- JSP入门
- JSP入门
- JSP入门
- JSP入门
- Jsp入门
- JSP入门
- JSP入门
- JSP入门
- jsp入门
- 基于对话框的MFC程序实现非模态对话框主对话框最小化时子对话框不最小化
- 微信公众平台开发教程第20篇-新手解惑40则
- 施一公:优秀博士如何养成(全文) 清华大学演讲
- 微信公众平台开发教程第19篇-应用实例之人脸检测
- Visual Basic 指针操作详解
- JSP入门
- 聚合函数
- 关于编译com工程的一些体会
- 微信公众帐号开发教程第18篇-应用实例之音乐搜索
- sqlite 管理工具 大全
- 小兔的棋盘(HDU 2067)
- 线程之QThread
- 消息推送处理代码样列
- nodeJs的基础语法