您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第4章 JSP内置对象
第4章JSP内置对象【学习目标】1)掌握JSP常用内置对象的主要方法。2)能够根据项目需要,熟练使用内置对象完成程序的开发。4.1内置对象介绍4.1.1request对象request对象代表请求对象,它被封装成HttpServletRequest接口。应用getParameter方法能够得到request的参数,通过GET、POST及HEAD等方法能够得到request的类型,应用Cookies、Referer等能够得到请求的HTTP头。【例4-1】使用request获取表单信息——obtains.jsp。obtains.jsp代码如下:%@pagelanguage=javacontentType=text/html;charset=GB2312%HTMLheadtitle使用request对象获取表单信息实例/title/headbodyformaction=obtains.jspmethod=POST学生学号:inputname=stunamebr密码:inputtype=passwordname=passwordbrinputtype=submitvalue=确定/form使用request对象获取的学生学号:%=request.getParameter(stuname)%br使用request对象获取的密码:%=request.getParameter(password)%/body/HTML在浏览器中输入,执行后如图4-1所示。图4-1运行obtains.jsp结果页面【例3-2】include指令的应用Chapter3-2.jsp,代码如下:%@pagelanguage=javacontentType=text/html;charset=gb2312import=java.util.*%htmlheadtitleinclude实例/title/headbodybgcolor=whitefontcolor=blue当前的时间是:%@includefile=datedisplay.jsp%/font/body/html分别在学生学号及密码中输入“200601001”及“1001”,单击【确定】按钮后,执行结果如图4-2所示。图4-2request对象执行结果页面【例4-2】request对象的一些常用方法的应用—Chapters4-2.jspChapters4-2.jsp代码如下:%out.println(Protocol:+request.getProtocol()+br);out.println(Scheme:+request.getScheme()+br);out.println(ServerName:+request.getServerName()+br);out.println(ServerPort:+request.getServerPort()+br);out.println(Protocol:+request.getProtocol()+br);out.println(RemoteAddr:+request.getRemoteAddr()+br);out.println(RemoteHost:+request.getRemoteHost()+br);out.println(CharacterEncoding:+request.getCharacterEncoding()+br);out.println(ContentLength:+request.getContentLength()+br);out.println(ContentType:+request.getContentType()+br);out.println(HTTPMethod:+request.getMethod()+br);out.println(PathInfo:+request.getPathInfo()+br);out.println(QueryString:+request.getQueryString()+br);out.println(RemoteUser:+request.getRemoteUser()+br);out.println(RequestURI:+request.getRequestURI()+br);out.println(ServletPath:+request.getServletPath()+br);out.println(Accept:+request.getHeader(Accept)+br);out.println(Host:+request.getHeader(Host)+br);out.println(Referer:+request.getHeader(Referer)+br);out.println(Accept-Language:+request.getHeader(Accept-Language)+br);out.println(Accept-Encoding:+request.getHeader(Accept-Encoding)+br);out.println(User-Agent:+request.getHeader(User-Agent)+br);out.println(Connection:+request.getHeader(Connection)+br);out.println(Cookie:+request.getHeader(Cookie)+br);%结果如图4-3所示。图4-3运行Chapters4-2.jsp结果页面【例4-3】计算一个数的平方根,如果输入的不是正数,则提示“您输入的不是正数,请重新输入!”。Chapters4-3.jsp代码如下:%@pagelanguage=javacontentType=text/html;charset=GB2312%HTMLheadtitle使用request对象实例/title/headbodyformaction=method=POST请输入一个大于零的数:inputname=sztype=textid=szinputtype=submitvalue=计算/form%if(request.getMethod().equals(POST)){StringWZ=request.getParameter(sz);doublex=0,xv=0;if(WZ==null){WZ=;}try{x=Double.parseDouble(WZ);if(x=0){xv=Math.sqrt(x);out.print(br+String.valueOf(x)+的平方根是:);out.print(String.valueOf(xv));}else{out.print(br+请输入一个大于零的数!);}}catch(NumberFormatExceptionei){out.print(br+您输入的不是正数,请重新输入!);}}%/body/html在浏览器地址栏中输入后,出现如图4-4所示界面,在文本框中输入“xyz”,执行结果如图4-5所示,在文本框中输入“5”,执行结果如图4-6所示。图4-4运行Chapters4-3.jsp初始页面图4-5在Chapters4-3.jsp中输入“xyz”后的“计算”结果页面图4-6在Chapters4-3.jsp中输入“5”后的“计算”结果页面4.1.2response对象response对象用于动态响应客户端请求,将JSP处理数据后的结果返回给客户端浏览器,response被封装成HttpServletResponse接口。response对象由容器生成,作为Service()方法的参数被传入JSP。【例4-4】将用户序号、姓名及密码以Cookie的方式发送到客户端,当用户登录时通过Cookie来判断用户序号、姓名及密码是否正确,并返回相应信息。Chapters4-4.jsp代码如下:%@pagelanguage=javacontentType=text/html;charset=GB2312%HTMLheadtitle使用Cookie检验用户信息实例/title/headbody%//在服务器端建立新的CookieCookieuseridcookie=newCookie(userid,001);Cookieusernamecookie=newCookie(username,管理员);Cookieuserpasscookie=newCookie(userpass,999);//把Cookie保存到客户端response.addCookie(useridcookie);response.addCookie(usernamecookie);response.addCookie(userpasscookie);//返回全部Cookie对象名,并以数组形式返回Cookie[]cookiegroup=request.getCookies();//验证用户序号、用户名及密码是否正确booleanisno=false;booleanisname=false;booleanispass=false;if(cookiegroup!=null){for(intx=0;xcookiegroup.length;x++){if((cookiegroup[x].getName().equals(userid))&&(cookiegroup[x].getValue().equals(request.getParameter(userid)))){out.println(已正确输入用户序号!);isno=true;}if((cookiegroup[x].getName().equals(username))&&(cookiegroup[x].getValue().equals(request.getParameter(username)))){out.println(已正确输入用户姓名!);isname=true;}if((cookiegroup[x].getName().equals(userpass))&&(cookiegroup[x].getValue().equals(request.getParameter(userpass)))){out.println(已正确输入密码!);ispass=true;}}if(!isno)out.println(用户序号输入错误!br);if(!isname)out.println(用户姓名输入错误!br);if(!ispass)out.println(密码输入错误!br);}%formaction=response_sample.jspmethod=POST用户序号:inputname=useridbr用户姓名:inputname=usernamebr密码:inputtype=passwordname=userpassbrinputtype=submitvalue=确定/form/body/html在浏览器地址栏中输入后,出现如图4-7所示界面。在序号文本框中输入“001”,姓名文本框中输入“小李”,
本文标题:第4章 JSP内置对象
链接地址:https://www.777doc.com/doc-5451177 .html