9个内置对象
来源:互联网 发布:菜鸟网络估值1300亿 编辑:程序博客网 时间:2024/05/01 18:38
- 都是Servlet API的实例,JSP规范进行 默认初始化
- 在路径下,打开任意jsp页面生成的servlet可以看到,request和response是_jspService方法的形参,其他的是该方法的局部变量,由该方法初始化,所以这些内置对象尽可以在JSP脚本和输出表达式中使用,不可以在JSP声明中使用,否则系统将提示找不到
- 只有异常处理页面生成的servlet才会初始化exception
- web服务器
- 需完成的事情:1.向远程服务器发送请求;2读取远程服务器返回的字符串数据;3根据返回的字符串数据渲染页面
- 当接收到客户端的请求之后,服务器应该启动单独的线程接受请求,返回响应。即“请求/响应”架构,当接收到请求后,需完成以下几步:1启动单独线程;2使用I/O流读取用户请求数据;3从请求数据中解析参数;4处理用户请求;5生成相应数据;6通过I/O流向客户端发送请求数据。其中1,2,6通用,3,4,5web服务器会会调用servlet的_jspServic方法完成
- JSP和servlet间的数据交换:4个map结构——application(整个web应用);session(当前对话);request(当前请求);page(当前页面)
- application
- 作用:1多个JSP和servlet间共享数据;2访问web应用的配置参数
- web中:
- 在servlet中并没有servlet内置对象,故需要通过代码获取:每个web应用只有一个ServletContext实例
- 获取web应用的配置参数:
- 需要获取的配置参数需要在web.xml中使用context-param元素配置param-name和param-value
- config对象
- 代表servlet的配置信息,在JSP中应用不多,一般用于servlet
-
如果希望获取到JSP的配置信息,则必须通过配置路径访问该页面,只有这样才会让配置参数起作用 - exception
- exception对象是Throwable实例,只有jsp脚本和输出表达式才会对应_jspService中的方法,已处于try块中,无需处理,但对于jsp声明不起作用
- pageContext
- 代表页面上下文,用于访问JSP间的共享数据,可访问application,session,page,request范围内变量
- request
- 获取参数方法
- 客户端发送请求的方法:
- GET:表达默认或method=get,将请求的参数名和参数值转化成字符串附加在源URL之后,传送的数据量较小,一般不超过2kb
- POST:metnod=post传送的数据量较大,一般认为不受限制,但取决于服务器,请求参数和数据置于HTML HEADER中,安全性较高
- response
- out无法输出非字符内容,可通过response,response还可重定向请求,向客户端增加cookie 为第二次请求
- 增加cookie:
- cookie会一直储存在客户端机器上,除非超出生命周期,session会随浏览器关闭而失效。在使用cookie时必须设定生命周期,否则会随浏览器关闭而失效
- 访问客户端cookie使用request对象
- 默认情况下cookie不允许出现中文字符,可
- session
- 通常用于保存客户端的状态信息,需保存在web服务器的硬盘上,所以session里的属性值必须可序列化