1、 . JSP动态网页开发实验训指导书王振铎编思源学院电子信息工程学院94 / 97说 明 JSP动态网页开发实训指导书是与JSP动态网页开发理论教学相配套的实训教材,培养学生在动态网页程序开发方面的技能,使学生具备解决实际问题的能力。实验教学容可以根据教学具体情况进展合理调整。目录实验一 JSP开发环境配置与测试1实验二 Jsp根底111实验三Jsp根底215实验四J S P 根底319实验五 J S P 置对象122实验六J S P 置对象229实验七Java bean 133实验八 JSP 中的文件操作39实验九Java bean 246实验十 jsp 操作xml文件48实验十一 java
2、 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
3、效劳器的支持,在此以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的安装目录,其值为:
4、 D:Program FilesJavajdk_21根据自己的实际安装位置进展调整。CLASSPATH:表示Java要访问的jar文件所在的目录,其值为:%JAVA_HOME%lib;%JAVA_HOME%jrelib。并修改Path环境变量,在其中增加%JAVA_HOME%bin;%JAVA_HOME%jrebin;注意: 对于Path环境变量是添加,而不要删除原来的容,否那么很多Windows功能不能使用;假设有其他程序要用到自己的Java环境变量,请将第步的容添加到Path环境变量的最后,以免影响其他程序的运行。 字母不区分大小写,大写字母是遵照Java环境变量配置习惯。2测试翻开Win
5、dows的命令行窗口开场-运行,在弹出的窗口中输入cmd回车,输入javac然后回车,假设能显示javac的帮助信息,说明JDK安装成功,如下列图所示。2、安装Tomcat在Tomcat官方上下载Tomcat,现在最新版本是7.x,但还没有Eclipse插件,因此不能集成到MyEclipse集成开发环境中,这里使用6.028这个版本。安装时只需要一路next即可,安装完成后,也不需要设置环境变量,只要在IE浏览器地址栏中输入:localhost:8080回车,假设能出现Tomcat界面说明安装成功,如下列图所示。3、安装MyEclipse只需要一路Next即可,主要是进展相关配置。通过Wind
6、ow-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
7、-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访问密码,并可以远程访问说明:以上设置是针对实验开发环境下的设置,假设为实际应用,可根据需要进展相
8、应的设置。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 tem
9、plate,点击确定。在页面的标签中,输入以下代码:% out.println(Hello World!); %并保存。2 部署Demo点击部署按钮,选择Demo项目,点“Add按钮,在弹出的窗口中,选择Tomcat6.x效劳器,点Finish。3 运行Demo项目按按钮启动Tomcat效劳器,在IE或其他浏览器的地址栏中输入:localhost:8080/Demo/HelloWorld.jsp,出现如下界面。注意:如果机房没有安装myeclipse可以安装jcreator编写jsp程序例如:test.jsp这是一个简单的JSP页面 % int i, sum=0;for(i=1;i 1到100
10、的连续和是: 在浏览器中输入localhost:8080/test.jsp如果页面出现 5050,那么说明tomcat工作正常说明:实验二 Jsp根底1一、实验目的掌握JSP根本编程方法,了解JSP页面的根本结构、变量和方法、类的申明、程序片、表达式等。能够使用JSP完成简单的程序设计,编写出可以正确运行的JSP页面。二、实验容1使用变量和方法申明编写一个简单的页面计数器,用户每刷新一次浏览器,计数器的值自加1。2使用类申明编写一个求圆面积和周长的页面,用户在前台文本框中输入半径值,通过点击按钮求得圆面积和周长。3利用程序片求1到100的连续和。三、实验容及步骤1. 页面计数器程序的编写:在R
11、OOT文件夹中新建一名为jishuqi.jsp的文件,并写入代码:你是第个访问本站的用户!运行结果:通过点击刷新按钮,计数器自动加1:2. 圆类的编写,页面yuan.jsp:请输入圆的半径: 圆的面积是:圆的周长是:3. 1-100连续和程序片的编写:%!long continueSum(int n)int sum=0;for(int i=1;i1到100的连续和:实验结果:1到100的连续和: 5050 实验三Jsp根底2一、实验目的1、掌握注释的使用方法;2、掌握JSP指令的语法格式及用法;二、实验要求1、掌握变量的声明及使用2、利用page指令设置contentType属性3.利用 in
12、clude指令在JSP页面中静态插入一个文件的容三、实验容与步骤“记事本编写一个txt文件hello.txt。hello.txt的每行有假设干个英文单词,单词之间用空格分隔,每行之间用“分隔,如下所示:Hello123.txtpackage apple void back publicprivate throw class hello welcome1.first.jsp的具体要求first.jsp使用page指令设置contentType属性的值是text/html,使用include指令静态插入hello.txt文件。程序代码:上面的英语信息是从hello.txt文件中加载的!调试结果:2
13、. second.jsp的具体要求,second.jsp使用page指令设置contentType属性的值是application/vnd.ms-powerpoint,使用include指令静态插入hello.txt文件。程序代码:调试结果:3. third.jsp的具体要求,third.jsp使用page指令设置contentType属性的值是application/msword,使用include指令静态插入hello.txt文件。程序代码:调试结果:实验四J S P 根底3一、实验目的掌握常用动作指令用法;。二、实验要求会利用使用forward实现页面的转向。三、实验容与步骤编写3个JS
14、P页面: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的具体要求负责显示错误信息。give
15、FileName.jsp文件源代码:这是giveFileName.jsp页面readFile.jsp文件源代码:%String s=request.getParameter(file); File f=new File(s);if(f.exists()out.println(文件+s+的容:);FileReader in=new FileReader(f);BufferedReader bIn=new BufferedReader(in);String line=null;while(line=bIn.readLine()!=null)out.println(+line);else% erro
16、r.jsp文件源代码:你要读取的文件不存在!调试结果:当ok.txt文件存在时当ok.txt文件找不到时实验五 J S P 置对象1一、实验目的了解request对象、response对象和out对象的根本使用方法。二、实验要求1. 掌握request获取表单数据的方法。2. 掌握response对象的页面跳转。3. 掌握out对象的输出。三、实验容与步骤1.设计一个圆面积输出的网页,要求利用表单输入圆的半径。程序代码: =0) area=Math.PI*r*r;zhouchang=Math.PI*r*2; % 请输入半径! INPUT type=text name=girl value= 面
17、积:INPUT type=text name=a value= 周长:INPUT type=text name=z value= 调试结果:2. 设计一个用户登录的网页,判断用户名是“admin、密码是“1234”时,转向正确页面“ok.jsp,否那么转向错误页面err.jsp程序代码:登陆页面源代码 用户名: 密  码:             ok.jsp页面源代码登陆成功!欢送admin的到来!err.jsp页面源代码登陆失败!你的用户名或密码不正确!调试结果:3. 设计一个会员注册的页面,根据用户输入的信息,利用程序输出该会员的信
18、息到网页。程序代码: 用户名: 密 码: 确认密码: 手机: : 显示注册信息: % /获得输入的用户信息 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&Pass
19、word=null&Password1=null&Phone=null&Email=null) out.println(请将用户信息填写完整!); else out.println(用户名为:+Name+); out.println(密码为: +Password+); out.println(手机为: +Phone+); out.println(为: +Email+); % 调试结果:实验六J S P 置对象2一、实验目的了解session对象、applicaiton对象的根本使用方法。二、实验要求1. 掌握session对象的使用和编程。2掌握application对象的使用和编程。三、实验
20、容与步骤1.利用session与application以及其它置对象,制作一个简易的聊天室程序或留言板程序程序代码:Submit.jsp页面源代码,用于编辑聊天信息。 输入您的名字: 输入您的留言标题: 输入您的留言: messagePane.jsp页面源代码,获取留言板填写的信息,再将这些信息保存到application对象当中,以便用于查看。 %! Vector v=new Vector(); int i=0; ServletContext application; synchronized void sendMessage(String s) application=getServlet
21、Context(); i+; v.add(No.+i+,+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=nu
22、ll) messages=无信息; String s=:+name+#+标题:+title+#+容:+messages; sendMessage(s); String info=您的信息已经提交!; info=new String(info.getBytes(iso8859-1); out.println(info); % backshowMessage.jsp页面源代码,用于显示留言信息。 % Vector v=(Vector)application.getAttribute(Mess); for(int i=0;iv.size();i+) String message=(String)v.
23、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(+str); %调试结果:实验七Java bean 1一、实验目的掌握JAVABEAN的编写方法及使用。二、实验要求1. 会编写bean。2会调用编好的bean。三、实验容与步骤1. 圆的javabean编写及调用1 编写一个
24、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文件: Fo