了解JSP以及JSP的内置对象

一、JSP入门了解
1.概念:Java Server Pages(java服务器端页面)

JSP是在HTML文件中嵌入Java代码,在页面中可以使用Java代码执行动态内容,使用HTML代码执行静态内容。
Java代码负责功能处理并动态生成结果,HTML对页面及Java生成的结果进行美化及展示。

2.原理:JSP本质上是一个Servlet
3.JSP的执行过程

先将.jsp文件转义为.java文件,再编译成.class文件,交给JVM处理执行。
jsp页面在一次执行时,效率低。

4.JSP脚本:JSP定义java代码的方式

①<% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
②<%! 代码%>:定义的java代码,在jsp转换后的java类的成员位置
③<%= 代码%>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。

二、JSP内置对象
内置对象指服务器自动创建对象,我们在开发时直接使用,不用再使用new关键字创建对象。JSP内置对象在JSP页面中可以直接使用,不需要声明或创建对象。

  1. JSP内置对象分类
    (1) request(请求对象)
    (2) response(响应对象)
    (3) session(会话对象)
    (4) application(应用服务器对象)

    (5) page(页面对象)
    (6) pageContext(页面上下文对象)
    (7) out(输出流对象)
    (8) config(配置对象)
    (9)exception(异常对象)

  2. JSP内置对象详解

request(请求对象)

①request对象的作用域

request对象的作用域为一次请求(客户端向服务器端发送的一次请求)。
默认情况下request对象仅仅在一次请求中有效,但是我们可以通过请求转发的方式来延长请求。 request对象内部是使用map集合实现的。
request对象属于HttpServletRequest接口的一个实例

②request对象中的常用方法:

  1. request.setCharacterEncoding(“UTF-8”);设置请求对象的编码集
  2. getParameter(“”);获取客户端提交的单个数据
  3. String[] hobbys = request.getParameterValues(“hobbys”);获得同名的多个数据
  4. request.setAttribute(“attr”, “val1”);向request对象中设置一个属性,参数1属性名,参数2属性值(Object)
  5. request.getAttribute(“attr”);根据属性名获取属性值
  6. request.getRequestDispatcher(“registerSucc.jsp”).forward(request, response);
    请求转发,可以将请求对象转发到其他页面或Servlet中

response(响应对象)
①作用域:

response对象的作用域为服务端向客户端的一次响应;
response对象属于HttpServletResponse接口的一个实例

②response对象的常用方法:

  1. response.setContentType(“text/html;charset=utf-8”); 设置响应类型及编码集
  2. response.getWriter(); 获得一个输出流,用于向页面输入内容
  3. resonse. sendRedirect (“目标地址”); 重定向

③请求转发和重定向的区别

  1. 相同点:都可以实现页面的跳转
  2. 不同点:

(1)使用重定向实现页面跳转后,地址栏显示的是目标地址
使用请求转发实现页面跳转后,地址栏显示的是请求转发的源地址而不会目标地址。
(2)重定向无法将request对象中的数据传递给目标地址,它只能传递字符串数据;
请求转发不单可以传递字符串数据,还可以将request对象传递给目标页面。
(3)请求转发是一次请求;重定向是两次请求。

session(会话对象)

session(会话)是多次请求与响应的集合(类似打电话);有其中一方关闭连接,session就会消失。session使用sessionId来维持客户端与服务端的状态

application(应用服务器对象)

application对象是一个作用域对象,表示当前应用服务器,它的作用域是整个应用程序;
application对象中存储的数据称为整个服务器的共享数据;

  1. 在application对象中存放的数据:
  • 不能太大,该对象中的数据不会被释放,除非服务器重启,才会自动释放其中的数据
  • 用户隐私数据也不能存放在applicaiton中
  1. Application对象属于ServletContext接口的一个实例
    常用方法:
    (1) setAttribute(“name”,obj);//向application对象中添加一个属性
    (2) getAttribute(“name”);//从application获取一个属性,根据属性名获取

page(页面对象)

  • page对象就是this,它表示当前页面对象

pageContext(页面上下文对象)

pageContext是一个作用域对象,可以通过pageContext对象在当前页面存储数据,它的作用域仅限于当前页面
可以通过pageContext对象获取其他内置对象;

out(输出对象)

Out是一个输出流对象,用于向页面输出内容

config(配置对象)

通过config对象获得相关的配置信息

exception(异常对象)

在JSP页面上处理异常

三、内置对象中的作用域对象

request/session/application/pageContext
根据作用域范围排序:
pageContext—>request---->session---->application

  JSP共有以下9个内置的对象:   request 用户端请求,此请求会包含来自GET/POST请求的参数   response 网页传回用户端的回应   pageContext 网页的属性是在这里管理   session 与请求有关的会话期   application servlet 正在执行的内容   out 用来传送回应的输出   config servlet的构架部件   page JSP网页本身   exception 针对错误网页,未捕捉的例外      request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。    response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)    out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。    pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。    session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息    applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息    config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。    page表示从该页面产生的一个servlet实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值