收藏 分销(赏)

《jsp动态网页开发》实验指导书.doc

上传人:二*** 文档编号:4743317 上传时间:2024-10-11 格式:DOC 页数:97 大小:2.52MB 下载积分:5 金币
下载 相关 举报
《jsp动态网页开发》实验指导书.doc_第1页
第1页 / 共97页
本文档共97页,全文阅读请下载到手机保存,查看更方便
资源描述
. JSP动态网页开发 实验〔训〕指导书 王振铎编 思源学院 电子信息工程学院 94 / 97 说 明 《JSP动态网页开发实训指导书》是与《JSP动态网页开发》理论教学相配套的实训教材,培养学生在动态网页程序开发方面的技能,使学生具备解决实际问题的能力。 实验教学容可以根据教学具体情况进展合理调整。 目录 实验一 JSP开发环境配置与测试1 实验二 Jsp根底〔1〕11 实验三Jsp根底〔2〕15 实验四J S P 根底〔3〕19 实验五 J S P 置对象〔1〕22 实验六J S P 置对象〔2〕29 实验七Java bean 〔1〕33 实验八 JSP 中的文件操作39 实验九Java bean 〔2〕46 实验十 jsp 操作xml文件48 实验十一 java servlet58 实验十二用户注册程序62 实验十三留言板66 实验十四JSP Servlet用户登录程序93 实验十五MVC开发模式96 实验一 JSP开发环境配置与测试 一、实验目的 1、了解JSP开发环境安装与配置; 2、了解JSP开发的一般步骤。 二、实验要求 掌握简单程序的编写和运行。 三、实验容 1 JSP开发环境配置 JSP编程使用的Java语言,所以运行JSP程序必须要有JVM的支持,还必须要有Java程序编辑、编译程序〔JDK〕的支持。现在企业流行的集成开发环境是Eclipse或MyEclipse。大多数应用程序都需要连接数据库,所以需要DBMS的支持。JSP应用程序是运行在效劳器上的,所以需要Web效劳器的支持,在此以Java 1.6 Update21、Tomcat、MySQL、MyEclipse6.5为例,安装配置JSP开发环境。 1、安装JDK 从Java公司官方〔.oracle./technetwork/java/index.html〕下载JDK,现在最新的是Java SE6 Update22,我们采用的JDK1.6 Update 21,只需要双击中下载到的EXE文件,点下一步即可安装。JDK安装好后,需要配置Java的环境变量,步骤如下: 〔1〕我的电脑->属性->高级选项卡->环境变量,翻开“环境变量〞对话框,在系统变量中新建以下环境变量: ①JAVA_HOME:表示Java SDK的安装目录,其值为: D:\Program Files\Java\jdk_21〔根据自己的实际安装位置进展调整〕。 ②CLASSPATH:表示Java要访问的jar文件所在的目录,其值为:%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib。 ③并修改Path环境变量,在其中增加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 注意: ² 对于Path环境变量是添加,而不要删除原来的容,否那么很多Windows功能不能使用;假设有其他程序要用到自己的Java环境变量,请将第③步的容添加到Path环境变量的最后,以免影响其他程序的运行。 ² 字母不区分大小写,大写字母是遵照Java环境变量配置习惯。 〔2〕测试 翻开Windows的命令行窗口〔开场->运行,在弹出的窗口中输入cmd回车〕,输入javac然后回车,假设能显示javac的帮助信息,说明JDK安装成功,如下列图所示。 2、安装Tomcat 在Tomcat官方〔〕上下载Tomcat,现在最新版本是7.x,但还没有Eclipse插件,因此不能集成到MyEclipse集成开发环境中,这里使用6.028这个版本。安装时只需要一路next即可,安装完成后,也不需要设置环境变量,只要在IE浏览器地址栏中输入:localhost:8080回车,假设能出现Tomcat界面说明安装成功,如下列图所示。 3、安装MyEclipse 只需要一路Next即可,主要是进展相关配置。通过Window->Preferences…菜单翻开配置对话框。说明:每设置一项要点“Apply〞按钮,保存所做的更改。 〔1〕 在General下找到workspace,将字符编码方式〔Text file encoding〕设置为Other utf-8。如图1-1所示。 图1-1 设置工作区字符编码方式 〔2〕 设置常用文件的字符编码方式 找到“MyEclipse Enterprise workbench〞->Files and Editors,将其下的常见文件字符编码方式统一设置为utf-8,如图1-2所示。 图1-2 设置常见文件字符编码方式 〔3〕 设置常用Web效劳器 找到“MyEclipse Enterprise workbench〞->Servers,找到Tomcat->Tomcat6.x,将其设置为启用,并指定Tomcat安装目录,点“OK〞按钮保存设置即可。 4、安装MySQL 下载MySQL的安装文件,一路Next安装即可,并按下列图进展设置,如图1-3至1-10所示。 图1-3 选择详细配置 图1-4 选择开发模式 图1-5 选择多用途数据库 图1-6 选择决策支持 图1-7 设置MySQL的访问端口,并添加防火墙例外 图1-8 设置MySQL字符编码方式,以处理中文 图1-9 将MySQL设置为Windows效劳 图1-10 设置MySQL访问密码,并可以远程访问 说明:以上设置是针对实验开发环境下的设置,假设为实际应用,可根据需要进展相应的设置。 2 JSP程序开发步骤 1、开发步骤 翻开MyEclipse开发环境,选择File->New->Web Project,或在Package Explorer中右击选择New->Web Project,在翻开的对话框中,输入项目名Demo,并选定Java EE 5.0规支持,点击Finish。如图1-11所示。 图1-11 MyEclipse新建Web项目 〔1〕 第一个JSP页面 右单击Demo项目的WebRoot目录,New->JSP新建JSP页面。如图1-12所示。 图1-12 新建JSP页面 图1-13 设置JSP模板和文件名 输入文件名HelloWorld.jsp,并选择“Default JSP template〞,点击确定。 在页面的<body>标签中,输入以下代码: <% out.println("<h1>Hello World!</h1>"); %> 并保存。 〔2〕 部署Demo 点击部署按钮,选择Demo项目,点“Add〞按钮,在弹出的窗口中,选择Tomcat6.x效劳器,点Finish。 〔3〕 运行Demo项目 按按钮启动Tomcat效劳器,在IE或其他浏览器的地址栏中输入:localhost:8080/Demo/HelloWorld.jsp,出现如下界面。 注意:如果机房没有安装myeclipse可以安装jcreator编写jsp程序 例如: test.jsp <% page contentType="text/html;charset=GB2312" %> <HTML> <BODY BGCOLOR=cyan> <FONT Size=1> <P>这是一个简单的JSP页面 <% int i, sum=0; for(i=1;i<=100;i++) { sum=sum+i; } %> <P> 1到100的连续和是: <BR> <%=sum %> </FONT> </BODY> <HTML> 在浏览器中输入localhost:8080/test.jsp 如果页面出现 5050,那么说明tomcat工作正常 说明: 实验二 Jsp根底〔1〕 一、实验目的 掌握JSP根本编程方法,了解JSP页面的根本结构、变量和方法、类的申明、程序片、表达式等。能够使用JSP完成简单的程序设计,编写出可以正确运行的JSP页面。 二、实验容 1.使用变量和方法申明编写一个简单的页面计数器,用户每刷新一次浏览器,计数器的值自加1。 2.使用类申明编写一个求圆面积和周长的页面,用户在前台文本框中输入半径值,通过点击按钮求得圆面积和周长。 3.利用程序片求1到100的连续和。 三、实验容及步骤 1. 页面计数器程序的编写: 在ROOT文件夹中新建一名为jishuqi.jsp的文件,并写入代码: <%page contentType="text/html;charset=gbk" %> <%! int number=0; synchronized void countPeople() //synchronized同步 {number++;} %> <% countPeople(); %> 你是第<%=number%>个访问本站的用户! 运行结果:通过点击刷新按钮,计数器自动加1: 2. 圆类的编写,页面yuan.jsp: <%page contentType="text/html;charset=gbk" %> <p>请输入圆的半径:</p> <form id="form1" name="form1" method="post" action=""> <label> <input name="r" type="text" id="r" /> </label> <label> <input type="submit" name="Submit" value="送出" /> </label> </form> <%! public class Circle { double r; Circle(double r) { this.r=r; } double area() { return Math.PI*r*r; } double zhouchang() { return Math.PI*2*r; } } %> <% String str=request.getParameter("r"); double r; if(str!=null) { r=Double.parseDouble(str); } else {r=1;} Circle circle=new Circle(r); //创立对象 %> <p> 圆的面积是: <%=circle.area()%> <p> 圆的周长是: <%=circle.zhouchang()%> 3. 1-100连续和程序片的编写: <%page contentType="text/html;charset=gbk" %> <%! long continueSum(int n) { int sum=0; for(int i=1;i<=n;i++) { sum=sum+i; } return sum; } %> <p>1到100的连续和: <% long sum; sum=continueSum(100); out.print(""+sum); %> 实验结果:1到100的连续和: 5050 实验三Jsp根底〔2〕 一、实验目的 1、掌握注释的使用方法; 2、掌握JSP指令的语法格式及用法; 二、实验要求 1、掌握变量的声明及使用 2、利用page指令设置contentType属性 3.利用 include指令在JSP页面中静态插入一个文件的容 三、实验容与步骤 “记事本〞编写一个txt文件hello.txt。hello.txt的每行有假设干个英文单词,单词之间用空格分隔,每行之间用“<BR>〞分隔,如下所示: Hello123.txt package apple void back public <BR> private throw class hello welcome 1. first.jsp的具体要求 first.jsp使用page指令设置contentType属性的值是"text/html",使用include指令静态插入hello.txt文件。 程序代码: <% page contentType="text/html; charset=GB2312"%> <% include file="hello.txt" %> <html> <head></head> <body> <p>上面的英语信息是从hello.txt文件中加载的!</p></body> </html> 调试结果: 2. second.jsp的具体要求,second.jsp使用page指令设置contentType属性的值是"application/vnd.ms-powerpoint",使用include指令静态插入hello.txt文件。 程序代码: <% page contentType="application/vnd.ms-powerpoint; charset=GB2312"%> <html> <head></head> <body> <jsp:include page="hello.txt"/> </body> </html> 调试结果: 3. third.jsp的具体要求,third.jsp使用page指令设置contentType属性的值是"application/msword",使用include指令静态插入hello.txt文件。 程序代码: <% page contentType="application/msword; charset=GB2312"%> <html> <head></head> <body> <jsp:include page="hello.txt"/> </body> </html> 调试结果: 实验四J S P 根底〔3〕 一、实验目的 掌握常用动作指令用法;。 二、实验要求 会利用使用forward实现页面的转向。 三、实验容与步骤 编写3个JSP页面:giveFileName.jsp、readFile.jsp和error.jsp。 1、giveFileName.jsp的具体要求 要求giveFileName.jsp页面使用include动作标记动态加载readFile.jsp页面,并将一个文件的名字比方ok.txt传递给被加载的readFile.jsp页面。 2、readFile.jsp的具体要求 要求readFile.jsp负责根据giveFileName.jsp页面传递过来的文件名字进展文件 的读取操作,如果该文件不存在就使用Forward动作标记将用户转向error.jsp页面。 3、error.jsp的具体要求负责显示错误信息。 giveFileName.jsp文件源代码: <% page contentType="text/html;charset=GB2312" %> <HTMLl> <BODY> 这是giveFileName.jsp页面 <jsp:include page="readFile.jsp"> <jsp:param name="file" value="D:\Tomcat 6.0\webapps\ROOT\ok.txt"/> </jsp:include> </BODY> </HTML> readFile.jsp文件源代码: <% page contentType="text/html; charset=GB2312"%> <% page import="java.io.*" %> <html> <head></head> <body> <% String s=request.getParameter("file"); File f=new File(s); if(f.exists()) { out.println("<br>文件"+s+"的容:"); FileReader in=new FileReader(f); BufferedReader bIn=new BufferedReader(in); String line=null; while((line=bIn.readLine())!=null) { out.println("<br>"+line); } } else { %> <jsp:forward page="error.jsp"/> <% } %> </body> </html> error.jsp文件源代码: <% page contentType="text/html; charset=GB2312"%> <html> <head></head> <body> <p><h1>你要读取的文件不存在!</h1></p> </body> </html> 调试结果: 当ok.txt文件存在时 当ok.txt文件找不到时 实验五 J S P 置对象〔1〕 一、实验目的 了解request对象、response对象和out对象的根本使用方法。 二、实验要求 1. 掌握request获取表单数据的方法。 2. 掌握response对象的页面跳转。 3. 掌握out对象的输出。 三、实验容与步骤 1.设计一个圆面积输出的网页,要求利用表单输入圆的半径。 程序代码: <% page contentType="text/html;charset=gb2312" %> <HTML> <BODY> <% //获得输入框中的容 String textContent=request.getParameter("girl"); double r=0,area=0,zhouchang=0; //强制将获得的字符串转换为Double类型 if(textContent!=null) { r=Double.parseDouble(textContent); if(r>=0) { area=Math.PI*r*r; zhouchang=Math.PI*r*2; } } %> <FORM action="" method=post name=form> 请输入半径!<br> <INPUT type="text" name="girl" value="<%=r%>"> <INPUT TYPE="submit" value="计算" name="submit"><p> 面积: <INPUT type="text" name="a" value="<%=area%>"> <br> 周长: <INPUT type="text" name="z" value="<%=zhouchang%>"> </FORM> </BODY> </HTML> 调试结果: 2. 设计一个用户登录的网页,判断用户名是“admin〞、密码是“1234”时,转向正确页面“ok.jsp〞,否那么转向错误页面〔err.jsp〕 程序代码: 登陆页面源代码 <% page contentType="text/html; charset=GB2312"%> <% page import="java.util.*" %> <html> <head></head> <body> <%! String user1="admin"; String password1="1234"; %> <% //获得输入的用户名和密码 String User=request.getParameter("user"); String Password=request.getParameter("password"); if(User==null&&Password==null) {} else { if(user1.equals(User) && password1.equals(Password)) { response.sendRedirect("ok.jsp"); } else { response.sendRedirect("err.jsp"); } } %> <FORM action="" method=post name=form> 用户名:<INPUT type="text" name="user" > <br> 密&nbsp 码:<INPUT type="text" name="password" > <p>&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp <INPUT TYPE="submit" value="登陆" name="submit" > </FORM> </body> </html> ok.jsp页面源代码 <% page contentType="text/html; charset=GB2312"%> <html> <head></head> <body> <p><h1>登陆成功!</h1></p> <br><h3>欢送admin的到来!</h3> </body> </html> err.jsp页面源代码 <% page contentType="text/html; charset=GB2312"%> <html> <head></head> <body> <p><h1>登陆失败!</h1></p> <br>你的用户名或密码不正确! </body> </html> 调试结果: 3. 设计一个会员注册的页面,根据用户输入的信息,利用程序输出该会员的信息到网页。 程序代码: <% page contentType="text/html; charset=GB2312"%> <html> <head></head> <body> <form id="form1" name="form1" method="post" action=""> <table width="300" border="0" align="center"> <tr> <td width="100">用户名:</td> <td width="200"> <input type="text" name="name" /></td> </tr> <tr> <td>密 码:</td> <td width="200"><input type="text" name="password" /></td> </tr> <tr> <td>确认密码:</td> <td width="200"><input type="text" name="password1" /></td> </tr> <tr> <td>手机:</td> <td width="200"><input type="text" name="phone" /></td> </tr> <tr> <td>:</td> <td width="200"><input type="text" name="email" /></td> </tr> <tr > <td width="300" align="center""> <input type="submit" value="注册" /></td> </tr> </table> <p>&nbsp;</p> <table width="300" border="0" align="center"> <tr> <td>显示注册信息:</td> </tr> <tr> <td height="158"> <% //获得输入的用户信息 String Name=request.getParameter("name"); String Password=request.getParameter("password"); String Password1=request.getParameter("password1"); String Phone=request.getParameter("phone"); String Email=request.getParameter("email"); if(Name==null&&Password==null&&Password1==null&&Phone==null&&Email==null) {out.println("请将用户信息填写完整!"); } else { out.println("用户名为:"+Name+"<br>"); out.println("密码为: "+Password+"<br>"); out.println("手机为: "+Phone+"<br>"); out.println("为: "+Email+"<br>"); } %> </td> </tr> </table> </form> </body> </html> 调试结果: 实验六J S P 置对象〔2〕 一、实验目的 了解session对象、applicaiton对象的根本使用方法。 二、实验要求 1. 掌握session对象的使用和编程。 2.掌握application对象的使用和编程。 三、实验容与步骤 1.利用session与application以及其它置对象,制作一个简易的聊天室程序或留言板程序 程序代码: Submit.jsp页面源代码,用于编辑聊天信息。 <% page contentType="text/html;charset=GB2312" %> <HTML><BODY> <FORM action="messagePane.jsp" method="post" name="form"> 输入您的名字:<BR><INPUT type="text" name="peopleName"> <BR>输入您的留言标题:<BR><INPUT type="text" name="Title"> <BR>输入您的留言:<BR> <TEXTAREA name="messages" ROWs="10" COLS=36 WRAP="physical"></TEXTAREA> <BR><INPUT type="submit" value="提交信息" name="submit"> </FORM> <FORM action="showMessage.jsp" method="post" name="form1"> <INPUT type="submit" value="查看留言板" name="look"> </FORM> </BODY></HTML> messagePane.jsp页面源代码,获取留言板填写的信息,再将这些信息保存到application对象当中,以便用于查看。 <% page contentType="text/html;Charset= gb2312" %> <% page import="java.util.*" %> <HTML><BODY> <%! Vector v=new Vector(); int i=0; ServletContext application; synchronized void sendMessage(String s) { application=getServletContext();; i++; v.add("No."+i+",<br>"+s); application.setAttribute("Mess",v); } %> <% String name=request.getParameter("peopleName"); String title=request.getParameter("Title"); String messages=request.getParameter("messages"); if(name==null) {name="guest"+(int)(Math.random()*10000); } if(title==null) {title="无标题"; } if(messages==null) {messages="无信息"; } String s=":"+name+"#"+"标题:"+title+"#"+"容:"+"<BR>"+messages; sendMessage(s); String info="您的信息已经提交!"; info=new String(info.getBytes("iso8859-1")); out.println(info); %> <A HREF="submit.jsp" >back </BODY></HTML> showMessage.jsp页面源代码,用于显示留言信息。 <% page contentType="text/html;charset=GB2312" %> <% page import="java.util.*" %> <HTML><BODY> <% Vector v=(Vector)application.getAttribute("Mess"); for(int i=0;i<v.size();i++) { String message=(String)v.elementAt(i); StringTokenizer fenxi=new StringTokenizer(message,"#"); while(fenxi.hasMoreTokens()) { String str=fenxi.nextToken(); byte a[]=str.getBytes("ISO-8859-1"); str=new String(a); out.print("<BR>"+str); } } %> </BODY></HTML> 调试结果: 实验七Java bean 〔1〕 一、实验目的 掌握JAVABEAN的编写方法及使用。 二、实验要求 1. 会编写bean。 2.会调用编好的bean。 三、实验容与步骤 1. 圆的javabean编写及调用 1. 编写一个JavaBean,名为Circle.java,该类有一个半径属性,名为radius,根据JavaBean的格式完成SET和GET方法,并写出计算圆面积和圆周长的方法; 2. 将该类编译后的.class文件存放于tomcat安装路径下的Tomcat5.0/webapps/root/web-inf/classes; 3. 编写一个useBean.jsp页面,在该页面中调用Circle.class,完成对半径的设置和读取,并计算面积和周长。 程序代码: Circle.java文件 package sd; import java.io.*; public class Circle { int radius; double area,length; public Circle() { } public int getRadius() { return radius; } public void setRadius(int newRadius) {radius=newRadius; } public double circleArea() {return Math.PI*radius*radius; } public double circlLength() {return 2.0*Math.PI*radius; } } useBean.jsp文件: <% page contentType="text/html;charset=GB2312" %> <% page import="sd.Circle"%> <HTML><BODY bgcolor=cyan><Fo
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服