Java Web程序设计

刘肃平、聂军、王华、李勇波、魏碧晴

目录

  • 1 Java Web概述
    • 1.1 任务导引
    • 1.2 动态网页技术介绍
    • 1.3 JSP的运行环境
    • 1.4 JSP的运行原理
    • 1.5 JSP程序开发模式
    • 1.6 JSP开发工具
    • 1.7 任务实施:JSP开发环境搭建及第一个Hello World程序
  • 2 JSP基本语法
    • 2.1 任务导引
    • 2.2 JSP的基本组成
    • 2.3 脚本元素
    • 2.4 指令元素
    • 2.5 动作元素
    • 2.6 任务实施
  • 3 服务器交互
    • 3.1 任务导引
    • 3.2 JSP内置对象概述
    • 3.3 out对象
    • 3.4 request对象
    • 3.5 response对象
    • 3.6 session对象
    • 3.7 application对象
    • 3.8 其他内置对象
    • 3.9 任务实施:使用JSP内置对象实现登录和注销功能
  • 4 JavaBean技术
    • 4.1 任务引导
    • 4.2 JavaBean概述
    • 4.3 JavaBean的应用
    • 4.4 JavaBean的作用域
    • 4.5 任务实施
    • 4.6 JSP中的文件操作
  • 5 Servlet技术
    • 5.1 任务引导
    • 5.2 Servlet基础
    • 5.3 Servlet开发
    • 5.4 Servlet常用API
    • 5.5 任务实施
  • 6 第6章 过滤器和监听器
    • 6.1 任务导引
    • 6.2 Servlet过滤器
    • 6.3 过滤器创建与配置
    • 6.4 Servlet监听器
    • 6.5 Servlet3.0新特性
    • 6.6 任务实施
  • 7 Java Web的数据库操作
    • 7.1 任务导引
    • 7.2 JDBC技术
    • 7.3 使用JDBC驱动程序访问数据库
    • 7.4 数据库连接的JavaBean
    • 7.5 JDBC对事务的操作
    • 7.6 连接池技术
    • 7.7 任务实施
    • 7.8 扩展阅读
  • 8 JSP高级技术
    • 8.1 任务导引
    • 8.2 EL概述
    • 8.3 JSTL标签库简介
    • 8.4 JSTL核心标签
    • 8.5 JSP与Ajax
    • 8.6 任务实施
    • 8.7 扩展阅读
  • 9 JSP实用组件技术
    • 9.1 任务导引
    • 9.2 上传与下载组件
    • 9.3 发送E-mail
    • 9.4 JSP动态图表
    • 9.5 在线编辑器
    • 9.6 任务实施
其他内置对象

请同学们先浏览PPT,这是一个任务点哈!完成后有惊喜哟!

1.pageContext对象

JSP利用页面上下文对象pageContext可以获取页面所有相关的属性。通过pageContext对象也可以得到当前页面中所有其他的JSP内置对象(out、request、response、session、application等)及其所支持的属性。它实现的接口为javax.servlet.jsp.PageContext。

public void setAttribute(String name, Object value),在pageContext对象中存储指定名字的属性和值。如果值为null,则效果等同于removeAttribute(String name)。

public void setAttribute(String name, Object value, int scope),在指定范围内存储指定名字的属性和值。如果值为null,则效果等同于removeAttribute(String name,int scope)。

public Object getAttibue(String name),读取pageContext对象中指定名字的属性的值,如果指定的属性名不存在,则返回null。

public Object getAttribute(String name, int scope),读取指定范围内指定名字的属性的值,如果指定的属性名不存在,则返回null。

public Enumeration getAttributeNamesInScope(int scope),获取指定范围内所有属性的名字。

public int getAttributesScope(String name),读取指定名字的属性的所属范围。

public void removeAttrbute(String name),删除pageContext对象中指定名字的属性,如果指定的属性名不存在,则什么都不做。

public void removeAttribute(String name, int scope),删除指定范围内指定名字的属性,如果指定的属性名不存在,则什么都不做。

public Object findAttribute(String name),依次在pageContext对象,request对象,session对象,application对象中搜索指定名字的属性。如果找到,则返回属性的值,如果没有找到,则返回null。

用于获取其他内置对象的方法                       

序号

方法名称

功能

1

Exception getException()

获取当前页面出现的异常(即exception对象),不过此时页面应为错误处理页.

2

JspWriter getOut()

获取当前页面的输出流,即out对象

3

Object getPage()

获取当前页面的Servlet对象,即page对象

4

ServletRequest getRequest()

获取当前页面的请求对象,即request对象

5

ServletResponse getResponse()

获取当前页面的响应对象,即Response对象

6

ServletConfig getServletConfig()

获取当前页面的ServletConfig对象,即config对象

7

ServletContext getServletContext()

获取当前的ServletContext对象,即application对象

8

HttpSession getSession()

获取当前页面的会话对象,即session对象

2.page对象

page对象是JSP页面对应的Servlet类的实现对象,相当于this。

page对象是指指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。page对象在实际开发过程中并不经常使用。

page对象常用方法如下:(主要是Object类中声明的方法)

class getClass() 返回此Object的类

int hashCode() 返回此Object的hash码

boolean equals(Object obj) 判断Object是否与指导的Object对象相等

void copy(Object obj)把此Object拷贝到指定的Object对象中

Object clone()克隆此Object对象

String toString()把此Object对象转换成String类的对象

void notify()唤醒一个等待的线程

void notifyAll()唤醒所有等待的线程

void wait(int timeout)使一个线程处于等待直到timeout结束或唤醒

void wait()使仪的线程处于等待直到被唤醒

page和pageContext的区别:

page:java.lang.Object的实例,对应this关键字。JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。

pageContext:javax.servlet.jsp.PageContext的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等。

3.config对象

config对象代表当前JSP页面的配置信息,它对应的接口是:是javax.servlet.ServletConfig。通常情况下,JSP页面无需配置,因此config对象在JSP页面中比较少用,但它在Servlet中的作用比较大,将在第7章中详细介绍。

config对象的常用方法:

public String getInitParameter(String name),获取指定名字的初始化参数的值,如果参数不存在,则返回null。

public Enumeration getInitParameterNames(),获取所有初始化参数的名字,如果没有初始化参数,则返回一个空的枚举集合。

public ServletContext getServletContext(),获取Servlet的上下文对象。

public String getServletName(),获取Servlet对象的名称。

【案例3-11】config对象实例

3_11.jsp

<%@ page contentType="text/html;charset=UTF-8" %>

<html>

<body>

<!-- 直接输出config的getServletName的值 -->      <%=config.getServletName()%>  

</body>

</html>


4.exception对象

exception对象代表了JSP文件运行时所产生的错误和异常对象,只有在包含<%@page isErrorPage="true" %>的页面中才可以使用,在一般的JSP文件中使用该对象会导致无法编译JSP文件。exception对象的常用方法如下表所示

序号

方法

说明

1

getMessage()

返回exception对象的异常信息字符串

2

getLocalizedMessage()

返回本地化的异常错误

3

toString()

返回关于异常错误的简单信息描述

4

fillInStackTrace()

重写异常错误的栈执行轨迹