微信公众号运营要求,天津seo建站,wordpress 3 403,平面设计目录#xff1a; 1.认识JSP内置对象2.JSP内置对象的特点3.九大内置对象3.1 out对象的作用向 “客户端” 输出各种数据内容对 “服务器” 上的输出缓冲区进行管理 3.2 request对象的作用能够获取客户端的基本信息 3.3 response对象的作用利用response对象进行 “重定向”利用re… 目录 1.认识JSP内置对象2.JSP内置对象的特点3.九大内置对象3.1 out对象的作用向 “客户端” 输出各种数据内容对 “服务器” 上的输出缓冲区进行管理 3.2 request对象的作用能够获取客户端的基本信息 3.3 response对象的作用利用response对象进行 “重定向”利用response设置HTTP头 3.4 重定向 和 请求转发 的区别3.4.1 从浏览器的地址显示上来看3.4.2 从数据共享来看3.4.3 从功能来看3.4.4 从效率来看 4.(不断补充中.....) 1.认识JSP内置对象 JSP内置对象就是指在JSP页面中内置的不需要定义就可以在网页中直接使用的对象。JSP有九种内置对象 ( 九大内置对象 ) (1) out对象: 负责管理对客户端的输出。 (2) request对象 : 负责得到客户端的请求信息。 (3) response对象 : 负责向客户端发出晌应 (4) session对象 : 负责保存同一客户端一次会话过程中的一些信息。 (5) application对象 : 表示整个应用的环境信息。 (6) exception对象 : 表示页面上发生的异常可以通过它获得页面异常信息。 (7) page对象 : 表示的是当前JSP页面本身,就像Java类定义中的this一样。 (8) pageContext对象 : 表示的是此JSP的上下文。 (9) config 对象 : 表示此JSP的ServletConfig. 2.JSP内置对象的特点 内置对象 是自动载入的因此它不需要直接实例化。(可直接在JSP页面调用/使用JSP内置对象)内置对象是通过Web容器来实现和管理的。在所有的JSP页面中直接调用内置对象都是合法的。 3.九大内置对象
3.1 out对象的作用 用来向客户端输出各种数据类型的内容。 对应用服务器上的输出缓冲区进行管理。 一般情况下,out对象都是向浏览器端输出 文本型 的数据所以可以用out对象直接编程生成一个动态的HTML文件然后发送给浏览器达到显示的目的。 向 “客户端” 输出各种数据内容
通过out对象的两个 “输出方法” 来向客户端中输出各种数据内容。 void print() void println() 两者的区别是out.print()函数在输出完毕后并不换行而out.println()函数在输出完毕后会结束当前行( 会换行)下一个输出语句将会在下一行开始输出。 不过在输出中换行,在网页上并不会换行。在网页上换行应该打印字符串 br。 对 “服务器” 上的输出缓冲区进行管理 out对象还可以实现对 应用服务器上的输出缓冲区的管理。 以下是out对象常用的与 管理缓冲区有关的函数 (1)void close() : 关闭输出流从而强制终止当前页面的剩余部分向浏览器输出。 (2)void clearBuffer() : 清除缓冲区里的数据,并且把数据写到客户端去。 (3) void clear() : 清除缓冲区里的数据但 不把数据写到客户端去。 (4) int getRemaining() : 获取缓冲区中没有被占用的空间的大小。 (5)void flush() : 输出缓冲区的数据。out.flush()函数也会清除缓冲区中的数据,但是该函数先将之前缓冲区中的数据输出到客户端,然后再清除缓冲区中的数据。 (6) int getBufferSize() : 获得缓冲区的大小。 out管理缓冲区使用得比较少因为通常使用服务器端默认的设置而不需要手动管理。 request 对象 request代表了客户端的请求信息主要是用来获取客户端的参数和流。 它对应的类型是javax. servlet.http.HttpServletRequest。该对象在前面的内容中用到如URL传值、表单开发中。 3.2 request对象的作用
能够获取客户端的基本信息 request对象的一个主要用途就是它 能够获取客户端的基本信息。主要有以下几种方法 (1) String getMethod() : 得到提交方式。 (2) String getRequestURI() : 得到请求的URL地址。 (3) String getProtocol) : 得到协议名称 (4) String getServletPath() : 获得客户端请求服务器文件的路径。 (5) String getQueryString() : 得到URL的查询部分,对于post来说该方法得不到任何信息。 (6) String getServerName() : 得到服务器的名称。 (7) String getServerPort() : 得到服务器端口号。 (8) String getRemoteAddr() : 得到客户端的IP地址。 % page contentTypetext/html;charsetgb2312 languagejava %
html
headtitleTwo.jsp/title
/head
body
提交方式: % request. getMethod() %br
请求的URL地址: % request. getRequestURI()%br
协议名称: % request. getProtocol()%br
客户端请求服务器文件的路径: % request. getServletPath()%br
URL的查询部分: % request. getQueryString()%br
服务器的名称: % request. getServerName()%br
服务器端口号: % request. getServerPort() %br
远程客户端的IP地址: % request. getRemoteAddr()%br
/body
/htmlresponse对象 : response 和 request 是一组 相对应 的内置对象。response可以理解为 客户端的响应request可以理解为 客户端的请求二者所表示的范围是相对应的两个部分具有很好的对称性。response对应的类(接口) 是 javax.servlet.http.HttpServletResponse。 3.3 response对象的作用
利用response对象进行 “重定向” 重定向就是跳转到另一个页面 / 实现程序的跳转可以用response对象进行重定向方法如下 response.sendRedirect(目标页面路径); responseTest1.jsp % page languagejava pageEncodinggb2312 importjava.util.* %
html
headtitleresponseTest1.jsp/title
/head
body
form actionresponseTest2.jsp
input type submit value 提交
/form
/body
/htmlresponseTest2.jsp % page languagejava pageEncodinggb2312 importjava.util.* %
html
headtitleresponseTest2.jsp/title
/head
body
%//重定向到另一个页面response.sendRedirect(responseTest3.jsp); //相对路径
%
/body
/htmlresponseTest3.jsp % page languagejava pageEncodinggb2312 importjava.util.* %
html
headtitleresponseTest3.jsp/title
/head
body欢迎来到学校管理系统
/body
/html利用response设置HTTP头 HTTP头一般用来 设置网页的基本属性可以通过 response 的 setHeader() 方法进行设置,代码如下。 %response.setHeader(Pragma,No - cache );response. setHeader( Cache - Control ,no - cache);response. setDateHeader(Expires,0);
%这都表示在客户端缓存中不保存页面的副本。 %--表示客户端浏览器每隔5秒钟定期刷新一次。--%
%response. setHeader( Refrsh,5);
%3.4 “重定向” 和 “请求转发” 的区别 %
//重定向到另一个页面重定向实现页面跳转
response.sendRedirect(文件名); //相对路径
%%-- JSP动作 实现“页面”跳转 --%
jsp:forward page文件名/jsp:forward重定向和请求转发都能实现页面跳转 但两者又有区别 具体区别分析如下。 3.4.1 从浏览器的地址显示上来看 forward属于服务器端去请求资源服务器直接访问目标地址并对该目标地址的响应内容进行读取再把读取的内容发给浏览器因此 客户端浏览器的地址不变。redirect是告诉客户端使浏览器知道去请求哪一个地址相当于客户端重新请求一遍所以地址显示栏会变。 ( forward进行页面跳转时客户端浏览器地址 不会改变redirect进行页面跳转时客户端浏览器地址 会改变) 3.4.2 从数据共享来看 forward转发的页以及转发到的目标页面能够共享request里面的数据而redirect转发的页以及转发到的目标页面不能共享request里面的数据。 3.4.3 从功能来看 redirect能够 重定向到当前应用程序的其他资源还能够重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。 forward只能在同一个Web应用程序内的资源之间转发请求可以理解为 服务器内部的一种操作。 如 redirect可以重定向百度网址但forward请求转发百度网址会报错。 3.4.4 从效率来看 forward的效率较高因为跳转仅发生在服务器端 redirect的效率相对较低因为相当于又进行了一次请求。 4.(不断补充中…)