java 九大内置对象_Java九大内置对象

Java九大内置对象

内置对象/作用域(每一种作用域的生命周期是不一样的):

1, application 全局作用域

2, session 会话作用域

3, request 请求作用域

4, pageContext 页面作用域

内置对象

5, response 响应对象

6, out 输出流对象

7, page 当前页面对象的实例

8, exception 异常

9, config ServletConfig/FilterConfig对象

页面中的form表单提交方式:

post:

提交内容不可见, 没有长度限制

get:

有长度限制, 提交内容在地址栏可见

request对象:

request对象是HttpServletRequest这个类的实例

常用方法:

String getParameter(String name)---返回name指定的参数的值

String[] getParameterValues(String name)---返回一个数组, 是包含那个参数名的所有的人

voidsetAttribute(String, Object)---设置某个作用域中的属性

ObjectgetAttribute(String name)---获取某个作用域中的属性

String getRealPath(String path)---返回传入的这个路径的物理路径

String getContextPath()---返回上下文路径

String getServerName()---返回请求服务器的主机名

String getContentType()---返回请求体的MIME类型

String getprotocol()---返回请求用的协议类型和版本号

int getServerPort()---获取服务器的端口号

int getContentLength()---返回请求体的长度(单位是字节)

String getRemoteAddr()---返回发送此请求的客户端的IP地址

解决request中出现中文乱码的问题

post方式:

通过使用request.setCharacterEncoding("utf-8")来设置

get方式:

通过修改Tomcat服务器中的server.xml配置文件来设置

response对象

response对象是HttpServletResponse的实例

常用方法:

setCharacterEncoding(String name)---设置响应页面使用的字符编码

setContentType("text/html; charset=utf-8")---设置(MIME类型)请求头

response.getWriter().append(String content)---向页面输出一段字符串

out对象的类型是JspWriter, 而response.getWriter()是一个PrintWriter, out对象也可以通过pageContext.getOut()获得, 这两个对象的类型不一样

out.print()可能会抛出异常

PrintWriter.print()不会抛出异常

JspWriter是一个抽象类, PrintWriter是一个继承了Writer的普通类

getWriter()方法可以在页面上输出一串字符, out也是一个输出对象, 两者的区别在于, getWriter()方法的执行结果, 总是优先于out对象, 可以使用out.flush()方法, 强行属性缓        冲区的内容, 将out对象的输出结果先输出出来

造成这种现象的原因:

out对象实际上对PrintWriter是有依赖的, 他需要先将需要输出的内容存到response的缓冲区里面, 然后等待jsp页面中的out满足一定条件之后, 才会调用输出的方法把        内容直接输出到页面上

而PrintWriter是可以直接输出出来的

转发和重定向

response.sendRedirect(String location)---请求重定向

客户端行为, 从本质上讲相当于两次请求, 第一次请求的对象不会被保存, 地址栏的Url地址会改变

request.getRequestDispatcher().forward(request, response)---请求转发

服务器行为, 相当于一次请求, 转发后请求对象会被保存, 地址栏url不会改变

Session对象

session指的是用户在进入一个网站开始到关闭浏览器的时间, Tomcat服务器默认的session有效时间是30分钟, 也就是说, 打开一个网站30分钟之内没有动作, session对象同样也     会失效

session存在服务器的内存中, 服务器中不同的用户对应的session也是不同的, 所以服务器用来判断当前登录的用户是否是同一个的时候就需要session

session对象是HttpSession的实例

常用方法:

long getCreationTime()---返回session对象创建的时间

String getId()---返回一个sessionid, 是唯一的

void setAttribute()---设置一个属性和一个属性值

Object getAttribute()---获取某个属性的属性值

String[] getValueNames()---以数组的形式获取session对象中所有可用属性的属性名

setMaxInactiveInterval()---设置session经过多长时间之后失效(默认30分钟)

getMaxInactiveInterval()---设置session的失效时间(单位是秒)

session的生命周期:

创建: 当用户第一次访问某个jsp或者servlet的时候, 服务器就会为当前的访问创建一个session, 并生成一个sessionId, 每次客户端向服务器发送请求的时候, 都会将这个            sessionId带过去进行验证

活动: 在这个页面的各种活动, 比如通过超级连接打开另一个页面, 或者进行各种增删改查的操作, session失效除非要等到浏览器的相关页面全部关闭, 或者session超时, 当再      次访问的时候会创建一个新的session, 但是原来的session还会存在, 只不过没有任何请求再带着那个旧的sessionId让服务器去验证了

session销毁:

三种方法可以销毁session

1, 调用session.invalidate()方法

2, session自己过期了

设置session过期时间也可以在web.xml中设置

10

3, 服务器重新启动

application对象

application对象是一个全局对象, 生命周期为服务器启动一直到服务器停止, 在这个对象里面可以存放一些全局变量

setAttribute(String, Object)---设置某个属性和属性值

getAttribute(String)---获得某个属性的值

getAttributeNames()---获取application对象中所有的属性名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值