练习:利用application对象实现聊天室
编写login.jsp,如右下图。点击登录,跳转到chat.jsp.
chat.jsp界面如左上图,要显示每个用户的聊天记录
login.jsp完成功能: 接收用户名,提交给chat.jsp chat.jsp完成功能
获取登录用户名,显示欢迎信息
从application对象中获取所有用户的聊天记录,并显示(使用application对象的getAttribute方法)
获取用户输入的聊天信息,并提交给app.jsp
app.jsp完成功能
21
获取用户输入的聊天信息,将其添加到所有用户的聊天记录中,并保存(使用application对象的setAttribute方法) 跳转回chat.jsp。
在chart.jsp中可以使用response.setHeader(“Refresh”,10)定期刷新,从application对象中获取所有聊天记录并显示
pageContext对象
pageContext对象代表当前页面的上下文环境,类型为javax.servlet.jsp.PageContext。 通过pageContext对象可以获取页面所有相关的属性。
通过pageContext对象也可以得到当前页面中所有其他的JSP隐含对象(out、request、response、session、application等)及其所支持的属性。
pageContext对象常用方法
1.setAttribute和getAttribute方法
public void setAttribute(String name, Object obj),在当前页面内保存
pageContext对象常用方法
2. 用于获取其他隐含对象的方法 Exception getException() JspWriter getOut() Object getPage() ServletRequest getRequest() ServletResponse getResponse() ServletConfig getServletConfig() ServletContext getServletContext() HttpSession getSession()
获取当前页面出现的异常(即exception对象),不过此时页面应为错误处理页. 获取当前页面的输出流,即out对象 获取当前页面的Servlet对象,即page对象 获取当前页面的请求对象,即request对象 获取当前页面的响应对象,即Response对象 获取当前页面的ServletConfig对象,即config对象 获取当前的ServletContext对象,即application对象 获取当前页面的会话对象,即session对象 config对象
config对象:主要用来获取服务器的配置信息,它实现的是javax.servlet.ServletConfig接口。
使用config对象可以获取Web应用配置描述文件web.xml的相关信息。 config对象的常用方法:
public String getInitParameter(String name) 获取服务器指定name参数的初始值
public java.util.Enumeration getInitParameterNames()获取服务器所有初始参数的名字。
public ServletContext getServletContext()获取Servlet的上下文
22
public String getServletName() 获取Servlet的服务器名。
page对象
page对象是JSP页面对应的Servlet类的实现对象,相当于this。 实际指的就是JSP页面本身。 实际很少使用,因此在此略过。
exception对象
exception对象代表了JSP文件运行时所产生的错误和异常对象; 只有在包含<%@page isErrorPage=“true”%>的页面中才可以使用,在一般的JSP文件中使用该对象会导致无法编译JSP文件。 是java.lang.Throwable的一个实例。 常用的方法
返回错误信息
public String getMessage() public String toString()
输出详细错误信息:
public void printStackTrace()
public void printStackTrace(PrintStream ps) public void printStackTrace(PrintWriter pw)
对象的有效范围
pageContext,request,session,application对象都有setAttribute和getAttribute方法,但所设置属性的有效范围不同
pageContext对象设置的属性在当前页内有效 request对象设置的属性在同一个请求内有效 session对象设置的属性在同一个会话内有效 application对象设置的属性在同一个应用内有效
页面有效
23
请求有效
请求有效
24
相关推荐: