收藏 分销(赏)

实验二-JSP基础与内置对象.doc

上传人:仙人****88 文档编号:9345740 上传时间:2025-03-23 格式:DOC 页数:8 大小:93.50KB
下载 相关 举报
实验二-JSP基础与内置对象.doc_第1页
第1页 / 共8页
实验二-JSP基础与内置对象.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述
实验二JSP基础与内置对象 一、实验目的 1、熟悉和掌握Eclipse,并编写简单的JSP程序; 2、熟悉和灵活掌握JSP 基本语法; 3、熟悉和掌握JSP的内置对象的相关属性和方法。 二、 实验要求 1、编写简单的计数器程序; 2、编写JSP的include指令的程序; 3、 编写JSP动态指令forward的程序; 4、 编写JSP中文字符处理程序; 5、request常用方法的使用; 6、编写获取表单数据; 7、编写页面重定向程序; 8、编写session属性设置和获取的程序; 9、编写用out对象输出表格程序。 三、实验内容 1、编写简单的计数器程序 1)、 本实验主要目的是让我们熟悉和掌握JSP程序段的基本语法: <%code fragment%> ,实验中,<%counterFunction();%>就是这个JSP的程序段,而这个函数就是用来计算访问人数的。 2)、实验结果: 网站计数器 您是第28位访问者!!! 2、 编写JSP的include指令的程序 1)、include指令的语法格式:<%@ include file=“url”%> 例如: <%@ include file="top.txt"%>和<%@ include file="bottom.txt"%> ,然后将file中的top.txt和bottom.txt改为bottom.jsp和top.jsp,程序运行会出错,此时,解决的方法是将文件top.txt和bottom.txt改为后缀为.jsp的JSP文件,即可正常运行。 2) 、实验结果: 3、 编写JSP动态指令forward的程序 1)、<jsp:forward>动作用来把JSP页面重定向到另一个页面上,这个程序的核心代码是<jsp:forward page="count.jsp" />和<jsp:forward page="include.jsp" /> ,如果case的值为1,则跳转到count.jsp页面;如果case的值为2,则跳转到include.jsp 。 2)、实验结果: 4、 编写JSP中文字符处理程序 1)、 本程序处理中文字符串的核心代码 byte tempB[]=s.getBytes("ISO-8859-1"); s=new String(tempB); return s; 但是,仅仅这样而去运行程序,得出的是中文乱码,所以为了解决这一问题,需要在s=new String(tempB);里加入"utf-8",即 s=new String(tempB,"utf-8");这样得出的结果才不会出现中文乱码。 2)、实验结果: 5、request常用方法的使用 1)、request方法 格式:<%=request.get+获取的方法%> ,这里方法里可以带参数也可以不带参数: 比如:不带参数,请求的方法是:<%=request.getMethod()%> 带参数,HTTP头文件中Host的值是<%=request.getHeader("Host")%> 2)、Enumeration getHeaderNames() 返回所有request header名字的一个枚举;如: <% Enumeration enumHead=request.getHeaderNames(); while(enumHead.hasMoreElements()) { out.println((String)enumHead.nextElement()); } %> Enumeration getHeader(Srting name) 返回指定名字的request header的所有值;如:<br>头文件中指定头名字的全部值的一个枚举:  <% Enumeration enum_headedValues=request.getHeaders("cookie"); while(enum_headedValues.hasMoreElements()) { out.println((String)enum_headedValues.nextElement()); } %> 3)、实验结果: 请求信息如下:  请求的方法是:GET    请求的URI是:/test2/requestApp1.jsp    请求的协议是:HTTP/1.1    接受客户提交信息的页面路径是:/requestApp1.jsp    请求的协议是:HTTP/1.1    请求中的查询字符串是:null    请求信息的总长度是:-1    服务器名称是:zqy-computer    提供HTTP服务的服务器端口号是:8080    客户端IP地址是:fe80:0:0:0:c5e4:7d93:1be:46a5    客户端机器的名称是:fe80:0:0:0:c5e4:7d93:1be:46a5    HTTP头文件中User-Agent的值是:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)    HTTP头文件中accept的值是:*/*    HTTP头文件中Host的值是:zqy-computer:8080    HTTP头文件中accept-encoding的值是:gzip, deflate   头名字的一个枚举:accept accept-language user-agent ua-cpu accept-encoding host connection cookie   头文件中指定头名字的全部值的一个枚举:  JSESSIONID=0F506FC813FEBF5689F6C76AF1A975A8   6、编写获取表单数据 1)、<form></form>表单有两个关键属性<method>和<action>,因为本实验涉及到密码等敏感信息,所以method的属性值选择用post,action则跳转到Accept.jsp这个后台接收数据的界面;如: <form method="POST" action=" Accept.jsp" name="form1" onsubmit="return on_submit()"> 2)、实验用function on_submit()来验证数据的合理性,是否为空和邮箱的格式是否有误。就比如验证用户名是否为空, if (form1.username.value == "") { alert("用户名不能为空,请输入用户名!"); form1.username.focus(); return false; } 如果用户名为空,则输出提示信息,将光标重新定位在用户名的输入框内,同理,其他的验证也是一样,不过要验证邮箱格式的合理性的时候,要用到charAt()函数来检索范围为[0,email.length]下所有字符是否有“@”,如果有则为正确的邮箱格式form1.email.value.charAt(i)=="@")。 3)、Accept.jsp页面用codeToString()函数来实现中文字符串的处理,然后调用该函数获取用户所提交的数据,如: 用户名是:<%=codeToString(request.getParameter("username"))%> 4) 、实验结果: 7、 编写页面重定向程序 1)、本实验,通过request.getParameter()方法来获取有效的url,url=request.getParameter("goaddress");利用response对象来实现页面的跳转,如,response.sendRedirect(url)就是将服务器发送一个重定位到url的请求,将客户重定位到一个不同的Web资源上。 2)、实验结果为url指定的网页,略。 8、编写session属性设置和获取的程序 1)、session对象的设定方法:<%@page session=“true|false”%>,本实验,session.setAttribute("username",codeToString(username));来存放用户名的数据,然后使用response.sendRedirect("LoginInfor.jsp ");将用户名数据跳转到LoginInfor.jsp 。 2)、实验结果: http://zqy-computer:8080/test2/Login.jsp http://zqy-computer:8080/test2/LoginInfor.jsp 9、 编写用out对象输出表格程序 1)、本实验的主要目的是熟悉和灵活运用out对象的使用方法,这里,运用print()方法来输出一个表格,我们知道,out对象除了print()方法还有clear()、close()、getBufferSize()等常用方法,只要多多上机练习,掌握out对象的方法不会是一件难事。 2)、实验结果,图略。 四、实验中遇到的问题及解决方法 1、实验中遇到一种问题是,在将word文档中的代码复制到MyEclipse中的时候,会莫名的提示出错,从表面上来看,代码没有任何问题,但是就是提示有错,后经仔细检查才发现,原来看不见的空格也是一种错误; 改正:将提示处删除,然后将代码退至原来位置。 2、在运行requestAppa.jsp时,提示HTTP Status 500; 改正:将<%@ page contentType="text/html;charset=gb2312"%>中 的charset=gb2312改为charset=utf-8 。 3、实验在运行的时候。有时会出现HTTP Status 404 -/test1/login.jsp这样的错误提醒,原因是将工程名和相对应的.jsp文件名在浏览器中输入错了(我觉得这虽然是一个低级的错误,但也算的上是一个错误); 改正:将工程名改为test2,即8080/test2/Login.jsp 这样才能得出运行结果。 4、convert.jsp提交用户名后出现中文乱码; 改正:在s=new String(tempB)中添加utf-8即String(tempB,"utf-8")。 5、session属性设置和获取实验中,实验结果跳转不到预想的页面上,原因是response.sendRedirect("sessionUserLogin1.jsp");没有sessionUserLogin1.jsp这文件; 改正:将"sessionUserLogin1.jsp"改为"LoginInfor.jsp"。 五、 实验小结 页面重定向有哪些方式?区别时什么? 页面重定向的方式有两种: 一种是通过forward方法<jsp:forward page=”url”/>,另一种则是response对象的sendRedirect方法<%response.sendRedirect(“NewUser.jsp”);%> 。 这两种方法主要区别有: 1、 forward方法是在Web container内部工作的;SendRedirect方法需要到客户端的一个往返,所以forward方法要比sendreRirect要快。 2 、forward方法只能重定向到同一个Web应用程序中的一个资源;sendRedirect方法可以重定向到任何URL。 3 、forward方法还将原始的HTTP请求对象(request)转到目录页;sendRedirect方法的功能是触发浏览器转向指定的URL,并不会将原始请求对象转发。 8
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服