实验4JSP内置对象 一、实验目的 1.了解htp通信协议, 2.掌握JSP的常用内置对象如:request、response 3.了解不同对象的生命周期。 4.掌握运用内置对象处理中文乱码。 5.掌握运用内置对象处理页面提交的内容。 二、实验要求 1上机调试运行课上所进JSP页面 2.编写一个简单的购书网站:第1个页面选择要购买的书和购买数量,按购买按钮进入第 2个页面,在第2个页面中显示购买的书名和数量。 三、实验内容 (一)上课例子 ◆联系实现request对象的各个方法,源代码如下。 <page contentType="text/html;charset=GB2312"> <BODY bgcolor=cyan> <Font size-1 <BR>客户使用的协议是: < String protocol-request.getProtocol() out.printIn(protocol); 告> <BR>获取接受客户提交信息的页面: String path-request.getservletPath() out.printIn(path) 名> <BR>接受客户提交信息的长度: <多 int length-request.getContentLength();
实验 4 JSP 内置对象 一、实验目的 1. 了解 http 通信协议。 2. 掌握 JSP 的常用内置对象如:request、response。 3. 了解不同对象的生命周期。 4. 掌握运用内置对象处理中文乱码。 5. 掌握运用内置对象处理页面提交的内容。 二、实验要求 1.上机调试运行课上所讲 JSP 页面。 2.编写一个简单的购书网站:第 1 个页面选择要购买的书和购买数量,按“购买”按钮进入第 2 个页面,在第 2 个页面中显示购买的书名和数量。 三、实验内容 (一) 上课例子 联系实现 request 对象的各个方法,源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.util.*" %> <HTML> <BODY bgcolor=cyan> <Font size=1 > <BR>客户使用的协议是: <% String protocol=request.getProtocol(); out.println(protocol); %> <BR>获取接受客户提交信息的页面: <% String path=request.getServletPath(); out.println(path); %> <BR>接受客户提交信息的长度: <% int length=request.getContentLength();
out.println(length); > String method-request.getMethod(); out.println (method); <BR>获取HTTP头文件中User-Agent的值:: string headerl=request.getHeader ("User-Agent") out.println(headerl); 名> <BR>获取HTTP头文件中accept的值 <常 String header2-request.getHeader("accept"); out.println(header2); > <BR>获取HTTP头文件中HOSt的值 家 String header3-request.getHeader("Host") out.println(header3); > <BR>获取HTTP头文件中accept-encoding的值: String header4-request.getHeader("accept-encoding") out.println(header4) 8> <BR>获取客户的IP地址 父缘 string IP-request.getRemoteAddr() out.println(IP); 号> <BR>获取客户机的名称 <音 String clientName-request.getRemoteHost() out.printin(clientName); <BR>获取服务器的名称: <名 String serverName-request.getServerName ( out.printl <BR>获取服务器的端口号: <各
out.println(length); %> <BR>客户提交信息的方式: <% String method=request.getMethod(); out.println(method); %> <BR>获取HTTP头文件中User-Agent的值:: <% String header1=request.getHeader("User-Agent"); out.println(header1); %> <BR>获取HTTP头文件中accept的值: <% String header2=request.getHeader("accept"); out.println(header2); %> <BR>获取HTTP头文件中Host的值: <% String header3=request.getHeader("Host"); out.println(header3); %> <BR>获取HTTP头文件中accept-encoding的值: <% String header4=request.getHeader("accept-encoding"); out.println(header4); %> <BR>获取客户的IP地址: <% String IP=request.getRemoteAddr(); out.println(IP); %> <BR>获取客户机的名称: <% String clientName=request.getRemoteHost(); out.println(clientName); %> <BR>获取服务器的名称: <% String serverName=request.getServerName(); out.println(serverName); %> <BR>获取服务器的端口号: <%
int serverPort-request.getserverport(); out.println(serverPort); 名> <BR>获取头名字的一个枚举: <鲁 Enumeration enum_headed-request.getHeaderNames(); while(enum_headed.hasMoreglements()) string s-(string)enum_headed.nextElement(); out.println(s); 1 > <BR>获取头文件中指定头名字的全部值的一个枚举 Enumeration enum_headedvalues-request.getHeaders("cookie"); while(enum headedValues.hasMoreElements () String s=(String)enum_headedvalues.nextElement(); out.println(s); > <BR> string str=request.getParameter("boy"); byte b[]=str.getBytes("ISO-8859-1"); str=new string(b): <BR> <8-strs> <BR>按钮的名字: <各 String buttonName=request.getParameter("submit"); byte c[]-buttonName.getBytes("ISO-8859-1"); buttonName-new string(c) > <BR> <-buttonName> </Font> </BODY> </HTML> ◆编译并运行该程序,如有错误请改正
int serverPort=request.getServerPort(); out.println(serverPort); %> <BR>获取头名字的一个枚举: <% Enumeration enum_headed=request.getHeaderNames(); while(enum_headed.hasMoreElements()) { String s=(String)enum_headed.nextElement(); out.println(s); } %> <BR>获取头文件中指定头名字的全部值的一个枚举: <% Enumeration enum_headedValues=request.getHeaders("cookie"); while(enum_headedValues.hasMoreElements()) { String s=(String)enum_headedValues.nextElement(); out.println(s); } %> <BR> <P> 文本框text提交的信息: <% String str=request.getParameter("boy"); byte b[]=str.getBytes("ISO-8859-1"); str=new String(b); %> <BR> <%=str%> <BR> 按钮的名字: <% String buttonName=request.getParameter("submit"); byte c[]=buttonName.getBytes("ISO-8859-1"); buttonName=new String(c); %> <BR> <%=buttonName%> </Font> </BODY> </HTML> 编译并运行该程序,如有错误请改正
(二)简单购书页面 ◆源代码加下: 1.购买页面buy.jsp: %page contenfType="text/htmlcharset=GB2312 <HTML> <BODY bgcolor=cyan><FONTSize=1> <P这里是第一百货 <>输入你想购买的书目连接到结帐:account.jsp<个 FORMaction-"spmethod-post name-fo 书名:<NPUTtype-=te"namc="book"> 数量:<NPUTtype=-iexr'mme=""number> <NPUTTYPE="submit"valuc='i送出'namc=-submic </FORM> <FONT </BODY> </HTML> 2.结账页面account,j.s %@pa text/htmlcharsct=GB2312"% <l 处理字符串的 方法 public String geString(String s) 政s=nu山 try byte b[]=s.getBytes("ISO-8859-") s=new String(b). caich(Exception) } return s; <BODY bgcolor=cyan><FONTSize=1> % String s=request getParameter("book") ning n-teq eter("number) <BR>
(二)简单购书页面 源代码如下: 1.购买页面 buy.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML> <BODY bgcolor=cyan><FONT Size=1> <P>这里是第一百货 <P>输入你想购买的书目连接到结帐:account.jsp </p> <FORM action="account.jsp" method=post name=form> 书名:<INPUT type="text" name="book"> 数量:<INPUT type="text" name="number"> <INPUT TYPE="submit" value="送出" name=submit> </FORM> </FONT> </BODY> </HTML> 2.结账页面 account.jsp <%@ page contentType="text/html;charset=GB2312" %> <%! //处理字符串的方法: public String getString(String s) { if(s==null) { s=""; } try { byte b[]=s.getBytes("ISO-8859-1"); s=new String(b); } catch(Exception e) { } return s; } %> <HTML> <BODY bgcolor=cyan><FONT Size=1> <% String s=request.getParameter("book"); String n=request.getParameter("number"); %> <BR>
Sting商品=eing(s String数量=getString(n %> <P>这里是结帐处 <P>书名是: <%=商品% <P>您选择 买的数量是 <%=数量% <FONT> </BODY> </HTML> ◆编译运行程序
String 商品=getString(s); String 数量= getString(n); %> <P>这里是结帐处 <P>书名是: <%=商品%> <P>您选择购买的数量是: <%=数量%> </FONT> </BODY> </HTML> 编译运行程序