当前位置:文档之家› 《Web开发技术》实验指导书的模板(JSP版)

《Web开发技术》实验指导书的模板(JSP版)

《Web开发技术》实验指导书模板(JSP版)目录实验一搭建JSP运行的实验环境 (1)实验二JSP页面 (3)实验三显示不同大小的“你好JSP” (7)实验四JSP指令和动作 (10)实验五Tag文件的代码复用 (12)实验六中文显示服务器端日期 (14)实验七JSP内置对象 (19)实验八session对象 (23)实验九简易留言板 (28)实验十JSP中使用Java Bean (31)实验十一JSP中的文件操作 (41)实验十二JSP中使用数据库 (48)实验十三Java Servlet (66)实验十四网上书店 (71)实验报告 (76)实验一搭建JSP运行的实验环境一、实验目的(1)掌握JSP运行环境的安装与配置(2)理解JSP与Servlet的关系(3)运行简单的JSP页面,理解JSP的运行原理二、实验工具(1)JDK1.4、JDK1.5或JDK1.6,可以从SUN公司的网站免费下载(2)编辑工具-记事本(3)Tomcat服务器,也可以从网上免费下载三、实验步骤(1)按教材中演示安装JDK(2)按教材中演示安装Tomcat(3)启动Tomcat服务器,在浏览器中输入:http://localhost:8080,观察主页内容(4)观察Tomcat安装目录下的各个子目录的内容(5)打开记事本,输入下列源代码并保存为exer1.jsp。

将此文件复制到Tomcat安装目录下的webapps\ROOT目录下,运行该页面,观察其对应的Servlet源代码。

exer1.jsp的代码:<%@ page contentType="text/html;charset=GB2312" %> <!-- jsp指令标签--><%@ page import="java.util.Date" %> <!-- jsp指令标签--><%! Date date; // 数据声明int sum;public int add(int m,int n) // 方法声明{ return m+n;}%><HTML><BODY bgcolor=cyan> <!—html标记--><FONT size=4><P>程序片创建Date对象:<% Date date=new Date(); //java程序片out.println("<BR>"+date);sum=add(12,34);%><BR>在下一行输出和:<BR><%= sum+100 %> <!-- Java表达式--></FONT></BODY></HTML>(6)将exer1.jsp文件复制到Tomcat安装目录下的webapps\examples目录下,运行该页面,观察其对应的Servlet源代码。

(7)将exer1.jsp文件复制到Tomcat安装目录下的webapps\webdav目录下,运行该页面,观察其对应的Servlet源代码。

四、实验思考题(1)JDK安装完毕后,需要添加哪些环境变量?(2)在Tomcat安装目录下的webapps文件夹中,新建一文件夹myapp,将exer1.jsp文件复制到Tomcat安装目录下的webapps\myapp目录下,运行该页面(http://localhost:8080/myapp/exer1.jsp),结果如何?若在d:盘根目录建立一个文件夹myweb,将exer1.jsp文件复制到d:\myweb\目录下, 运行该页面(http://localhost:8080/myweb/exer1.jsp),结果如何?若要正确显示该页面,还应做如何处理?提示:修改conf目录下的server.xml文件。

(3)Tomcat默认端口号为8080,如何更改端口号?(4)编写一个JSP页面,用于显示1~100的整数和。

五、实验报告要求(1)分析JSP的工作原理,说明JSP文件和Servlet的关系(2)根据实验运行情况,对实验步骤和运行结果进行阐述(3)完成实验思考题的解答实验二JSP页面一、实验目的(1)熟悉典型JSP页面的组成元素,掌握HTML标记和JSP标记的不同(2)掌握在HTML页面中插入JSP脚本(java代码)的方法(2)编写简单的JSP页面,初步掌握JSP网页的设计原理二、实验工具(1)JDK1.4、JDK1.5或JDK1.6,可以从SUN公司的网站免费下载(2)编辑工具:记事本或Dreamweaver MX 2004、FrontPage 2003(3)Tomcat服务器,也可以从网上免费下载三、实验步骤(1)打开记事本,输入以下代码,保存为exer2_1.jsp,观察其运行结果exer2_1.jsp:<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY><%! int count=0; //被客户共享的countsynchronized void setCount() //synchronized修饰的方法{ count++;}%><% setCount();out.println("您是第"+count+"个访问本站的客户");%></BODY></HTML>(2)JSP中声明类(比较教材P15-P16页的声明变量和声明方法)是JSP页面对应的Servlet类的内部类,页面上所有脚本元素都可以创建该类的对象。

下面的实例定义一个square类,当客户访问该页面时,服务器创建该类的对象,只要客户给出正方形的边长,就可以求出该正方形的周长和面积,创建并运行exer2_2.jsp,观察运行结果exer2_2.jsp:<%@ page contentType="text/html; charset=gb2312" %><html><body><p>请输入正方形边长<form name="form1" method="get" action="exer2_2.jsp"><input type="text" name="cat" value="1"><input type="submit" name="Submit" value="送出"></form><%! public class square{ double r;square(double r) {this.r=r;}double getarea() {return r*r;}double getlength() {return r*4;}}%><%String s=request.getParameter("cat");double r;if (s!=null){r=Double.valueOf(s).doubleValue();}else{r=1;}square cc=new square(r);//创建对象%><p>方的面积是:<%=cc.getarea() %><p>方的周长是:<%=cc.getlength() %></body></html>(3)编写exer2_3.jsp,熟悉在“<%=”和“%>”之间插入表达式,用于输出表达式计算结果的方法exer2_3.jsp:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan><FONT size=4><P> Sin(0.9)除以3等于<%=Math.sin(0.90)/3%><p>3的平方是:<%=Math.pow(3,2)%><P>12345679乘72等于<%=12345679*72%><P> 5的平方根等于<%=Math.sqrt(5)%><P>99大于100吗?回答:<%=99>100%></BODY></HTML>(4)在Dreamweaver或FrontPage中利用可视化方法,编写input.jsp和receive.jsp。

input.jsp:<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><FORM action="receive.jsp" method=post name=form><P>请输入下列信息:<BR>输入您的姓名:<INPUT type="text" name="name" value="张三"></BR><BR>选择性别:<INPUT type="radio" name="R" value="男" checked="default">男<INPUT type="radio" name="R" value="女">女</BR><BR>选择您喜欢的歌手:<input type="checkbox" name="superstar" value="张歌手" >张歌手<input type="checkbox" name="superstar" value="李歌手" >李歌手<input type="checkbox" name="superstar" value="刘歌手" >刘歌手<input type="checkbox" name="superstar" value="王歌手" >王歌手</BR><INPUT TYPE="hidden" value="这是隐藏信息" name="secret"><INPUT TYPE="submit" value="提交" name="submit"></FORM></FONT></BODY></HTML>receive.jsp:<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><% String yourName=request.getParameter("name"); // 获取text提交的值String yourSex=request.getParameter("R"); //获取radio提交的值String secretMess=request.getParameter("secret"); //获取hidden提交的值String personName[]=request.getParameterValues("superstar"); //获取checkbox提交的值out.println("<P> 您的姓名:"+yourName+"</P>");out.println("<P> 您的性别:"+yourSex+"</P>");out.println("<P> 您喜欢的歌手:");if(personName==null){ out.print("一个都不喜欢");}else{ for(int k=0;k<personName.length;k++){ out.println(" "+personName[k]);}}out.println("<P> hidden提交的值:"+secretMess);%></FONT></BODY></HTML>四、设计性实验环节(1)编写一个jiecheng类,当客户在浏览器中给出指定的正整数N,能计算N的阶乘。

相关主题