当前位置: 首页 > 图文教程 > 网络编程 > JSP > JSP教程(三)--JSP中”预定义变量”的使用

JSP
我认为JSP有问题(上)
我认为JSP有问题(下)
jsp“抓”网页代码的程序
关于在bean里面打印html的利弊看法
bean里面如何打印到html页面
jdbc3中的RowSet 接口规范
Apusic Application Server1.0中jsp源代码泄漏漏洞
Unify的eWave ServletExec拒绝服务漏洞
通过提交超长的GET请求导致IBM HTTP Server远程溢出
在HTTP请求中添加特殊字符导致暴露JSP源代码文件
Resin 1.2 重要源代码暴露漏洞
多中WEB服务器的通用JSp源代码暴露漏洞
Tomcat 暴露JSP文件内容
IBM WebSphere Application Server 暴露JSP文件内容
JRun 2.3.x 范例文件暴露站点安全信息
BEA WebLogic 暴露源代码漏洞
IBM WebSphere Application Server 3.0.2 存在暴露源代码漏洞
Tomcat 3.1 存在暴露网站路径问题
Sun Java Web Server 能让攻击者远程执行任意命令
Netscape 修复 JAVA 安全漏洞

JSP教程(三)--JSP中”预定义变量”的使用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 58 ::
收藏到网摘: n/a

为了简化JSP表达式和scriptlets中的代码,提供了8种自动定义的变量,有时称做implicit objects(固有对象)。它们是:request,response,out,session,application,config,pageContext,和 page。下面我们来详细的了解它们。
  request
  与request相联系的是HttpServletRequest类,使您可以得到request的参数(通过getParameter方法),request 的类型(GET,POST,HEAD,等等),和引入的HTTP头(cookies,Referer,等等)。严格来说,request是类ServletRequest的一个子类而不是HttpServletRequest类的,事实上,如果request的协议不是HTTP,那麽它几乎不会工作。
  response
  对客户端的response与HttpServletResponse 相连。请注意,因为输出流是放入缓冲的,所以可以设置HTTP状态码和response头,尽管在标准的servlets中不允许将之发送到客户端。
  out
  这里使用PrintWriter类来发送输出到客户端。然而,为了使response对象有效,可使用一个PrintWrite类的使用缓冲的版本JspWriter。使用session的属性page directive,您可以自己定义缓冲的大小,甚至可以在使用了buffer属性后关闭缓冲。也请注意,out仅用于scriptlets之中,因为JSP表达式自动的放入输出流,所以极少需要明确的声明out。
  session
  应用与request相联系的HttpSession类。因为session是自动创建的,即使没有一个引入的session,这种变量仍可绑定。有一个例外是,如果您用page directive关闭session,再试图使用session时将导致错误(在JSP页面向servlet转换时)。
  application
  使用ServeletContext类,通过使用getServletConfig().getContext()得到。
  config
  是一个ServletConfig类的对象。
  pageContext
  这是JSP中的一个新的类PageContext,用于精练特定服务器的特点时使用,如提高JspWriters的执行效率。如果您通过这个类访问而不是直接的,您的代码将仍然运行在“规则”的JSP /servlet引擎。
  page
  在JAVA中不是很有用,它仅仅是用来保存在脚本的语言不是JAVA时的时间。