博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP9大内置对象
阅读量:2344 次
发布时间:2019-05-10

本文共 2265 字,大约阅读时间需要 7 分钟。

在这里插入图片描述


out : 输出对象

config : 服务器配置对象
page : 当前JSP页面对象(this)
exception : 异常对象
pageContext : 当前页面page对象


request: 请求对象

存储客户端向服务端发送的请求信息

常见方法:
String getParameter(String name) //name为key 返回value

String[] getparameterValues(String name) //返回String[]

setCaracterEncoding(“utf-8”) // 服务端知道客户端是什么编码

getRequestDispatcher(“b.jsp”).forward(request,response) // 请求转发A -> B

ServletContext getServerContext() //获取项目的ServletContext对象

Cookie[] getCookie() //获取所有Cookie


response:响应对象

常见方法:

void addCookie(Cookie cookie) // 服务端向客户端增加cookie对象

void sendRedirect(String location) throws IOException // 页面跳转的一种方式(重定向)

void setContetType(String type) // 设置服务端相应的编码

请求转发 重定向
地址栏是否改变 不变(check.jsp) 变(success.jsp)
保留第一次请求时数据 保留 不保留
请求的次数 1 2
跳转发生的位置 服务端 客户端发出的第二次跳转

请求转发:request.getRequestDispatcher(“b.jsp”).forward(request,response);

重定向:response. sendRedirect(“b.jsp”) ;

请求转发:login -> check -> success -> login

重定向 : login -> check -> login -> success -> login


session&cookie

Cookie

(客户端,非内置对象):由服务端产生,发送给客户端保存

相当于本地缓存,作用:提高访问效率,但是安全性差

name(key) – value

javax.servlet.http.Cookie

public Cookie(String name , String value)

String getName()
String getValue()
String setMaxAge(int expiry) // 最大有效期(秒)

服务端准备cookie : response.addCookie(Cookie cookie)

客户端获取cookie : request.getCookies();

a.服务端用response增加,客户端用request获取

b.只能一次性获取所有cookie
(例子可看https://www.bilibili.com/video/av29086718?p=8 10min)


session会话

(一次会话:开始-结束)

机制:客户端第一次请求服务端(JSESSIONID - sessionID 匹配失败) -> 服务端产生session对象,有唯一sessionID同时产生一个cookie,name = JESSIONID,value = 服务端sessionID,响应客户端时发送cookie
->客户端的cookie和服务端session一一对应
->第二次(JSESSIONID - sessionID)匹配成功
主要方法:
String getId(); // SessionId
boolean isNew() // 是否是新用户
void invalidate() //使session失效

void setAttribute(“name”,name);

Object getAttribute();

void setMaxInactiveInterval(秒) // 设置最大有效 非活动时间

int getMaxInactiveInterval()

session cookie
保存的位置 服务端 客户端
安全性 较安全 较不安全
保存的内容 Object String

application

全局对象,有整个项目的属性

主要方法
String getContextPath() //获取虚拟路径
String getRealPath(String location) //获取虚拟路径对应绝对路径


4个范围对象(从小到大)

共同方法

Object getAttribute(String name)
void setAttribute(String name.Object obj) //有改无增
void removeAttribute(String name)

名称 定义 有效范围
pageContext JSP页面容器(page对象) 当前页面有效(页面跳转无效)
request 请求对象 同一次请求有效(重定向无效)
session 会话对象 同一次会话有效(切换浏览器则无效)
application 全局对象 整个项目有效(关闭服务、其他项目无效)

转载地址:http://wmjvb.baihongyu.com/

你可能感兴趣的文章
Java 面试80%的人都会踩这些坑,你得提防点~
查看>>
java这样学,才能找到一份Java开发的工作,不要盲目的去学习
查看>>
自学5个月Java找到了10K的工作,我的方式值得大家借鉴
查看>>
为什么这么多人Java基础薄弱?该如何提升?
查看>>
如何成为一名合格的Java程序员?
查看>>
spring框架中5种自动装配模式介绍
查看>>
如何学习Spring框架?有哪些建议?
查看>>
Java程序员烂大街了吗?是,也不是
查看>>
为什么学编程大部分人选Java编程语言?
查看>>
Java学习注意哪些问题?学习少踩坑
查看>>
两年Java后端开发,面试了几十家公司的面试分享
查看>>
一定要在C++和JAVA中选择,应该学那个好?
查看>>
C语言、C++、Java,Python之间的区别,哪个更有前景,哪个更难 ?
查看>>
作为大学生,现在学习Java还有出路吗?
查看>>
Java的JDK在哪里下载,如何下载?
查看>>
985毕业,半路出家28岁进军Java,坚持了三年现如今年薪36W+,也不算辜负自己!
查看>>
零基础JAVA和web前端该选哪个好?
查看>>
Java大牛学习经验:新手建议按这6步学习 !
查看>>
从事程序员的工作,Python大数据、Java、前端,哪个更有发展前景!
查看>>
假如我是面试官,我会这样虐你!
查看>>