实验4-JSP页面元素(2)-实验指导书
- 格式:doc
- 大小:112.00 KB
- 文档页数:4
实验二JSP页面开发【实验目的】:熟悉JSP编程的特点,掌握JSP脚本元素、指令和动作的使用,进而掌握JSP 页面的开发。
【实验内容】:创建JSP文件,练习JSP脚本元素、指令和动作的使用。
验证课本例子。
【实验步骤】:(一)JSP页面开发流程:1.设定MyEclipse的工作空间(workspace)是%TOMCAT%\webapps。
在MyEclipse工作台主菜单中选择“文件”->“新建”->“项目”命令,在弹出的对话框中选择“Web Project”。
单击“下一步”按钮。
2.填入项目名称。
单击“下一步”按钮,继续。
3.为Web项目的Context指定名字和设定Web应用程序的根目录。
可以使用默认值。
单击“完成”按钮。
4.在MyEclipse工作台主菜单中选择“文件”->“新建”->“文件”->“JSP”项,输入文件名,单击“完成”按钮创建文件。
5.编辑JSP文件。
注意要将JSP文件放置在根目录下,否则由于WEB-INF目录的内容无法对外发布,而使得外界无法访问该JSP文件。
6.启动Tomcat服务器。
7.打开浏览器,在地址栏中输入http://lcoalhost:8080/ProjectName/JSPFileName.jsp,即可看到页面运行结果。
8.打开Tomcat的work\Catalina\localhost\ProjectName\org\apache\jsp路径下的jspName_jsp.java文件,将该文件和jspName.jsp文件作对比。
9.按照上述方法,开发HelloUser工程,编写相应程序(见课本第33页)。
(二)JSP元素实例验证1. 脚本示例程序:directive工程下的scriptlet.jsp2..Page指令的isError属性:directive工程下的errorTest.jsp是测试页面、error.jsp是错误处理页面。
实验1.<%@include%>指令与<jsp:include>动作指令的练习。
分别使用<%@include%>指令和<jsp:include>动作指令实现top.txt和bottom.txt的包含2.编写Jsp页面,根据用户在表单中输入的整数计算其平方,并将结果显示在网页上,对于非整数要给出异常处理,并跳转到错误页面,提示数据输入有错。
3.对于Jsp文件代码,当这个页面被第二次访问时,页面的输出结果是什么?并进行验证。
<%!int m=0;%><%int n=0;m++;n++;%>m:<%=m%><br>n:<%=n%>4.用Jsp制作猜数字游戏页面(事先随机确定一个1-100之间的整数,然后让用户来猜这个数是多少,猜大了网页提示“大了”,猜小了网页提示“小了”,看用户猜几次能猜中)5.用jsp实现石头、剪刀、布游戏。
页面的输出有“平局,恭喜你”,“你赢了!再玩一次”和“你输了!再玩一次”3种结果。
6.显示一个含有一个文本输入框和一个下拉列表的表单,文本输入框让用户输入姓名,下拉列表供用户选择用户类型(含有普通用户,VIP用户两个选项)。
表单提交后进行校验,若用户未输入姓名,则返回当前页,要求用户重新输入;若用户输入了姓名,且选择类型普通用户,则进入common.jsp页面,若用户选择类型为VIP用户,则进入vip.jsp页面。
7.定义一个小应用程序TestApplet,程序在页面内实现输出红色矩形。
分两种方法在页面内实现。
一种使用<applet>标记对,另一种使用<jsp:plugin>动作指令。
8.利用<jsp:forward>和<jsp:param>动作指令,通过传值的方式实现三角形面积的求解。
在页面testforward.jsp中传递三个参数值给triarea.jsp,并计算传递过来的三条边计算三角形的面积。
软件工程系《JSP程序设计》实验指导书专业班级:电商10指导教师:朱亚玲实验一熟悉Java运行环境一、实验目的1.熟悉java的运行环境,并配置环境变量;2.熟悉java程序的编译、解释执行过程;3.初步了解编译过程中的出错信息,改正错误;4.初步掌握Java的编程规则;5.了解并熟悉java的基本数据类型及其操作;6.初步掌握编程结构的特点;了解并熟悉循环结构的设计方法。
二、实验环境与地点PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤1.查看JDK的安装路径、系统变量path的值,并进行记录。
(1)JDK的安装目录是:(2)path的值:2.利用写字板编写一个java源文件,输出以下信息。
中国科学院院士北京大学计算机科学技术系教授杨芙清把源程序保存到目录D:\dianshang10下,并进行编译和运行,得到正确结果。
(1)源程序:public class First { public static void main (String args[]) {System.out.println("中国科学院院士");System.out.println("北京大学计算机科学技术系教授");System.out.println("杨芙清");(2)} }(3)运行步骤及结果:3.在D:\dianshang10目录下有一个Java源文件Area.java,用来求圆的面积。
源文件内容如下:public class area{ //main():程序入口public static void main(String[] args){ //定义常量π,并用标识符VALUE_PAI表示final double VALUE_PAI=3.14;//设置半径double radius=2.5;//进行计算double area=VALUE_PAI*radius*radius;//显示结果System.out.println("The radius is: "+radius);System.out.println("The area of thiscircle is:"+" "+area);}}编译情况如右图所示:根据错误提示,找出错误原因并改正,运行出正确结果并记录。
实验二1.实验目的(1)掌握怎样在JSP页面中使用page指令设置contentType的值;使用include指令在JSP页面中静态插入一个文件的内容。
(2)掌握怎样在JSP页面中使用include标记动态加载文件;使用forward实现页面的转向。
2.实验内容(1)编写三个JSP页面:first.jsp 、second.jsp和third.jsp。
另外,要求用“记事本”编写一个txt文件hello.txt。
hello.txt的每行有若干个英文单词,;单词之间用空格分隔,每行之间用“<BR>”分隔,如下所示:hello.txtpackage apple void back public <BR>private throw class hello welcome(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>3. 实验要求1、first.jsp<%@ page contentType="text/plain;charset=GB2312" %><%@ include file="hello.txt" %><HTML><BODY bgcolor=yellow><P>我是first.jsp页面</BODY></HTML>2、second.jsp<%@ page contentType="application/vnd.ms-powerpoint;charset=GB2312" %> <%@ include file="hello.txt" %><HTML><BODY bgcolor=yellow><P>我是second.jsp页面</BODY></HTML>3、third.jsp<%@ page contentType="application/msword;charset=GB2312" %><%@ include file="hello.txt" %><HTML><BODY bgcolor=yellow><P>我是second.jsp页面</BODY></HTML>4、one.jsp<%@ page contentType="text/html; charset=GB2312" %><HTML><HEAD><jsp:include page="head.txt" /></HEAD><BODY bgcolor=yellow><FORM action="" method="get">请输入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="txtnum" value="<%=n %>" /></jsp:forward><% }else if(n>50&&n<=100){%> <jsp:forward page="three.jsp"><jsp:param name="txtnum" value="<%=n %>" /></jsp:forward><% }else if(n>100){%> <jsp:forward page="error.jsp"><jsp:param name="mess" 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" %><HTML><HEAD><jsp:include page="head.txt" /></HEAD><BODY bgcolor=yellow>this is two.jsp<% String s=request.getParameter("txtnum");out.println("<BR>传递过来的值是:" + s);%><BR><img src="image/a.jpg" width="<%=s %>" height="<%=s %>" ></img> </BODY></HTML>three.jsp<%@ page contentType="text/html; charset=GB2312" %><HTML><HEAD><jsp:include page="head.txt" /></HEAD><BODY bgcolor=yellow>this is three.jsp<% String s=request.getParameter("txtnum");out.println("<BR>传递过来的值是:" + s);%> <BR><img src="image/b.jpg" width="<%=s %>" height="<%=s %>" ></img> </BODY></HTML>error.jsp<%@ page contentType="text/html; charset=GB2312" %><HTML><HEAD><jsp:include page="head.txt" /></HEAD><BODY bgcolor=yellow>this is error.jsp<% String s=request.getParameter("mess");out.println("<BR>传递过来的值是:" + s);%> <BR><img src="image/error.jpg" width="120" height="120" ></img> </BODY></HTML>。
实验四利用request和response对象进行设计一、实验目的1.理解内置对象的概念;2.熟练掌握request对象如何获取客户端信息;3.熟练掌握response对象的动态响应功能和重定向功能;4.熟练编写简单的JSP实用程序。
二、实验环境与地点:PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤:在webapps目录下新建一个Web服务目录:chapter4。
将以下编写的JSP页面保存到chapter4中。
1.编写一个简单的用户注册页面register.jsp,页面中包括用户名、密码、年龄、性别、爱好等信息。
要求:(1)密码不能少于6位,年龄必须在10到100岁之间,性别采用单选按钮实现,爱好采用复选框实现;(2)在result.jsp页面获取输入的信息,若有信息不符合条件,response对象将用户重新定向到注册页面使其重新输入信息;若符合条件,则将信息显示出来。
(3)完成以下任务:①画出register.jsp页面的运行效果图。
②给出result.jsp页面中获取register.jsp页面提交的用户信息的代码。
③如果register.jsp表单提交的信息中有汉字,result.jsp页面应怎样处理?④给出result.jsp页面中判断用户信息是否符合条件并作出相应处理的代码。
2. 制作如下图所示的JSP程序inputNumber.jsp。
要求:(1)select下拉列表中有加、减、乘、除四个选项;(2)用户点击“提交”按钮后提交到inputNumber.jsp页面完成数据的处理,并将结果显示在JSP页面。
(3)写出inputNumber.jsp的代码。
四、实验总结与分析1.2.实验五利用session和application对象进行设计一、实验目的1.理解session对象的会话功能;2.理解application对象的应用程序级变量;3.能够掌握出session和application二者的区别;4.熟练掌握session对象如何存储与用户有关的数据;5.熟练掌握application对象如何存储与web服务有关的数据。
实验二request内置对象的使用(2学时)【实验目的】1.掌握html表单的制作。
2.掌握如何使用request对象的方法获取数据信息。
3.掌握如何进行表单处理并进行显示。
4.掌握如何处理乱码问题。
【实验要求】包含两个页面,一个为表单页面index.jsp,另一个为处理页面receive.jsp1.制作一个表单,内容包括文本、单选、多选和提交按钮。
2.通过request方法的接收,将表单中填写和选择好的信息显示在页面中。
3.显示页面不能有中文乱码。
【实验环境】Eclipse 3.2 + MyEclipse 5.5 + Tomcat5.5【实验内容】index.jsp文件主要代码部分<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>Index.jsp的执行页面如下:Receive.jsp文件主要代码部分。
实验⼆JSP基本动态元素的使⽤实验⼆ JSP基本动态元素的使⽤实验性质:验证性实验学时: 2学时实验地点:⼀、实验⽬的与要求1、掌握JSP中声明变量、定义⽅法、java程序⽚及表达式的使⽤⽅法。
2、了解JSP页⾯的底层⼯作机制。
⼆、实验内容1、JSP页⾯中声明变量、⽅法定义及表达式应⽤。
(1)有如下的JSP代码段:……<body><%!String s="这⾥⼀个String类型的变量";String t( ){return "这⾥是⼀个⽅法的返回值";}%><p> <%=t( )%> </p><p> <%=s%> </p>……页⾯浏览的结果是:这⾥是⼀个⽅法的返回值这⾥⼀个String类型的变量(2)假设有两个⽤户访问下列JSP页⾯hello.jsp,请问第⼀个访问和第⼆个访问hello.jsp页⾯的⽤户看到的页⾯效果是否⼀致?如不⼀致,有何不同?请写出具体的结果。
hello.jsp<%@ page contentType="text/html;charset=gb2312"%><html><body> <%! int sum=0;void add(int m) {sum=sum+m;}%><%int n=100;add(n);%><%=sum%></body></html>答:两个⽤户看到的不⼀致,第⼀个⽤户看到的是100,第⼆个⽤户看到的是200.2、JSP页⾯中Java程序⽚的使⽤(1)编写名为shiyan2_2.jsp的JSP页⾯,显⽰九九乘法表(注意格式的控制)。
按上述要求写出程序代码。
<%@ page language="java" contentType="text/html; charset=UTF-8"%><html><body><%for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){out.print(j+"*"+i+"="+i*j+"");}out.print("<br/>");}%></body></html>(2)编写名为shiyan2_3.jsp的JSP页⾯,该页⾯的功能是产⽣⼀个7-22的随机数,当该随机数⼩于13时,显⽰⼩学⽣的图⽚,当该随机数⼤于13⼩于18时,显⽰中学⽣的图⽚,否则显⽰⼤学⽣的图⽚(图⽚⾃选⼀张)。
《JSP实训指导书》目录实验1:JSP运行环境及JSP程序运行初步实验2:JSP页面的基本结构——求圆面积周长实验3:判断三角形实验4:JSP内置对象实验5:熟悉Jsp的五种内置对象的功能及其使用实验6:文件复制功能的实现实验7:文件上传实验8:JSP中使用数据库实验9:数据库的更新实验10:JavaBean的使用实训二、JSP页面的基本结构——求圆面积周长一、实训目的1.熟悉HTML标记的使用2.掌握JSP标签的使用3.掌握变量和方法的声明4.理解并掌握Java程序段的实现方法5.掌握Java表达式的使用方法二、实训内容编写一个JSP程序求圆面积周长。
三、参考程序参考源代码:说明:该项目有2个页面组成,一个是输入并提交半径的页面index.jsp,另一个是后台处理页面,负责获取从提交页面提交来的半径,并输出圆的面积和周长index.jsp:<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><form method="post" action="ActionForm.jsp" name="form"><p> 半径:<input type="text" value="0" name="Radius"></p><p> <input type="submit" value="提交" name="button1"> </p><p> </p><p> </p><p> </p><p> </p></form></body></html><%@ page contentType="text/html;charset=GB2312" %>ActionForm :<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'ActionForm.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><%!//定义一个圆类class Circle {private double radius;Circle(double r) {this.radius = r;}double求面积() {return Math.PI * radius * radius;}double求周长() {return Math.PI * radius * 2;}}%><%//从表单获取半径,其值为字符串String s = request.getParameter("Radius");double r;//将半径由字符串转换为double值if (s != null) {r = Double.parseDouble(s);} elser = 1;Circle c = new Circle(r);%><body><!-- 输出圆的面积和周长 --><p>圆的面积是:<%=c.求面积()%><p>圆的周长是:<%=c.求周长()%></body></html>实训三判断三角形一、实训目的1、理解HTML标记2、掌握JSP标签,变量和方法的声明二、实训内容判断所给三边能否构成一个三角形三、参考程序编程如下:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY ><P>请输入三角形的三个边a,b,c的长度:<BR><!--以下是HTML表单,向服务器发送三角形的三个边的长度--><FORM action="Example2_8.jsp" method=post name=form> <P>请输入三角形边a的长度:<INPUT type="text" name="a"><BR><P>请输入三角形边b的长度:<INPUT type="text" name="b"><BR><P>请输入三角形边c的长度:<INPUT type="text" name="c"><BR><INPUT TYPE="submit" value="送出" name=submit></FORM><%--获取客户提交的数据--%><%String string_a=request.getParameter("a"),string_b=request.getParameter("b"),string_c=request.getParameter("c");double a=0,b=0,c=0;%><%--判断字符串是否是空对象,如果是空对象就初始化--%><%if (string_a==null){string_a="0";string_b="0";string_c="0";}%><%--求出边长,并计算面积--%><%try{a=Double.valueOf(string_a).doubleValue();b=Double.valueOf(string_b).doubleValue();c=Double.valueOf(string_c).doubleValue();if(a+b>c&&a+c>b&&b+c>a){double p=(a+b+c)/2.0;double mainji=Math.sqrt(p*(p-a)*(p-b)*(p-c));out.print("<BR>"+"三角形面积:"+mainji);}else{out.print("<BR>"+"您输入的三边不能构成一个三角形");}}catch(NumberFormatException e){out.print("<BR>"+"请输入数字字符:");}%></BODY></HTML>实训四JSP内置对象一、实训目的1.了解JSP中9个内置对象request、reponse、out、session、application、config、pagecontext、page、exception的基本概念。
软件工程系《JSP应用技术》实验指导书专业班级:软件10-1、2指导教师:刘瑞玲实验一 JSP开发环境的搭建一、实验目的1.熟练掌握Tomcat服务器的安装与配置,为后续实验做好准备工作;2.掌握Web服务目录的设置;3.熟练掌握Web服务目录下JSP页面的访问;4.掌握Tomcat服务器端口号的修改。
二、实验环境与地点PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤1.Tomcat服务器的安装与配置;(1)下载jdk6.0进行安装,同时配置系统变量PATH与CLASSPATH。
(2)下载Tomcat6.0,将其安装到硬盘的某个分区,如D:\。
2.Web服务目录的设置;(1)在D:\下新建一个目录,名称为student,将student目录设置为Web服务目录,并为该Web 服务目录指定名字为friend的虚拟目录。
打开Tomcat目录中conf文件夹里的文件,找到出现</Host>的部分。
然后在</Host>的前面加入:<Context path=" " docBase=" " debug=0 reloadable="true" /> (2)修改端口号为9999。
在文件中找到修改端口号部分,默认端口修改为9999。
(3)启动Tomcat服务器。
如果已经启动,应该,并重新启动。
3.JSP页面的访问;(1)使用“记事本”编写一个简单的JSP页面,文件名用自己的姓名拼音命名(如张三:zhangSan.jsp),文件名是,并保存到Web服务目录student中。
(2)打开上一步建立的JSP页面进行编辑,使其页面运行起来时显示你的专业、班级、学号,姓名。
(3)在浏览器的地址栏中输入Tomcat服务器的IP地址和端口号,并通过虚拟目录friend访问Web服务目录student中第7步编辑后的JSP页面,访问路径是:。
实验一JSP运行环境安装与配置实验时间:3月7日实验目的:1、掌握JSP运行环境的安装与配置。
2、熟悉Tomcat服务器的安装与配置。
3、掌握JSP文件的建立与使用。
4、熟悉JSP开发环境实验内容:1、安装J2SDK并设置相关环境变量。
2、安装与启动Tomcat服务器3、设置Web服务目录4、编写测试JSP页面实验步骤(过程):参照教材实验二JSP页面实验时间:3月21日实验目的:1、掌握JSP页面的基本结构及运行原理。
2、掌握怎样声明JSP页面的成员变量和方法3、掌握怎样使用Java程序片和Java表达式。
4、掌握在JSP页面中使用HTML标记。
实验内容:1、编写一个JSP页面,计算出100以内的素数。
2、设计两个JSP页面a.jsp和b.jsp,a.jsp页面使用表单提交数据给b.jsp页面,要求a.jsp通过text方式提交一个字符串给b.jsp,b.jsp页面获取a.jsp提交的字符串,并使用Java表达式显示这个字符串及其长度。
3、请编写JSP页面inputNumber.jsp和getNumber.jsp。
inputNumber.jsp页面使用表单通过text方式提交一个数字给getNumber.jsp页面,getNumber.jsp计算并显示这个数的平方和立方。
实验过程:实验题目1:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=yellow><P> 100以内的素数有:<BR>int i,j;for( i=1;i<=100;i++){ for( j=2;j<i;j++){ if(i%j==0)break;}if(j==i)out.println("<BR>素数:"+i);}%></BODY> </HTML>实验题目二:a.jsp<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><FORM action="b.jsp" method=post name=form><BR>请输入一个字符串:<INPUT type="text" name="name" ></BR><INPUT TYPE="submit" value="提交" name="submit"> </FORM></FONT></BODY></HTML>b.jsp<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><% String str=request.getParameter("name");%><P> 您输入的字符串是:<%=str %><P> 字符串的长度为:<%=str.length() %></FONT></BODY></HTML>实验题目3:inputNumber.jsp<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><FORM action="getNumber.jsp" method=post name=form><BR>请输入一个数字:<INPUT type="text" name="number" ></BR><INPUT TYPE="submit" value="提交" name="submit"> </FORM></FONT></BODY></HTML>getNumber.jsp<%@ page contentType="text/html;Charset=GB2312" %><HTML><BODY bgcolor=cyan><Font size=3><% String str=request.getParameter("number");double d=Double.parseDouble(str);out.println(d+"的平方为:"+d*d);out.println("<BR>"+d+"的立方为:"+d*d*d);}catch(NumberFormatException exp){out.println("<BR>"+exp);}%></FONT></BODY></HTML>实验三JSP标记实验时间:4月4日实验目的:1、掌握JSP指令标记、动作标记和自定义标记的使用2、掌握Tag文件设计、保存及调用方法。
Jsp实训指导书
功能分析:
一用户界面功能:
书籍的展示
(1)把整个书店里的书籍按照类别进行分类,顾客可以按照类别浏览书籍;
(2)单击每种书种类的链接,将出现该类书籍列表;
(3)可查看书籍的详细资料,单击每种书籍名称,将出现相应书籍的详细信息。
用户注册
提供注册功能
普通顾客只能浏览5条的图书信息,但通过用户注册可以浏览全部的图书信息。
图书搜索
用户可以在本书店利用图书名称进行模糊搜索。
二管理界面功能:
管理图书
1.查看图书信息
2.修改图书信息
3.删除图书
类别管理
1.添加类别
2.删除类别
管理会员
1.查看会员资料
2.修改会员资料
3.删除会员
三数据库设计
用户表用户表用来注册用户信息,用户表如表所示:。
《Web应用程序开发》上机指导书(第1版)主编迟增晓山东交通学院·计算机应用教研室2010年11月目录实验一配置JSP环境与入门示例程序 (1)实验二HTML语言 (3)实验三JSP和Web页面的交互 (4)实验四JSP的页面元素 (6)实验五Request对象与Response对象 (9)实验六Session对象与Application对象 (12)实验七JSP连接数据库 (15)实验八JSP连接数据库(续) (18)实验九使用JavaBean连接数据库 (19)实验十简易留言板程序 (21)在第一题的基础上,添加如下要求,如有冲突,以下面的要求为准: (21)实验十一Servlet (22)实验十二文件的上传与下载 (24)实验十三JSP分页 (26)实验十四综合应用实例 (29)实验十五综合应用实例(续) (30)实验一配置JSP环境与入门示例程序一、实验目的1、掌握JSP运行环境的配置方法2、初步体验JSP程序二、实验内容1、安装tomcat我们以tomcat5.5.0为例,介绍如何安装Tomcat。
在安装tomcat前确保已经正确安装了JDK(本实验中我们采用JDK 1.5.0)。
和其他应用软件的安装相似,一路确定直到出现如图所示界面,在Connector Port 后输入你希望Tomcat所使用的端口(特别注意:如果您机器上安装了oracle,应为Tomcat 指定8080以外的端口,否则二者将出现冲突,影响Tomcat的正常使用),根据需要设置您的User Name和Password (在使用manager对目录管理时需要输入此时设置的User Name和Password)Tomcat安装完成后,单击开始菜单中的“Apache Tomcat5.5”—>“Monitor Tomcat”启动Tomcat,在浏览器地址栏中输入地址:http://localhost:8080,此时若出现Tomcat的欢迎界面,说明Tomcat安装成功。
JSP技术实验指导书目录实验一动态网页设计基础 (1)实验二、JSP的开发和运行环境搭建 (3)实验三JSP语法 (8)实验四JSP内置对象 (12)实验五JavaBean与表单处理 (16)实验六JSP中的文件操作 (18)试验七、数据库操作 (20)实验八Servlet应用 (22)实验一动态网页设计基础实验目的:1、掌握HTML的常用标签2、掌握HTML设计基本网页3、掌握HTML设计网络中常用的表单4、了解JavaScript的简单应用,实验环境:操作系统Windows XP或更高版本实验内容:1、编写一个简单的学生信息注册页面,包括学号、姓名、密码、专业,其中学号、姓名用单行文本框、密码使用密码框、专业使用下拉菜单;2、使用框架将一个页面均分为四个区域,每个区域显示不同的网页;3、在文本框输入任意一个整数,求该整数的阶乘。
通过按钮的单击事件,并将结果显示在结果文本框中。
实验步骤:1、编写一个简单的学生信息注册页面,包括学号、姓名、密码、专业,其中学号、姓名用单行文本框、密码使用密码框、专业使用下拉菜单;如下图所示(要求:使用表格布局)。
2、使用框架将一个页面均分为四个区域,每个区域显示不同的网页3、在文本框输入任意一个整数,求该整数的阶乘。
通过按钮的单击事件,并将结果显示在结果文本框中。
注意事项1、认真填写实验报告2、遵守实验室各项制度,服从实验指导教师的安排3、按规定的时间完成实验说明:1、实验性质:验证性2、建议学时:3学时实验二、JSP的开发和运行环境搭建实验目的:1、了解JSP开发环境安装与配置;2、了解JSP开发的一般步骤;3、熟悉简单JSP页面的开发实验环境:操作系统Windows XP或更高版本实验内容:1、环境配置;2、编写一个JSP页面,计算出100以内的素数。
实验步骤:1、环境配置JSP编程使用的Java语言,所以运行JSP程序必须要有JVM的支持,还必须要有Java程序编辑、编译程序(JDK)的支持。
Web应用技术(JSP)实验报告(四)专业:电子商务班级:1102姓名:李丰学号:02教师评分:实验1 DOM基础1 相关知识点JavaScript和HTML之间的交互是通过用户和浏览器操作页面时引发的事件(event)来处理的。
页面载入完成时,会出现一个事件。
用户点击按钮时,点击也是一个事件。
开发人员用这些事件来执行编码进行响应,比如在点击按钮时关闭窗口、给用户显示消息、验证日期,以及基本上任何可以想象的要发生的响应。
DOM是Document Object Model的简写,称作文档对象模型。
它用来把HTML文档描绘成一个由多层节点构成的结构。
它把一份文档表示为一棵树,称作DOM树。
HTML文档只有一个根节点,而其它节点以根节点的子结点或孙子节点的形式存在,最终形成一个结构化文档。
DOM模型则用于导航、访问结构化文档的节点,并提供新增、修改、删除结构化文档的能力。
文档的DOM结构必须是在整个文档加载完毕之后才能正确分析出来。
2 实验目的掌握操作DOM节点及其属性的方法。
3 实验要求(1)给文件news.html添加事件响应功能,当鼠标置于“社会新闻”选项上方时显示“社会新闻”相关新闻列表,如图:当鼠标置于“业内信息”选项上方时显示“业内信息”相关信息列表,如图:(使用了img文件夹下的图片和news.css)(参考第三章课件II 88~97和第四章课件59-60)添加事件处理代码后的网页news.html代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><title>新闻列表显示与隐藏</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><link href="img/news.css" rel=stylesheet type="text/css"><script language="javascript">function check1(){ var oMy = document.getElementById("a");oMy.className = "up";var oMy1 = document.getElementById("b");oMy1.className = "h3";var block1=document.getElementById("newsClip1")var block2=document.getElementById("newsClip2")block1.style.display="block";block2.style.display="none";}function check2(){ var oMy = document.getElementById("b");oMy.className = "up";var oMy1 = document.getElementById("a");oMy1.className = "h3";var block1=document.getElementById("newsClip1")var block2=document.getElementById("newsClip2")block2.style.display="block";block1.style.display="none";}</script></head><body><div id="tab"><h3 class="up" id="a" onmouseover="check1( )">社会新闻</h3><div class="block" id="newsClip1"><ul><li><a href="#">中方一天宣布四措施反制美对台军售</a></li><li><a href="#">汽柴油零售价明日起每升下调0.23元和0.26元</a></li> <li><a href="#">中国国防部报复美对台军售暂停两军互访</a></li><li><a href="#">把支持农民建房作为扩内需重大举措</a></li><li><a href="#">广州发现大型古墓群</a></li><li><a href="#">解码内地最富城市鄂尔多斯</a></li><li><a href="#">从被打倒到再次成圣,孔子的历史轮回</a></li><li><a href="#">新医改要注意的几个问题</a></li><li><a href="#">公检法联合发文界定"黑社会性质组织" </a></li><li><a href="#">财政部出40亿元建国家广电网络公司</a></li> </ul></div><h3 id="b" onmouseover="check2( )">业内信息</h3><div id="newsClip2"><ul><li><a href="#">甲骨文公布MySQL和Sun服务器发展计划</a></li> <li><a href="#">黑客产业链揭秘:从技术专家到骗钱专家</a></li> <li><a href="#">迅雷面试经历(Java面试题求解讨论)</a></li><li><a href="#">OpenGL渲染管线和坐标变换</a></li><li><a href="#">猴王问题的公式分析</a></li><li><a href="#">网络流量限制原理</a></li><li><a href="#">网络管理配置和工具使用</a></li><li><a href="#">DB服务器设置及性能优化</a></li></ul></div></div></body></html>网页执行效果(截图):(2)分析文件gallery.html、showPic.js、layout.css,要求为showPic.js添加代码,使网页gallery.html具备如下功能:当点击某个超链接选项时,预留图片区域"placeholder.gif"被替换为超链接所指图片,预留图片提示文本"Choose an image."被替换为超链接提示文本。
肇庆学院计算机学院JSP内置对象实验报告inputNumber.jsp<%@ page contentType="text/html;charset=GB2312"%><HTML><BODY bgcolor=cyan><FONT size=5><FORM action="receiveNumber.jsp" method=post name=form>输入运算数、选择运算符号:<br><Input type=text name="numberOne" size=6><select name="operator"><option value="+">+<option value="-">-<option value="*">*<option value="/">/</select><Input type=text name="numberTwo" size=6><br><Input type="submit" value="提交你的选择" name="submit"> </FORM></FONT></BODY></HTML>receiveNumber.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ taglib tagdir="/WEB-INF/tags" prefix="computer" %><%String a=request.getParameter("numberOne");String b=request.getParameter("numberTwo");String operator=request.getParameter("operator");if(a==null||b==null){a="";b="";}if(a.length()>0&&b.length()>0){%><computer:Computer numberA="<%=a%>" numberB="<%=b%>" operator="<%=operator%>"/> 计算结果:<%=a%><%=operator%><%=b%>=<%=result%><%}%><a href=inputNumber.jsp>返回输入数据界面</a>Computer.Tag<%@ tag pageEncoding="GB2312" %><%@ attribute name="numberA" required="true" %><%@ attribute name="numberB" required="true" %><%@ attribute name="operator" required="true" %><%@ variable name-given="result" scope="AT_END" %><% try{double a=Double.parseDouble(numberA);double b=Double.parseDouble(numberB);double r=0;if(operator.equals("+")){r=a+b;}else if(operator.equals("-")){r=a-b;}else if(operator.equals("*")){r=a*b;}else if(operator.equals("/")){r=a/b;}jspContext.setAttribute("result",String.valueOf(r));}catch(Exception e){jspContext.setAttribute("result","发生异常:"+e);}%>inputRadius.jsp<%@ page contentType="text/html; charset=GB2312" %><HTML><BODY bgcolor=yellow><FONT size=2><FORM action="drawCircle.jsp" method=post name=form>输入圆的半径:<input type=text name="radius" size=6><input type="submit" value="提交" name="submit"></FORM></FONT></BODY></HTML>drawCircle.jsp<%@ page contentType="text/html; charset=GB2312" %><%@ page import="java.awt.*" %><%@ page import="java.io.*" %><%@ page import="java.awt.image.*" %><%@ page import="java.awt.geom.*" %><%@ page import="com.sun.image.codec.jpeg.*" %><HTML><BODY bgcolor="yellow"><FRONT size=3><%String R=request.getParameter("radius");out.print(R);try{double number=Double.parseDouble(R);if(number <=0 || number >100){response.setContentType("text/plain;charset=GB2312");out.println(number + "作为圆的半径不合理");}else if(number>0 && number<=100){response.setContentType("image/jpeg");int width =100,height =100;BufferedImage image =new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics();g.setColor(Color.white);g.fillRect(0,0,width,height);Graphics2D g_2d = (Graphics2D)g;Ellipse2D circle = new Ellipse2D.Double(0,0,number,number);g_2d.setColor(Color.blue);g_2d.fill(circle);g.dispose();OutputStream outClient = response.getOutputStream();JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outClient);encoder.encode(image);}}catch(Exception e){response.sendRedirect("inputRadius.jsp");}%></FONT></BODY></HTML>choiceBook.jsp<%@page contentType="text/html; charset=GB2312" %><HTML><BODY bgcolor=yellow><FONT size = 2><p>选择要购买的图书<table><tr><td><a href="orderForm.jsp?bookMess=Java面向对象设计@ISBN:9876@价格:9.9元">Java面向对象设计(10元)</a></td></tr><tr><td><a href="orderForm.jsp?bookMess=JSP程序设计@ISBN:4567@价格:9.5元">JSP程序设计(10元)</a></td></tr><tr><td><a href="orderForm.jsp?bookMess=XML程序设计@ISBN:2356@价格:8.8元">XML程序设计(10元)</a></td></tr></table></FONT></BODY></HTML>orderForm.jsp<%@page contentType="text/html;charset=GBK" %><%@page import="java.util.*" %><%String book = request.getParameter("bookMess");if(book != null){StringTokenizer fenxi = new StringTokenizer(book,"@");String bookName = fenxi.nextToken();String bookISBN = fenxi.nextToken();session.setAttribute(bookISBN,book);}%><html><body bgcolor="cyan"><font size = 4><P>图书订单<table border=3><%Enumeration keys = session.getAttributeNames();while(keys.hasMoreElements()){String key = (String)keys.nextElement();book = (String)session.getAttribute(key);if(book != null){StringTokenizer fenxi = new StringTokenizer(book,"@");byte X[]= ((String)fenxi.nextToken()).getBytes("ISO-8859-1");String bookName = new String(X);byte S[]= ((String)fenxi.nextToken()).getBytes("ISO-8859-1");String isbn = new String(S);byte P[]= ((String)fenxi.nextToken()).getBytes("ISO-8859-1");String price = new String(P);%><tr><td><%= bookName %></td><td><%= isbn %></td><td><%= price %></td> </tr><%}}%></table></font></body></html>。
大连东软信息学院
《Web开发技术(Java)III》
实验指导书
编写者:张明会
软件工程系
实验4:使用JSP动作制作简单的动态页面
1.学时
2学时
2.实验目的与要求
【目的】通过实验使学生掌握JSP页面元素中的include动作、forward动作和param 动作的作用,并能应用于实际开发。
【提交成果物】程序代码
3.实验环境
Eclipse,jdk1.8,浏览器,Tomcat7
4.准备工作
(1)include动作的基本用法
<jsp:include page=””/>
(2)forward动作的基本用法
<jsp: forward page=””/>
5.实验内容
内容1:设计5个JSP页面:login.jsp check.jsp welcome.jsp forbid.jsp footer.jsp,要求将login.jsp welcome.jsp forbid.jsp页面下方的红向及超链接信息写入至
footer.jsp中,使用动态包含动作加入其中。
(1)login.jsp效果如下:
(2)用户输入姓名和年龄后,按下进入按钮转入check.jsp,这个页面判断年龄是否大于18岁,若大于18岁,则转向welcome.jsp显示图左,否则请求转发至forbid.jsp 显示图右:
内容2:
编程实现两个页面,分别是test.jsp和box.jsp,要求使用include动作在test.jsp中动态插入box.jsp文件。
同时test.jsp文件向box.jsp文件传递三个参数,并由box.jsp文件负责将这三个参数的值输出显示,三个参数分别为:
name="No",value="12120800314";
name="stuname",value="zhangsan";
name="score",value="100"
运行test.jsp后,程序参考执行效果如下:
No: 12120800314
Name: Saryuna
Score:100
请分别编写test.jsp和box.jsp文件实现上述功能。
6.实验效果
略
7.课后实验
(1)你正在开发一个购书网站,网站登录页面为login.jsp,登录信息由deal.jsp页面处理。
login.jsp登录页面包含用户名、密码和登录按钮。
deal.jsp根据登录者相应权限转到不同页面,如果是管理员(管理员用户名为admin,密码不暂不做验证)登录,登录以后将看到商品信息维护页面(manager.jsp);否则为普通用户,登录后可以看到图书购买页面(user.jsp)。
请编程实现login.jsp和deal.jsp。
(2)四个页面:score.html,forward.jsp,pass.jsp,fail.jsp,若输入分数大于60分,则转到pass.jsp,否则转到fail.jsp.
提示:数据类型转换int i= Integer.parseInt(str);
score.html运行效果如下,记得<form>标签中提交到forward.jsp,有个文本框名字叫"score":
forward.jsp如下:。