JavaWeb笔记--JSP内置对象
程序员文章站
2022-07-03 20:07:55
...
1. request对象的常见方法
(1) String getParameter(String name):
根据请求的字段名(input标签的name属性值),返回字段值(input标签的value属性值)
(2) String[] getParameterValues(String name):
根据请求的字段名,返回多个字段值
(3) void setCharacterEncoding("utf-8"):
设置post方式的请求编码
(4) getRequestDispatcher("b.jsp").forward(request,response):
请求转发 的方式跳转页面 A - > B
(5) ServletContext getServerContext():
获取项目的ServletContext对象
2.解决乱码问题
get方式请求 解决乱码:修改server.xml中 URIEncoding=“UTF-8”
post方式请求解决乱码:request.setCharacterEncoding(“utf-8”);
3.请求转发与重定向
请求转发 重定向
地址栏是否改变 不变 改变
是否保留第一次请求时的数据 保留 不保留 --4种范围对象
请求次数 1次 2次
(客->服->服->客) (客->服->客->服->客)
跳转发生的位置 服务端 客户端
请求转发 : request.getRequestDispatcher("testRequest.jsp").forwar(request,response);
重定向 : response.sendRedirect("testRequest.jsp");
4.Cookie(客户端)
客户端:不是内置对象,Cookie由服务端产生。由服务端发送给客户端保存,相当于本地缓存
4.1 方法、属性
Cookie :name = value
public Cookie (String name , String value)
String getName() :获取name
String getValue() :获取value
void setMaxAge(int expiry) :最大有效期(秒)
4.2 使用过程
(1) 服务端准备Cookie : response.addCookie(Cookie cookie)
(2) 页面跳转(转发重定向)
(3) 客户端获取cookie :request.getCookies()
注:
a.服务端增加cookie:response对象
客户端获取对象: request对象
b.获取cookie时,只能一次获取全部cookie,不能单独获取某一个
5. session(服务端)
5.1 session的产生及实现
(1) session 存储在服务端
(2) session 是在同一个客户请求时共享
(3) 实现机制: a. 第一次客户请求时,产生一个sessionid并赋值给cookie的jsessionid然后发给客户端
b. 客户端在第一次请求服务端时,如果服务端发现,此请求没有 JSESSIONID,
则会创建一个拥有一个 name= JSESSIONID 的Cookie,并返回给客户端
5.2 cookie和session的区别
session cookie
保存的位置 服务端 客户端
安全性 较安全 较不安全
保存的内容 Object String
5.3 session的常用方法
String getId(): 获取sessionId
boolean isNew(): 判断是否是 新用户(第一次访问)
void invalidate(): 使session失效 (退出登录、注销)
void setAttribute()
Object getAttribute();
void setMaxInactiveInterval(秒):设置最大有效 非活动时间
int getMaxInactiveInterval(): 获取最大有效 非活动时间
6. 四种范围对象
6.1 范围对象的范围
范围对象(小-->大) 范围
1.pageContext JSP页面容器 当前页面有效
2.request 请求对象 同一次请求有效(请求转发有效,重定向无效)
3.session 会话对象 同一次会话有效
4.appliation 全局对象 全局有效(整个项目有效,关闭服务器或其他项目无效)
6.2 共有的方法
(1) Object getAttribute(String name) : 根据属性名,获得属性值
(2) void setAttribute(String name , Object obj) : 设置属性值(新增,修改)
(3) void removeAttribute(String name) : 根据属性名,删除对象
6.3 注意
(1) 有时也称pageContext对象为page对象
(2) 以上4个范围对象通过setAttribute()赋值,通过getAttribute()取值
(3) 以上范围对象,尽量使用最小的范围。(范围越大,开销越大)
上一篇: logback配置文件
下一篇: Mac下如何安装adb