当前位置:文档之家› JSP程序设计实验报告

JSP程序设计实验报告

实验报告6月8日交,源代码不必全写,给的源代码仅供参考课程设计6月8日交(至少7页)课程设计应该:1.系统总体设计(功能设计、数据库设计)2.界面设计(要有图)3.系统实现(部分源代码)4.运行测试附交源程序实验一JSP编程环境3月9日一、实验目的1.搭建Web编程环境,能正确安装配置java运行环境、WEB服务器2.掌握正确运行jsp文件的方法二、实验内容1.安装并配置java运行环境JDK和JRE2.安装Web服务器tomcat, 配置Tomcat服务器三、实验步骤1、JDK、JRE安装结果:2、Classpath和path、Java_Home设置path为java的bin目录,Classpath为jre中rt.jar目录,Java_Home为及java安装目录3、安装并配置Tomcat安装Tomcat服务器后并启动之。

即:启动Tomcat服务器目录中bin\startup.bat文件。

在“开始菜单--运行”中输入http://localhost:8080/点击确定。

4、第一个JSP文件在Tomcat服务器目录webapps\ROOT下:1)新建一个文本文件,改名为first.jsp.2)右击此文件,选择打开方式为记事本。

3)编辑内容如下:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY BGCOLOR=cyan><FONT Size=4><P>JSP页面的测试<% int x=100,y=500,z;z=x+y;%><P> x+y的和为:<%= z %></FONT></BODY></HTML>4)在地址栏或者运行菜单输入http://localhost:8080/first.jsp回车,然后观察运行结果5、要求,理解常用html标签的含义:<html><body><p><br><hr><table><tr><td><img><a><form><input><font> <ol><ul><li>了解以下属性含义:align bgcolor size根据各人情况,最好能了解DIV+css布局方式实验二、jsp页面和jsp标记3月16一、实验目的1、掌握JSP的页面的基本结构,让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java 程序片、Java表达式。

2、掌握JSP的指令标记和动作标记,让学生掌握怎样在JSP页面中使用include标记动态加载文件;使用forward实现页面的转向。

二、实验内容1、编写两个JSP页面,分别为inputName.jsp和people.jsp。

(1)inputName.jsp的具体要求该页面有一个表单,用户通过该表单输入自己的姓名并提交给people.jsp页面。

(2)people.jsp页面在程序片中获取inputName.jsp页面提交的姓名,然后调用judge()创建person对象、调用addPerson方法将用户的姓名添加到成员变量person末尾。

如果inputName.jsp页面没有提交姓名,或姓名含有的字符个数大于10,就使用<jsp:forward page="要转向的页面"/>标记将用户转到inputName.jsp页面。

2、编写四个JSP 页面:one.jsp 、two.jsp、three.jsp和error.jsp。

one.jsp 、two.jsp和three.jsp 页面都含有一个导航条,以便让用户方便地单击超链接访问这三个页面,要求这三个页面通过使用include动作标记动态加载导航条文件head.txt。

导航条文件head.txt的内容如下所示:head.txt<%@ page contentType="text/html;charset=GB2312" %><table cellSpacing="1" cellPadding="1" width="60%" align="center"border="0" ><tr valign="bottom"><td><A href="one.jsp"><font size=3>one.jsp页面</font></A></td><td><A href="two.jsp"><font size=3>two.jsp页面</font></A></td><td><A href="three.jsp"><font size=3>three.jsp页面</font></A></td></tr></Font></table>(1)one.jsp的具体要求要求one.jsp页面有一个表单,用户使用该表单可以输入一个1~100之间的整数,并提交给该页面;如果输入的整数在50~100之间(不包括50)就转向three.jsp,如果在1~50之间就转向two.jsp;如果输入不符合要求就转向error.jsp。

要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的two.jsp或three.jsp页面,将有关输入错误传递到转向的error.jsp页面。

(2)two.jsp、three.jsp和error.jsp的具体要求要求two.jsp和three.jsp能输出one.jsp传递过来的值,并显示一幅图像,该图像的宽和高刚好是one.jsp页面传递过来的值。

error.jsp页面能显示有关的错误信息和一幅图像。

one.jsptwo.jspthree.jsperror.jsp图1-9 显示错误信息5.参考代码inputName.jsp<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan><FONT size=3><FORM action="people.jsp" method=get name=form> 请输入姓名:<INPUT type="text" name="name"><BR> <INPUT TYPE="submit" value="送出" name=submit> </FORM></BODY></HTML>people.jsp<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY BGCOLOR=yellow><FONT Size=3><%!int count;StringBuffer person;public void judge(){if(count==0)person=new StringBuffer();// StringBuffer类型对象的特点是可以修改所表达的字符串内容,append(s)可以在其后追加//内容s}public void addPerson(String p){if(count==0){person.append(p);}else{person.append(","+p);}count++;}%><%String name=request.getParameter("name");byte bb[]=name.getBytes("iso-8859-1");name=new String(bb);if(name.length()==0||name.length()>10){%> <jsp:forward page="inputName.jsp" /><% }judge();addPerson(name);%><BR> 目前共有<%=count%>人浏览了该页面,他们的名字是:<BR> <%=person%></FONT></BODY></HTML>one.jsp<%@ page contentType="text/html;charset=GB2312" %><HEAD><jsp:include page="head.txt"/></HEAD><HTML><BODY bgcolor=yellow><FORM action="" method=get name=form>请输入1至100之间的整数:<INPUT type="text" name="number"><BR> <INPUT TYPE="submit" value="送出" name=submit></FORM><%String num=request.getParameter("number");if(num==null){ num="0";}try{int n=Integer.parseInt(num);if(n>=1&&n<=50){%> <jsp:forward page="two.jsp" ><jsp:param name="number" value="<%=n%>" /></jsp:forward><% }else if(n>50&&n<=100){%> <jsp:forward page="three.jsp" ><jsp:param name="number" value="<%=n%>" /></jsp:forward><% }}catch(Exception e){%> <jsp:forward page="error.jsp" ><jsp:param name="mess" value="<%=e.toString()%>" /> </jsp:forward><% }%></BODY></HTML>two.jsp<%@ page contentType="text/html;charset=GB2312" %><HEAD><jsp:include page="head.txt"/></HEAD><HTML><BODY bgcolor=yellow><P><Font size=2 color=blue>This is two.jsp.</Font><Font size=3><%String s=request.getParameter("number");out.println("<BR>传递过来的值是"+s);%><BR><img src="a.jpg" width="<%=s%>" height="<%=s%>" ></img> </FONT></BODY></HTML>three.jsp<%@ page contentType="text/html;charset=GB2312" %><HEAD><jsp:include page="head.txt"/></HEAD><HTML><BODY bgcolor=yellow><P><Font size=2 color=red>This is three.jsp.</Font><Font size=3><%String s=request.getParameter("number");out.println("<BR>传递过来的值是"+s);%><BR><img src="b.jpg" width="<%=s%>" height="<%=s%>" ></img> </FONT></BODY></HTML>error.jsp<%@ page contentType="text/html;charset=GB2312" %><HEAD><jsp:include page="head.txt"/></HEAD><HTML><BODY bgcolor=yellow><P><Font size=5 color=red>This is error.jsp.</Font><Font size=2><%String s=request.getParameter("mess");out.println("<BR>传递过来的错误信息"+s);%><BR><img src="c.jpg" width="120" height="120" ></img></FONT></BODY></HTML>实验三内置对象3月30一、实验目的1.正确理解request、session、application三个对象的作用域2.能正确处理汉字乱码问题二、实验内容1.编写一个会员系统,首页home.jsp,必须是会员登陆之后才能浏览的3个页面:tupian.jsp、dianying.jsp、wenxue.jsp2.请同学们在首页中增加访客计数器和点击率三、实验步骤home.jsp<%@ page contentType="text/html;charset=GB2312" %><a href="tupian.jsp">会员图片区</a><a href="dianying.jsp">会员电影区</a><a href="wenxue.jsp">会员文学区</a><form action="" method=post >用户名:<input type=text name=name /><br>密&nbsp;&nbsp;码:<input type=password name=pass /><br> <input type="submit" value="提交" /></form><%String name=request.getParameter("name");if(name!=null){ if(name.length()!=0){session.setAttribute("guest",name);out.println(name+"已经登陆");}}%>tupian.jsp<%@ page contentType="text/html;charset=GB2312" %> <%String str=(String)session.getAttribute("guest");if(str==null)response.sendRedirect("home.jsp");elseout.print("<p align=right>"+str+" 已登陆</p>"); %><p>会员活动图片区dianying.jsp<%@ page contentType="text/html;charset=GB2312" %> <%String str=(String)session.getAttribute("guest");if(str==null)response.sendRedirect("home.jsp");elseout.print("<p align=right>"+str+" 已登陆</p>"); %><p>会员活动电影区wenxue.jsp<%@ page contentType="text/html;charset=GB2312" %> <%String str=(String)session.getAttribute("guest");if(str==null)response.sendRedirect("home.jsp");elseout.print("<p align=right>"+str+" 已登陆</p>");%><p>会员活动文学区2.访客计数器和点击率<%! int personcount=0;%><%String str=(String)session.getAttribute("count");if(str==null){personcount++;String count=String.valueOf(personcount);session.setAttribute("count",count);}%><P>您是第<%=(String)session.getAttribute("count")%>个访问本网站的客户。

相关主题