JSP内置对象讲解教案_jsp内置对象教案

2020-02-27 教案模板 下载本文

JSP内置对象讲解教案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“jsp内置对象教案”。

第5章 JSP内置对象

在JSP中预先定义好了一些常用的对象,在Web应用中可以直接使用这些对象。内置对象的应用大大简化了Web开发工作。

5.1 JSP内置对象概述

因为java是区分大小写的,所以在JSP中对象名要注意字母的大小写。

JSP内置对象有9个  request对象  response对象  out对象  seion对象  application对象  exception对象  page对象

 pageContext对象  config对象

5.2 request对象

 request对象用于接收客户端通过HTTP协议传送给服务器端的数据。

 而response对象主要用来向客户发送信息,它包含了Web服务器对客户的响应信息。

 request和response对象是JSP中很重要的两个内置对象,是实现客户端和服务器交互的基础。

5.2.1 request对象的功能

 request对象用来接收客户端提交的请求

例如:接收用户提交的表单信息

在xxx.jsp文件中需要用request对象接收表单信息。request对象用的比较多的方法是getParameter()方法

5.2.2 getParameter方法

 request对象的getParameter()方法根据指定的参数,获取客户端提交的信息。 其语法规则如下:

<% String name=request.getParameter(“txtName”)%>

其中,name是一个字符串变量。txtName是客户端提交信息中的一个字段名。

5.2.3获取客户提交信息案例 【例5.1】 request对象应用。

 提交页面上有两个文本框,在文本框中输入姓名和电话号码,单击“提交”按钮后,由服务器端应用程序接收提交的表单信息并显示出来。

 其中的infoInput.html为用户的输入页面,提交的信息由服务器端的文件infoReceive.jsp接收并显示。

infoInput.html页面主要代码:

姓名:

电话:

infoReceive.jsp代码

<% String str1=request.getParameter(“RdName”);%> <% String str2=request.getParameter(“PhName”);%> 您输入的信息为: 姓名: <%=str1%>

电话: <%=str2%> 5.2.4 request对象常用方法

 在客户访问页面时,向服务器的JSP引擎提交一个HTTP请求,该请求包含一个请求行、主机头和上载信息。例如:

◦ POST /chapt5/infoReceive.jsp HTTP/1.1

//请求行 ◦ Host localhost

//头,host是头名字

 request对象也提供了一些其他方法,用来获得客户传来信息的其他部分。 request对象常用方法:

1.getProtocol():获取客户端向服务器端传送数据所使用的协议名称和版本号 2.getServerName():获得服务器的名字

3.getServerPort():获得服务器所使用的端口号。4.getRemoteAddr():获得客户端的IP地址。

5.getRemoteHost():获得客户端主机的名字,若失败,则返回客户端的IP地址。6.getMethod():返回客户端向服务器端传送数据的方法,一般方法为get或post。

7.getCookies():返回客户端的cookie对象,结果是一个cookie数组。如果客户端没有发送cookie,则返回空值。

8.getSeion(boolean create):返回和当前客户端请求相关联的HttpSeion对象,如果当前客户端请求没有和任何HttpSeion对象关联,那么当create变量为true,则创建一个HttpSeion对象并返回;反之,返回null。9.getHeader(String name):获得http协议定义的传送文件头信息。

10.getAttribute(String name):返回name指定的属性值,若不存在指定的属性,就返回null。

11.getAttributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例。12.getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例。

13.getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例。

14.getParameter(String name):以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数名没有实际参数与之对应时,返回null。通常是表单中的参数.15.getParameterNames():返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回null。

16.getParameterValues(String name):以字符串数组的形式返回指定参数所有值。

17.getQueryString():返回查询字符串,该字符串由客户端以GET方法向服务器端传送。18.getRequestURI():获得发出请求字符串的客户端地址

19.getServletPath():获得客户端所请求的脚本文件的文件路径。

20.setAttribute(String name,Java.lang.Object o):设定名字为name的request参数值,该值由Object类型的o指定。

21.getContentLength():以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。22.getContentType():获取客户端请求的MIME类型。如果无法得到该请求的MIME类型,那么返回-1。23.getInputStream():以二进制的形式将客户端的请求以一个ServletInputStream的形式返回。使用此方法可以获得客户端的multipart/form-data数据,可以实现文件上传。

24.isSecure():如果客户机是通过一个安全的访问方式访问的,就返回true;反之,返回false。25.getDateHeader():返回一个long类型的数据,表示客户端发送到服务器的头信息中的时间信息。26.getInitHeader():获取客户端发送到服务器端的头信息中的某一个特定的信息,并转换为int类型。27.getContextPath():返回环境路径.对于JSP来说,一般是当前Web应用程序的根目录。

28.isRequestedSeionIdValid():返回一个指示客户端请求发送Seion ID是否仍然有效的布尔值。

29.isRequestedSeionIdFromCookie():返回一个指示客户端请求发送Seion ID是否存在于Cookie中的布尔值。

30.isRequestedSeionIdFromURL():返回一个指示客户端请求发送Seion ID是否存在于URL中的布尔值。

5.2.5 request对象常用方法应用案例

【例5.2】 使用request对象的常用方法,获取客户端提交信息的不同部分。

本例中的用户输入页面infoInput2.html只需要把例5.1的文件infoInput.html的form的action属性值改为infoReceive2.jsp即可。infoReceive2.jsp主要代码

<%

out.println(“姓名文本框提交信息:” + request.getParameter(“RdName”)+ “”);out.println(“电话文本框提交信息:” + request.getParameter(“PhName”)+ “”);out.println(“客户端协议名和版本号:” + request.getProtocol()+ “”);out.println(“客户机名:” + request.getRemoteHost()+ “”);out.println(“客户机的IP地址:” + request.getRemoteAddr()+ “”);out.println(“客户提交信息的长度:” + request.getContentLength()+ “”);

%> out.println(“---------”);

out.println(“getContextPath:” +request.getContextPath()+ “”);out.println(“requestURI=” + request.getRequestURI()+ “”);out.println(“requestURL=” + request.getRequestURL()+ “”);out.println(“servletPath=” + request.getServletPath()+ “”);// getServletPath 不建议使用 因为当servlet映射成/*时 无法获得

String uri = request.getRequestURI();String servletPath = uri.substring(request.getContextPath().length());out.println(“servletPath=” + servletPath + “”);总结:

request.getRequestURI()与request.getRequestURL()与request.getServletPath()区别

a)getRequestURI()获得的信息:/day6/servlet/RequestServlet b)getRequestURL()获得的信息:http://localhost/day6/servlet/RequestServlet c)getServletPath()获得的信息: servlet/RequestServlet

getServletPath 不建议使用

因为当servlet映射成/*时 无法获得。

d)request.getContextPath()获得的信息: /day6

那如何获取serverpath String uri = request.getRequestURI();

// /day06aaa/servlet/RequestDemo1

String servletPath = uri.substring(request.getContextPath().length());

System.out.println(“servletPath=” + servletPath);5.3 response对象

◦ ◦ 把服务器端的数据以HTTP的格式发送到客户端浏览器 它的功能和request对象的功能相反

 request对象用于得到用户提交的信息  而response对象是向用户发送信息

 两者结合起来完成动态页面的交互功能。

5.3.1 response对象的功能

 response对象提供的几种输出结果的主要方法:

◦ sendRedirect():页面重定向方法。◦ setStatus():设置状态行方法。

◦ setContentType():设置文本类型方法。

5.3.2 sendRedirect()方法

 将客户端浏览器转向新的页面,页面中重定向语句后的代码不再被执行。 它可以根据用户的不同要求转向不同的页面。 例如:防盗链。(第3章 http协议中讲解)

【例5-3】response对象的使用。

 用户在登录界面输入用户名和密码,提交后验证登录者输入的用户名和密码是否正确,根据判断结果转向不同的页面。

◦ 其中userLogin.html为用户输入界面

◦ userReceive.jsp为接收用户输入信息并判断输入是否正确页面

◦ loginCorrect.html和loginError.html分别为登录成功界面和登录失败界面。

userLogin.html页面主要代码:

姓 名: 密 码: userReceive.jsp页面源代码:

<% String Name = request.getParameter(“RdName”);String Pawd = request.getParameter(“RdPawd”);if(Name.equals(“Mary”)&& Pawd.equals(“123456”))

response.sendRedirect(“loginCorrect.html”);else

response.sendRedirect(“loginError.html”);%>

 需要注意的是,在实际的Web开发中,用户的信息保存在数据库中,判断用户登录时所输入的用户名和密码是否正确需要连接到数据库,和数据库中的数据进行匹配。此处为了演示sendRedirect方法的使用,简单的和常量进行比较。

5.3.3 response的状态行

1.状态行的作用

当页面出现错误时,服务器会自动响应,将相应的出错信息返回客户端。状态行包含3位数字的状态代码,代表错误的性质和处理方法。共有5类状态码,如下:

1XX(1开头的3位数):主要是实验性质的。例如101表示服务器正在升级协议。

2XX:表示请求成功。如200表示请求成功。

3XX:表示在请求满足之前应采取的进一步行动。如302请求重定向; 305表示请求必须通过代理来访问。

4XX:浏览器不能满足请求时,返回的状态码。如404表示请求的页面不存在。

5XX:服务器执行出现错误时,返回的状态码。如500表示服务器内部发生错误,不能服务。

2.setStatus()方法

程序中可以使用response对象的setStatus()方法设置状态码。在一般情况下,不需要在程序中设置状态码。页面出现问题时,服务器会自动响应,并发送相应的状态码提示用户。

 使用response.setStatus(int n)方法设置状态行

◦ 例如response.setStatus(501)取得错误信息为501的出错信息,返回该出错页面到客户端。◦ 如果状态代码为出错码,页面中 response.setStatus()后面的语句将不被执行。

[例5-4]状态行的应用

本例包含4个文件 : StatueCode.html

responde对象状态行应用案例

显示不同的状态行

href=“statusCode200.jsp”>200请求成功信息

404请求资源不可用信息

501不支持请求的部分功能

《JSP内置对象讲解教案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
JSP内置对象讲解教案
点击下载文档
相关专题 jsp内置对象教案 教案 对象 jsp jsp内置对象教案 教案 对象 jsp
[教案模板]相关推荐
    [教案模板]热门文章
      下载全文