Java web----JSP篇

将慕课网网JSP视频内容进行一下归纳和总结

首先了解一下JSP的页面元素构成


在这里插入图片描述

Jsp指令

Page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令
Include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句。
Taglib:使用标签定义新的自定义标签,在jsp页面中启用定制行为

Page指令语法:<%@ page 属性1=”属性值” 属性2=”属性值”%>
属性
Language:指定JSP页面使用的脚本语言,默认值为java
Import:通过该属性来引用脚本语言中使用到的类文件,无默认值
contentType:用来指定JSP页面所采用的的编码方式,默认值为text/html,ISO-8859-1

Jsp脚本

在JSP页面中执行的java代码
语法:<% java代码 %>

Jsp声明

在JSP页面中定义变量或者方法
语法:<%! java代码 %>

Jsp表达式

在JSP页面中执行的表达式
语法:<% =表达式 %>,表达式不以分号结束

Jsp内置对象

在这里插入图片描述

out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象
常用方法如下:

  • void println() 向客户端打印字符串
  • void clear() 清除缓冲区的内容,如果在flush之后调用会抛出异常
  • void clearBuffer()清除缓冲区的内容,如果在flush之后调用不会抛出异常
  • void flush() 将缓冲区内容输出到客户端
  • int getBufferSize() 返回缓冲区的字节数的大小,如果不设缓冲区则为0
  • int getRemaining()返回缓冲区还剩余多少
  • boolean isAutoFlush() 返回缓冲区 满时,是自动清空还是抛出异常
  • void close() 关闭输出流
    (byuffer:谓缓冲区就是内存的一块区域用来保存临时数据)

Request对象

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。Request对象具有请求域,即完成客户端的请求之前,对该对象一直有效,常用方法如下:

  • String getParameter(String name) 返回name指定参数的参数值
  • String[] getParmeterValues(String name)返回包含参数name的所有值的数组
  • void setAttribute(String,Object);存储此请求中的属性
  • Object getAttribute(String name)返回指定属性的属性值
  • String getContentType() 返回请求体的MIME类型
  • String getProtocol()返回请求用的协议类型及版本号
  • String getServerName()返回接受请求的服务器主机名

response对象

response对象包含了响应客户请求的相关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例,response对象具有页面的作用域,即访问一个页面时,该页面内的response对象只能对这次的访问有效,其它页面的response对象对当前页面无效。
常用方法如下:

  • String getCharacterEncoding()返回响应用的是何种字符编码
  • void setContentType(Sreing type)设置响应的MIME类型
  • PrintWriter getWriter()返回可以向客户端输出字符的一个对象
  • sendRedirect()重新定向客户端的请求

session对象

什么是session?

  • Session表示客户端与服务器的一次会话
  • Web中的session指的是用户在浏览某个网站时,从进入网站到关闭网站所经过的这段时间,也就是用户浏览这个网站所花费的时间

Session对象是一个JSP内置对象;在第一个JSP页面被装载时自动创建,完成会话期间管理;从客户打开浏览器并连接服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话;当一个客户访问一个服务器时,可能会在服务器的几个页面切换,服务器应当通过某种方法知道这是一个客户,就需要session对象;session对象是HttpSession类的实例。

session对象常用的方法如下:
long getCreationTime():返回session创建时间
public String getID():返回session创建时jsp引擎为它设的唯一的ID号
public Object setAttribute(String name,Object value):使用指定名称将对象绑定到此会话
public Object getAttribute(String name):返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
String[] getValueNames():返回一个包含此session中所有可用属性的数组
int getMaxInactiveInterval():返回两次请求间隔多长时间此session被取消(单位秒)

Session的生命周期
创建:
当客户端第一次访问某个jsp或者servlet的时候,服务器会为当前会话创建一个SessionId,每当客户端向服务器端发送请求时,都会将此SessionId携带过去,服务端会话对此SessionId进行校验。
活动:
某次会话当中通过超链接打开的新页面属于同一次会话
只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
除非本次会话的所有页面都关闭后在再重新访问某个Jsp或者Servlet将会创建新的会话

销毁:
session的销毁的三种方式:

  1. 调用了session.invalidate()方法
  2. Session过期
  3. 服务器重新启动

Tomcat默认session超时时间为30分钟
设置session超时有两种方式:
1.session.setInteractiveInterval(时间/s)
2.在web.xml配置

<session-config>
<Session-timeout>
时间
</session-timeout>
</session-config>//单位为分钟

application对象:
Application对象实现了用户数据的共享,可存放全局变量;开始于服务器的启动,终止于服务器的关闭;在用户的前后连接或不同用户之间的连接中,都将影响到其他用户对此的访问;
服务器的启动和关闭决定了application对象的生命;application对象是ServletContext类的实例
常用方法如下:

  • public void setAttriute(String name,Object value)使用指定名称将对象绑定到此会话
  • public Objcect getAttribute(String
    name)返回与此对话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
  • Enumeration getAttributeNames()返回所有可用属性名的枚举
  • String getServerrInfo() 返回jsp(servlet)引擎名和版本号

page对象

page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。
常用方法如下:

  • Class getClass() 返回此Object的类
  • int hashCode() 返回此Object的hash码
  • boolean equals(Object obj) 判断此Object是否与指定的Object对象相等
  • void copy(Object obj)把此Object拷贝到指定的Object对象中
  • object clone()克隆此Object对象
  • String toString() 把此Object转换成String类的对象
  • void notify() 唤醒一个等待的线程
  • void notifyAll() 唤醒所有等待的线程
  • void wait(int timeout) 使一个线程处于等待直到timeout结束或被唤醒
  • void wait() 使一个线程处于等待直到被唤醒

pageContext对象

pageContext对象提供了对jsp页面内所有的对象及空间的访问;它可以访问到本页所在的session,也可以取本页所在的application的某一属性值;该对象相当于所有功能的集大成者。它的本类名也叫pageContext
常用方法如下:

  • JspWriter getOut() 返回当前客户端响应被使用的JspWriter流
  • HttpSession getSession() 返回当前页中的HttpSession对象
  • Object getPage() 返回当前页的Object对象
  • ServletRequest getRequest() 返回当前页的ServletRequest对象
  • ServletResponse getresponse() 返回当前页的ServletResponse对象
  • Void setAttribute(String name,Object attribute)设置属性及属性值
  • Int getAttributeScope(String name)返回某属性的作用范围
  • Void forward(String relativeUrlPath)使用当前页面重导到另一页面
  • Void include(String relativeUrlPath)在当前位置包含另一文件

Config对象

Config对象是一个Servlet初始化时,JSP引擎向他传递信息用的,此信息包括Servlet初始化时要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
常用的方法如下:

  • ServletContext getSevletContext() 返回含有服务器相关信息的ServletContext的对象
  • String getInitParameter(String name) 返回初始化参数的值
  • Enumeration getInitParameterNames() 返回Servlet初始化所需所有参数的枚举
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值