1 / 16

request 对象

request 对象. 当客户访问服务器页面时,会提交一个 HTTP 请求。 reauest 对象就是对 HTTP 请求包的封装。因此,使用 request 对象的方法,可以获取客户端和服务器端信息。如客户端主机名、 IP 地址、传递参数名、参数值、服务器主机名和 IP 地址等等。. 1 . request 对象的常用方法 getProtocol() 获取客户向服务器提交信息所使用的通讯协议。比如 http/1.1 等。 getServletPath() 获取客户请求的 JSP 页面文件的目录 . getContentLength() 获取客户提交的整个信息的长度 .

elga
Download Presentation

request 对象

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. request对象 • 当客户访问服务器页面时,会提交一个HTTP请求。reauest对象就是对HTTP请求包的封装。因此,使用request对象的方法,可以获取客户端和服务器端信息。如客户端主机名、IP地址、传递参数名、参数值、服务器主机名和IP地址等等。

  2. 1.request对象的常用方法 • getProtocol() 获取客户向服务器提交信息所使用的通讯协议。比如http/1.1等。 • getServletPath() 获取客户请求的JSP页面文件的目录. • getContentLength() 获取客户提交的整个信息的长度. • getMethod() 获取客户提交信息的方式.比如post或get. • getHeader(String s) 获取HTTP头文件中由参数S指定的头名字的值。一般来说s参数可取得头名有accept、referer、accept-language、content-type、accept-encoding、user-agent、host、content-length、connectiong、cookie等。比如,s取值user-agnet将获取客户的浏览器的版本号等信息。

  3. 2.request对象的常用方法 • getHeaderNames() 获取头名字的一个枚举。 • getHeaders(String s) 获取头文件中指定头名字的全部值的一个枚举。 • getRemoteAddr() 获取客户的IP地址。 • getRemoteHost() 获取客户机的名称(如果获取不到,就获取IP地址)。 • getServerName() 获取服务器的名称。 • getServerPort() 获取服务器的端口号。 • getParameter () 获取客户提交的参数值。 • getParameterNames() 获取客户提交的所有参数名称。

  4. 3.客户向服务器提交信息 • 客户通常使用HTML表单向服务器的某个JSP页面提交信息。HTML表单的一般格式是: <FORM method=get |post action=” 接受信的页面文件” > [接受数据的组件(0~n个)] 数据提交控件 </FORM>

  5. 获取客户提交的信息 [例子1]从客户端获取信息,并在另一窗口输出这些信息 问题分析: 在一个页面创建表单,提供信息输入窗口,在另一页面,使用request对象获取表单信息。 程序结构: ex5_1.jsp页面创建表单(信息输入窗口),用户提交信息后,页面定向到outInfo.jsp页面。页面交互关系如图5-1所示。

  6. 提交 ex5_1.jsp 页面 outInfo.jsp 页面 图5-1 页面交互关系 程序算法: ex5_1.jsp: 创建一表单,包含一个文本控件和一个提交控件 outInfo.jsp 1.获取文本框的值 2.输出文本框的值

  7. 程序代码: ex5_1.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML> <BODY bgcolor=cyan> <FONT size=3> <FORM action="outInfo.jsp" method=post name=form> <INPUT type="text" name="boy"> <INPUT TYPE="submit" value="提交" name="submit"> </FORM> </FONT> </BODY> </HTML>

  8. outInfo.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML> <BODY bgcolor=cyan> <FONT size=4> <!--获取客户端的表单信息--> <% String textContent; request.setCharacterEncoding("GBK"); textContent=request.getParameter("boy"); %>

  9. <!--将文本信息和按钮信息输出到客户端--> <P><B>获取文本框提交的信息:</B><BR> <%=textContent%> </FONT> </BODY> </HTML>

  10. 提交答案 ex5_2.jsp 页面 answer.jsp 页面 图5-2 页面交互关系 获取表单提交的数据 [例子2]网上单选问答题 问题分析:   由一个页面输出单选试题,由另一页面获取用户选择,统计考生得分。 程序结构: ex5_2.jsp页面将用户选择的答案提交给answer.jsp页面。页面交互关系如图5-2所示。

  11. 程序算法: ex5_2.jsp: 创建一表单,包含两组单选按钮。 answer.jsp  1.获取用户提交的答案  2.与正确答案比较,统计得分  3.输出考试结果

  12. 程序代码: ex5_2.jsp: <HTML> <%@ page contentType="text/html;charset=GB2312" %> <BODY bgcolor=cyan> <FONT size=4> <FORM action="answer.jsp"method=post name=form> <P>诗人李白是中国历史上哪个朝代的人: <BR> <INPUT type="radio" name="r" value="a">宋朝 <INPUT type="radio" name="r" value="b">唐朝 <INPUT type="radio" name="r" value="c">明朝 <INPUT type="radio" name="r" value="d" checked="ok">元朝 <P>小说红楼梦的作者是: <BR> <INPUT type="radio" name="P" value="a">曹雪芹 <INPUT type="radio" name="P" value="b">罗贯中 <INPUT type="radio" name="P" value="c">李白 <INPUT type="radio" name="P" value="c" checked="" >司马迁 <BR> <INPUT TYPE="submit" value="提交答案" name="submit"> </FORM> </FONT> </BODY> </HTML>

  13. answer.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML> <BODY bgcolor=cyan><FONT size=3> <% int n=0; request.setCharacterEncoding("GBK"); String s1=request.getParameter("r"); String s2=request.getParameter("P"); if(s1==null) {s1="";} if(s2==null) {s2="";} if(s1.equals("b")) { n++;} if(s2.equals("a")) { n++;} %> <P>您得了<%=n%>分 </FONT> </BODY> </HTML>

  14. 提交 ex5_4.jsp 页面 getInfo.jsp 页面 图5-4 页面交互关系 获取客户环境信息 [例子4]获取客户和服务器有关信息 程序结构:   本程序由两个页面构成,ex5_4.jsp页面提交客户信息给getInfo.jsp 页面。两页面的交互关系如图5-4所示。 程序算法: ex5_4.jsp 创建一表单,包含一文本框。 getInfo.jsp  1.输出环境信息  2.输出表单信息

  15. 程序代码: ex5_4.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML> <BODY bgcolor=cyan><FONT size=3> <FORM action="getInfo.jsp" method=post name=form> <INPUT type="text" name="boy"> <INPUT TYPE="submit" value="提交" name="submit"> </FORM> </FONT> </BODY> </HTML>

  16. 页面说明 (1)<%@ page contentType="text/html;charset=GBK" %> 注:page 指令,contentType页面显示模式。text/html 表示文本显示; (2)out对象。 注:在out对象中,最常用的方法就是print()和println()。在使用print()或println()方法时,由于客户端是浏览器,因此向客户端输出时,可以使用HTML中的一些标记,例如:“out.println(”<h1>Hello,JSP</h1>“);”。 (3)request对象。 注:通常我们用得最多的就是客户端请求的参数名称和参数值信息。得到某参数值的语法为:“request.getParameter(”param1“)”。 (4)request.setCharacterEncoding("GBK"); 注:解决页面传输中的中文问题

More Related