【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

扫描二维码关注公众号,回复: 1923734 查看本文章

JSP的四大域:

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

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

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

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

 

九大内置对象:

  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。

 

 

JSP的EL表达式

 JSP中的EL表达式作用:

1) 获取数据:

2) 执行运算

3) 获取web开发常用对象

4) 调用java方法

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

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

 

4、request、response

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

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



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”);





猜你喜欢

转载自blog.csdn.net/ca1m0921/article/details/80945031
今日推荐