JSP的内置对象及方法 —动力节点
- 格式:docx
- 大小:40.91 KB
- 文档页数:1
JSP内置9大对象JSP的内置对象包括request、respones、session、application、out、config、page、pageContext、exception1. request对象request对象封装了客户端提交数据信息,包括用户提交的信息以及客户端的一些信息。
客户端可通过HTML表单或者在网页地址后面使用参数的方法提交数据,在用request对象的相关方法来获取提交的各种数据。
【JSP中直接request.方法,如:<%=request.getParameter("username")%>】1. getAttribute()将参数name指定的属性作为一个Object对象返回;如果参数name中给定的名字不存在相应的属性则返回null,public Object getAttribute(String name)2. getAttributeNames()得到一个Enumeration(枚举型)对象,其中的值为此请求中可用的属性的名称,public java.util.Enumeration getAttributeNames()3. getCharacterEncodeing()此方法返回请求中所用的字符串编码的名称,如果未指定字符串编码则返回null,public String getCharacterEncoding()4. getContentType()此方法返回请求的MIME类型,如果类型位置则返回null,public String getContentType()5. getContentPath()得到请求URI中请求的应用上下文路径。
如果当前Web应用就是Tomcat安装目录的webapps 子目录中的ROOT,则该方法返回"";如果为其他目录,则返回相对与Web应用服务器的根目录的子目录。
JSP脚本中的九个内置对象JSP脚本中包含九个内置对象,这九个内置对象都是Servlet API接口的实例,只是JSP规范对它们进行了默认初始化(由JSP页面对应的Servlet的_jspService()方法来创建这些实例)。
内置对象名所属类型有效范围说明称application javax.servlet.ServletContext application 该对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息config javax.servlet.ServletConfig page 该对象允许将初始化数据传递给一个JSP页面exception ng.Throwable page 该对象含有只能由指定的JSP“错误处理页面”访问的异常数据out javax.servlet.jsp.JspWriter page 该对象提供对输出流的访问page javax.servlet.jsp.HttpJspPage page 该对象代表JSP页面对应的Servlet类实例pageContext javax.servlet.jsp.PageContext page 该对象是JSP页面本身的上下文,它提供了唯一一组方法来管理具有不同作用域的属性,这些API在实现JSP自定义标签处理程序时非常有用request javax.servlet.http.HttpServletRequest request 该对象提供对HTTP请求数据的访问,同时还提供用于加入特定请求数据的上下文response javax.servlet.http.HttpServletResponse page 该对象允许直接访问HttpServletReponse对象,可用来向客户端输入数据session javax.servlet.http.HttpSession session 该对象可用来保存在服务器与一个客户端之间需要保存的数据,当客户端关闭网站的所有网页时,session变量会自动消失application (javax.servlet.ServletContext的实例)application对象代表Web应用本身,因此使用application来操作Web应用相关的数据。
JSP中的内置对象<j s p:f o r w a r d><jsp:forward>是把一个请求转发到另一个JSP或Servlet或者其他的静态资源(HTML)特点:被forward转发的资源必须与发出请求的页面处于相同的上下文环境中,每当遇到此标签时,容器就会停止执行当前的JSP,转而执行被转发的资源<j s p:p a r a m>l当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给的资源是一个能动态执行的程序时,例如Servlet和JSP页面,那么,还可以使用<jsp:param>标签向这个程序传递参数信息。
l语法1:<jsp:include page="relativeURL | <%=expression%>"><jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>l语法2:<jsp:forward page="relativeURL | <%=expression%>"><jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>l<jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。
在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。
jsp九⼤内置对象什么是内置对象 可以在JSP⽂件中直接拿来使⽤的对象 JSP⽂件翻译后⽣成的⽂件:在service⽅法中就引⼊了9个对象,所以在jsp⽂件中才可以直接使⽤九⼤内置对象有哪些四个范围对象的范围从⼩到⼤是什么: 从⼩范围到⼤范围:pageContext、request、session、applicationpageContext对象是什么 pageContext对象代表jsp页⾯上下⽂对象pageContext对象可以⼲什么 通过pageContext对象可以获取整个JSP页⾯环境中的所有数据: 获取当前JSP页⾯中的请求对象:pageContext.getRequest()。
获取当前JSP页⾯中的会话对象:pageContext.getSession()。
获取ServletContext对象:pageContext.getServletContext()。
通过pageContext对象传递数据(只能存储⼀个页⾯中的数据,⽆法跨页⾯。
可以获取include指令包含的jsp页⾯中存储的数据,但是不能获取include动作包含的jsp页⾯中存储的数据): pageContext.setAttribute(“username”,jack); //存 pageContext.getAttribute(“username”); //取 通过pageContext对象往request,session,application对象中存储数据: 向request范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.REQUEST_SCOPE); 向session范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.SESSION_SCOPE); 向application范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.APPLICATION_SCOPE);。
jsp有哪些内置对象?作⽤分别是什么?
JSP共有以下9种基本内置组件
1、request对象客户端请求,此请求会包含来⾃GET/POST请求的参数通过它才能了
解到客户的需求,然后做出响应。
2、response对象响应客户请求的有关信息
3、session对象它指的是客户端与服务器的⼀次会话,从客户端连到服务器的⼀个WebApplication开始,直到客户端与服务器断开连接为⽌。
4、out对象它是JspWriter类的实例,是向客户端输出内容常⽤的对象
5、page对象它是指向当前JSP页⾯本⾝,有点象类中的this指针,它是 ng.Object类的实例
6、application对象它实现了⽤户间数据的共享,可存放全局变量。
它开始于服务器的启动,直到服务器的关闭
7、exception对象它是⼀个例外对象,当⼀个页⾯在运⾏过程中发⽣了例外,就产⽣这个对象。
8、pageContext对象它提供了对JSP页⾯内所有的对象及名字空间的访问
9、config对象它是在⼀个Servlet初始化时,JSP引擎向它传递信息⽤的。
JSP9⼤内置对象详解内置对象特点:1. 由JSP规范提供,不⽤编写者实例化。
2. 通过Web容器实现和管理3. 所有JSP页⾯均可使⽤4. 只有在脚本元素的表达式或代码段中才可使⽤(<%=使⽤内置对象%>或<%使⽤内置对象%>)常⽤内置对象:1. 输出输⼊对象:request对象、response对象、out对象2. 通信控制对象:pageContext对象、session对象、application对象3. Servlet对象:page对象、config对象4. 错误处理对象:exception对象对象常⽤⽅法说明:1.out对象(数据流 javax.servlet.jsp.jspWriter)⽅法名说明print或println输出数据newLine输出换⾏字符flush输出缓冲区数据close关闭输出流clear清除缓冲区中数据,但不输出到客户端clearBuffer清除缓冲区中数据,输出到客户端getBufferSize获得缓冲区⼤⼩getRemaining获得缓冲区中没有被占⽤的空间isAutoFlush是否为⾃动输出2.request对象(请求信息 javax.servlet.http.HttpServletrequest)⽅法名说明isUserInRole判断认证后的⽤户是否属于某⼀成员组getAttribute获取指定属性的值,如该属性值不存在返回NullgetAttributeNames获取所有属性名的集合getCookies获取所有Cookie对象getCharacterEncoding获取请求的字符编码⽅式getContentLength返回请求正⽂的长度,如不确定返回-1getHeader获取指定名字报头值getHeaders获取指定名字报头的所有值,⼀个枚举getHeaderNames获取所有报头的名字,⼀个枚举getInputStream返回请求输⼊流,获取请求中的数据getMethod获取客户端向端传送数据的⽅法getParameter获取指定名字参数值getParameterNames获取所有参数的名字,⼀个枚举getParameterValues获取指定名字参数的所有值getProtocol获取客户端向端传送数据的协议名称getQueryString获取以get⽅法向传送的查询字符串getRequestURI获取发出请求字符串的客户端地址getRemoteAddr获取客户端的IP地址getRemoteHost获取客户端的名字getSession获取和请求相关的会话getServerName获取的名字getServerPath获取客户端请求⽂件的路径getServerPort获取的端⼝号removeAttribute删除请求中的⼀个属性setAttribute设置指定名字参数值3.response对象(响应 javax.servlet.http.HttpServletResponse)⽅法名说明addCookie添加⼀个Cookie对象addHeader添加Http⽂件指定名字头信息containsHeader判断指定名字Http⽂件头信息是否存在encodeURL使⽤sessionid封装URLflushBuffer强制把当前缓冲区内容发送到客户端getBufferSize返回缓冲区⼤⼩getOutputStream返回到客户端的输出流对象getOutputStream返回到客户端的输出流对象sendError向客户端发送错误信息sendRedirect把响应发送到另⼀个位置进⾏处理setContentType设置响应的MIME类型setHeader设置指定名字的Http⽂件头信息4.session对象(会话 javax.servlet.http.HttpSession)⽅法名说明getAttribute获取指定名字的属性getAttributeNames获取session中全部属性名字,⼀个枚举getCreationTime返回session的创建时间getId获取会话标识符getLastAccessedTime返回最后发送请求的时间getMaxInactiveInterval返回session对象的⽣存时间单位千分之⼀秒invalidate销毁session对象isNew每个请求是否会产⽣新的session对象removeAttribute删除指定名字的属性setAttribute设定指定名字的属性值5.pageContext对象(页⾯上下⽂ javax.servlet.jsp.PageContext)⽅法名说明forward重定向到另⼀页⾯或Servlet组件getAttribute获取某范围中指定名字的属性值findAttribute按范围搜索指定名字的属性removeAttribute删除某范围中指定名字的属性setAttribute设定某范围中指定名字的属性值getException返回当前异常对象getRequest返回当前请求对象getResponse返回当前响应对象getServletConfig返回当前页⾯的ServletConfig对象getServletContext返回所有页⾯共享的ServletContext对象getSession返回当前页⾯的会话对象6.application对象(应⽤程序 javax.servlet.ServletContext)⽅法名说明getAttribute获取应⽤对象中指定名字的属性值getAttributeNames获取应⽤对象中所有属性的名字,⼀个枚举getInitParameter返回应⽤对象中指定名字的初始参数值getServletInfo返回Servlet编译器中当前版本信息setAttribute设置应⽤对象中指定名字的属性值7.config对象(Servlet的配置信息 javax.servlet.ServletConfig)⽅法名说明getServletContext返回所执⾏的Servlet的环境对象getServletName返回所执⾏的Servlet的名字getInitParameter返回指定名字的初始参数值getInitParameterNames返回该JSP中所有的初始参数名,⼀个枚举8.page对象(当前JSP的实例,ng.object)它代表JSP被编译成Servlet,可以使⽤它来调⽤Servlet类中所定义的⽅法9.exception对象(运⾏时的异常,ng.Throwable)被调⽤的错误页⾯的结果,只有在错误页⾯中才可使⽤,即在页⾯指令中设置:<%@page isErrorPage=“true”%>Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。
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实例
动力节点。