问卷调查回答结果提示信息上一章详细介绍了JSP 的基本语法,已经对JSP 技术有一个初步的了解。但是应用上一章讲述的JSP 知识只能编写一部分简单的程序,如果需要实现一些比较复杂高级的功能,例如网上购物、在线聊天室等,仅靠上一章介绍的知识是明显不够的。在上一章介绍JSP 技术原理/运行机制的时候,提到在JSP 技术内部已经定义好了若干个JSP 内部对象,应用这些内部对象,可以实现很多重要的功能来简化页面的开发。......
2023-11-21
application 对象的类型是javax.servlet.ServletContext,通过application对象可以获得和当前Web 应用相关的信息,例如Web 服务器运行信息、Servlet 路径和context 初始变量值等。对于一个容器而言,所有用户都共同使用一个application对象,这和session 对象是不一样的。服务器启动后,就会自动创建application 对象并一直保持,直到服务器关闭为止。
因为application 对象的类型为ServletContext,用法上和Servlet 中的用法完全一样。application 对象的主要方法可以参见第2 章“Servlet 常用API”小节关于ServletContext 的介绍。
以下介绍application 对象的常见应用。
1.传递参数
通过application 对象可以保存跨用户的共享数据,通过application 对象保存的数据内容,所有的用户都可以共享使用。例如向application 对象中存取属性:
如果把session 对象比喻成私人手机,那么application 对象就相当于公共电话。
2.设置context 初始参数
可以通过web.xml为一个Web应用中所有的Servlet和JSP页面设置共享的初始参数。(www.chuimin.cn)
例如,在web.xml 文件的根元素(即<web-app>元素)下添加如下内容:
然后在JSP 页面中,使用application 对象的getInitParameter()方法可以取得website 参数对应的参数值,在Servlet 中用ServletContext 对象的同名方法获得参数值。
3.使用log()方法记录日志
同时,还可以在JSP 页面中使用application 对象提供的log()方法实现日志记录的功能。在Tomcat 中,记录的日志都保存在Tomcat 根目录的logs 目录下。日志内容分成不同文件进行记录,例如,2020-6-10 的日志内容会记录到localhost_log.2020-06-10.txt 文件中。而在Tomcat5.5 中调用ServletContext 接口的log()方法,Servlet 容器将把日志信息输出到Tomcat 的启动窗口中,如Console 视图。
JSP 页面中使用log()方法的代码片段:
运行该JSP 页面,将会发生异常并将日志记录到日志文件或者Console 窗口中,记录内容如下:
有关Java Web应用开发的文章
问卷调查回答结果提示信息上一章详细介绍了JSP 的基本语法,已经对JSP 技术有一个初步的了解。但是应用上一章讲述的JSP 知识只能编写一部分简单的程序,如果需要实现一些比较复杂高级的功能,例如网上购物、在线聊天室等,仅靠上一章介绍的知识是明显不够的。在上一章介绍JSP 技术原理/运行机制的时候,提到在JSP 技术内部已经定义好了若干个JSP 内部对象,应用这些内部对象,可以实现很多重要的功能来简化页面的开发。......
2023-11-21
统一资源定位符也被称为网页地址,是用于完整地描述Internet 上网页和其他资源的地址的一种标识方法。现在它已经被万维网联盟编制为Internet 标准RFC1738 了。例如:其中“http”指使用的协议,“mail.***.com”是服务器名,“80”是端口号,“/a/j/js3/main.jsp”是路径,“?sid=SDeQWJeebVpZIlKECzee”是询问。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明,用户只要键入统一资源定位符的一部分(mail.***.com/a/j/js3/main.jsp?......
2023-11-21
pageContext 对象为访问页面作用域中定义的所有内置对象提供了访问的方法。pageContext 对象中常用的方法见表5.5。利用pageContext 对象,还可以设置和得到在其他范围对象中保存的属性。例5.2:pageContext 对象的使用。在to.jsp 页面通过两种方式获取到request 作用域的属性值,并使用setAttribute()方法将该值存入pageContext 对象中,然后使用getAttribute()方法获取并输出。其实pageContext 对象的forward()方法的内部实现是调用了RequestDispatcher 对象的forward()方法。......
2023-11-21
只需依据信息的有效范围选择合适的作用域对象即可。表5.3 列出了这4 种作用域,并说明了它们是否能应用于Servlet 和JSP 页面,还给出了对每种作用域的描述。表5.3作用域说明在这4 种作用域中,每一种都有一个不同的机制,用于存储并最终访问上下文相关的数据。表5.4 列出了4 个类,分别对应于4 种会话作用域。表5.4作用域的对应类......
2023-11-21
只有当页面是错误处理页面,即page 指令的isErrorPage 属性为true 时,该对象才可以使用。常用的方法有getMessage()和printStackTrace()等。在JSP 页面中,可以利用page 指令的errorPage 属性指定一个错误处理页面,当JSP页面运行发生错误时,JSP 容器会自动调用指定的错误处理页面。下面看一个例子。当向price.jsp 页面传入的金额不合法时将会导致异常的发生。price.jsp 页面的代码如下:excep.jsp 页面的代码如下:使用“http://localhost:8080/ch06/price.jsp?p=1000.50”访问price.jsp,运行效果如图5.3 所示。图5.4exception 对象示例......
2023-11-21
out 对象实际上是PrintWriter 对象的带缓冲的版本,可以通过page 指令的buffer属性来调整缓冲区的大小,默认的缓冲区是8 kb。表5.2out 对象中与缓存区操作相关的方法out 对象针对不同的数据类型,提供了多个重载的print()和println()方法,用于输出数据。out.newLine():输出一个换行符。例5.1:out 对象使用示例。建立Java Web 项目ch06,并在WebRoot 文件夹下建立out.jsp 文件,其内容如下:发布ch06 项目,并启动Tomcat 服务器。图5.1在浏览器中查看运行效果和源代码......
2023-11-21
在JSP 开发中,转发会把处理用户请求的控制权转交给其他Web 组件。所有与发送内容直接有关的任务必须由被转发的组件完成。第二种流转控制技术是包含。与forward 传递控制权不同的是,执行include 的组件维持对请求的控制权,只是简单地请求将另一个组件的输出包含在该页面的某个特定的地方。而使用application 对象的getRequestDispatcher()方法获取RequestDispatcher 对象, 相当于使用的是 ServletContext 对象的getRequestDispatcher()方法。例如,使用内置对象application 的流转控制机制的代码片段:......
2023-11-21
当Servlet 进行初始化时,容器把配置信息通过此对象传递给这个Servlet。config 对象的主要方法可以参见第2 章“Servlet 常用API”小节关于ServletConfig 的介绍。在ch06 项目的web.xml 的根元素下添加如下配置:在上述配置中,可以看出配置的初始化参数名称为configFile,值为一个文件名。
2023-11-21
相关推荐