实验报告填写及打印要求:1、A4纸正反面打印;2、实验报告封面、封面上填写内容必须打印;3、实验报告内容,学生可手写也可打印,可根据内容自行加页;4、指导教师必须手写签名;5、左侧装订。
实验一报告内容实验题目:用户注册程序设计实验目的:熟悉JSP开始环境的搭建、服务目录的设置、网页的编写实验要求:独立完成JDK、Tomcat的安装并测试通过;实现一个用户注册的页面,要求用户名、密码和邮件地址不能为空,并且两次输入的密码要一致,并检查输入的邮件地址是否有效。
实验器材:计算机实验电路图/程序流程图:JSP页面跳转示意图口令验证程序流程图实验步骤/程序源代码:一、实验步骤STEP1:Set up a table to show the registration information.STEP2:Add element for the table.STEP3:Print registration information and judge these information.STEP4: Action to “receive.jsp”.Post information.二、程序源代码【denglu.jsp】<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=#D2E9FF><FONT size=3><FORM action="receive.jsp" method=post name=form><center><Table border=1><tr><th align="center" colspan="2">用户注册界面</th><!--th:着重显示;align="center"单元格内容居中;colspan="2"合并2个单元格--></tr><td align="center" >登录名</td><td><INPUT type="text" name="name" > </td></tr><td align="center" >性别</td><td><INPUT type="radio" name="R" value="男" checked="default">男<INPUT type="radio" name="R" value="女">女</td></tr><td align="center" >登录密码</td><td><INPUT type="text" name="secret" ></td></tr><td align="center" >确认密码</td><td><INPUT type="text" name="secret2" ></td><BR><% String yoursecret=request.getParameter("secret");String yoursecret2=request.getParameter("secret2");if(yoursecret!=null){if(!(yoursecret.equals(yoursecret2))){%><BR><font color="#FF0000">您两次输入的密码不一致,请重新输入。
</font></BR><!--A.equals(B);String 的equals 方法用于比较两个字符串是否相等。
(区分字母的大小写格式)但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址。
即使它们内容相等,但是不同对象的内存地址也是不相同的。
--><% }}else{%><BR><font color="#FF0000">您的密码输入有空,请重新输入。
</font></BR><% }%></BR></tr><td align="center" >邮箱</td><td><INPUT type="text" name="client"> </td><BR><% String str=request.getParameter("client");if(str!=null){ int index=str.indexOf("@");if(index==-1){%><BR><font color="#FF0000">您的E-mail地址中没有@。
</font></BR><% }else{int space=str.indexOf(" ");if(space!=-1){%><BR><font color="#FF0000">您的E-mail地址含有非法的空格。
</font></BR><% }else{int start=str.indexOf("@");int end=stIndexOf("@");if(start!=end){%><BR><font color="#FF0000">您的E-mail地址有两个以上的符号:@。
</font></BR><% }%><% }}}else{%><BR><font color="#FF0000">您的E-mail地址输入为空,请重新输入。
</font></BR><% }%></BR></tr><td align="center" colspan="2"><INPUT TYPE="submit" value="提交" name=submit>  <!--中文全角空格--><INPUT TYPE="reset" value="重置"></td></tr></FORM></table> </center></FONT></BODY></HTML>【receive.jsp】<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=#D2E9FF><FONT size=3><% String yourName=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");String yourSex=new String(request.getParameter("R").getBytes("ISO-8859-1"),"GB2312");String yourSecret=new String(request.getParameter("secret").getBytes("ISO-8859-1"),"GB2312");String yourEmail=new String(request.getParameter("client").getBytes("ISO-8859-1"),"GB2312");out.println("<p> 您的姓名:"+yourName+"</R>");out.println("<p> 您的性别:"+yourSex+"</R>");out.println("<p> 您的密码:"+yourSecret+"</R>");out.println("<p> 您的邮箱:"+yourEmail+"</R>");%></FONT></BODY></HTML>实验结果分析:由于初始未输入信息时,登录名和E-mail地址均为空,所以导致网页初始化时直接打印两行提示信息。
在同一页面能够对输入内容进行基本的判断,但是无法与网页跳转连接到一起。
导致这种现象的原因是程序具备逻辑错误。