jsp页面元素与九个内置对象

jsp页面元素

a.脚本Scriptlet

i. <%

局部变量,java语句

%>

ii. <%!

全局变量,定义方法

%>

iii. <%= 输出表达式%>

b.指令

page指令

<%@ page ....%>

page:指定的属性

language:jsp页面使用的脚本语言

import : 导入类

pageEncoding: jsp文件自身编码 jsp->java

contentType: 浏览器解析jsp的编码

c.注释

HTML注释 <!-- --> 可以查看源码

java注释 // /* */

jsp注释 <%-- --%>

jsp九个内置对象

out: 向客户端输出

pageContext

request:请求对象, 存储客户端的请求信息

String getParameter(String name): 字段值-》value

String[] getParameterValues(String name) (checkbox)

setCharacterEcoding("编码"): 设置请求编码

getRequestDispatcher("b.jsp").forward(request, response); 请求转发的方式跳转页面 a->b

getServletContext(): 获取项目的ServletContext对象

eg:

注册

register.jsp, show.jsp

get提交方式: method = “get” 和地址栏请求、超链接

get与post请求区别:

a. get在在地址栏显示请求信息(地址栏容纳信息有限),post不显示

b. 文件上传使用post

统一请求的编码request

get出现乱码:

1.每个变量改变编码

2.修改server.xml URIEncoding = "utf-8"

post出现乱码:

request.setCharacterEncoding("utf-8");

response 响应对象

提供方法:

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

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

void setContextType(String Type): 设置服务器响应编码

eg: 登录

重定向和请求转发的要求:

 

请求转发

重定向

 

地址栏是否改变

 

不变

变化

是否保留请求数据

保留

不保留

请求次数

1

2

跳转发生的位置

服务端

客户端第二次跳转

 

session(服务端)

会话: 一次开始到关闭

session机制

a.存储在服务端

b.session在同一个客户请求时共享

c.客户第一次请求时产生一个sessionId并复制给cookie的jsessionId发给客户端

实现jsessionId与sessionId的对应

session方法

String getId(): 获取sessionId

boolean isNew(): 判断是不是新用户

void invalidate(): 使session失效(退出、注销)

void setAttribute()

Object getAttribute()

void setMaxInactiveInterval(): 设置最大有效,非活动时间

int getMaxInactiveInterval(): 获取最大有效非活动时间

cookie(客户端,不是内置对象, new ):服务端产生,发送给客户端对象

JSESSIONID的cookie服务器会产生

相当与本地缓存

提高访问效率,安全性差

Cookie: key->value

javax.servlet.http.Cookie

public Cookie (String name, String value)

String getName()

String getValue()

void SetAge(int expiry); 最大有效期

服务端发送给客户端

response.add(Cookie cookie)

页面跳转(转发 重定向)

客户端获取Cookie:

request.getCookies();一次性获取全部Cookies

产生一个JSESSIONID的cookie

eg.使用Cookie自动记住用户名

cookie 和 session的区别

 

session

cookie

保存的位置

服务端

客户端

安全性

较安全

较不安全

保存的内容

Object

String

内容

application 全局对象

String getContextPath(): 虚拟路径

String getRealPath(String name): 绝对路径

config

page

exception

四种范围对象(小->大)

pageContext jsp页面容器 当前界面有效

request 请求对象 同一次请求有效(请求转发有效, 重定向无效)

session 会话对象 同一次会话有效

application 全局对象 当前项目全局有效 关闭服务 其他项目无效

多个项目共享、重启之后仍然有效:JNDI

以上四个对象共有的方法

Object getAttribute (String name): 根据属性名

void setAttibute(String name, Object obj) 设置属性值(新增 修改)

void removeAttribute (String name): 根据属性删除对象

尽量使用范围小的 , 范围越大 , 性能损耗越大

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值