【JSP的九大内置对象】(待完善)

1、JSP

1、JSP的九大内置对象及四个作用域

request                请求对象       类型:  javax.servlet.servletRequest             作用域: Request

response             响应对象                    javax.servlet.servletResponse                        Page

pageContext       页面上下文对象           javax.servlet.jsp.PageContext                      Page

session               会话对象                     javax.servlet.http.HttpSession                       Session

application          应用程序对象             javax.servlet.servletContext                           Application

out                      输出对象                  javax.servlet.jsp.JSPWriter                              Page

config                 配置对象                 javax.servlet.ServletConfig                                Page

page                   页面对象                  javax.lang.Object                                             Page

exception            例外对象                 javax.lang.Throwable                                        Page

2. JSP的四大域:

Page作用域代表当前页面有效,一旦JSP页面结束,page中的数据将消失。

Request 作用域是请求过程,从JSP页面发出请求,到页面跳转转发,服务器servlet处理,发回响应。在forward转发的JSP页面都可以使用request中的数据。

Session作用域是会话,从打开浏览器就会创建一个session对象存储在浏览器,在浏览器关闭之前都可以使用session(用户独享)。

Application 作用域是应用,从开启一个应用到应用结束,都可以使用Application(在服务器的运行过程中都可以使用,可以说是所有用户共用)

 

3.九大内置对象作用:

response的作用:

1.构建响应信息: 设置http头标、返回数据类型、

方式一:response.setHeader("Content-type","test/html;charset=utf-8");

方式二:response.setContentType("text/html;charset=utf-8");

2.构建响应实体: 输出返回数据

方式一:response.getOutputStream().write("xxx".getBytes());string转成 字节数组

这是一个字节流,是什么字节输出什么字节,而浏览器默认用平台字节码打开服务器发送的数据,如果服务器端使用了非平台码去输出字符的字节数据就需要明确的指定浏览器编码时所用的码表,以防止乱码问题,

方式二:response.getWriter().write("xxx")

这是一个字符流,response会将此字符进行转码操作后输出到浏览器,这个过程默认使用ISO8859-1码表,而ISO8859-1中没有中文,于是转码过程中用?代替了中文,导致乱码问题。可以指定response在转码过程中使用的目标码表,防止乱码。

response.addHeader("Content-type","text/html;charset=utf-8")/response.setContentType("text/html;charset=utf-8");指定转码过程使用的码表。

 

PageContext(页面上下文)可对页面JSP中所有对象及名字空间访问页面功能集大成者。

context.getParameter()获取POST/GET传递的参数(一般jsp到servlet传值)

context.getInitParameter()获取Tomcat的server.xml中Context的初始化参数

context.getAttribute()获取对象容器中的数据值===>用于页面之间传值(servlet到jsp传值)

context.getRequestDispatcher()是请求转发

 

exception 代表JSP文件运行时所产生的例外对象,此对象不能在一般JSP中使用,而只能在有此标签标示<% page isErrorPage = “true” %> 的JSP文件中使用。

当isErrorPage = “false”时,用errorPage = “error.jsp”。(isErrorPage默认为false)。

当isErrorPage = “true”时,页面会使用Exception。在当前页面使用异常处理。所以error.jsp页面一定要有isErrorPage属性且值为true。

 

 

request、response

  request.getParameter(“xxx”);获取http提交的数据,返回值为字符串。

  request.getAttibute(“xxx”);获取request域中存在的对象,返回对象。

 

4. JSP的EL表达式

 JSP中的EL表达式作用:

    1) 获取数据:

    2) 执行运算

    3) 获取web开发常用对象

    4) 调用java方法

        <% expression %> 语句块(脚本)     <% = expression %> 表达式  

        <% !变量.方法 %> 声明  <%!-- xxxxxx   -->  注释

 

5. WEB容器

  web容器在启动时为每个web应用创建一个ServletContext对象,ServletConfig对象维护了ServletContext的引用,开发人员在编写servlet时,可通过ServletConfig.getServletContext方法获取ServletContext方法ServletContext对象。所有Servlet共享一个ServletContext,因此Servlet对象可通过其完成通讯,也称为context域对象。

1) 在InitServlet的service方法中利用ServletContext对象存入需要共享的数据。

ServletContext context = this.getServletContext();

context.setAttribute(“name”,”haha”);

在其他servlet中可获得数据:

ServletContext context = this.getServletContext();

context.getAttribute(“name”);

2) 获取WEB应用的初始化参数,在DemoServlet的doPost方法中测试获取初始化参数:

  ServletContext context = this.getServletContext();

String url = context.getInitAttribute(“url”);

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值