1、JSP动态网页开发试验(训)指导书王振铎 编西安思源学院电子信息工程学院说 明 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
2、试验十一 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应用程序是运行在服务器上,所
3、以需要Web服务器支持,在此以Java 1.6 Update21、Tomcat、MySQL、MyEclipse6.5为例,安装配置JSP开发环境。1、安装JDK从Java企业官方网站()下载JDK,现在最新是Java SE6 Update22,我们采取JDK1.6 Update 21,只需要双击中下载到EXE文件,点下一步即可安装。JDK安装好后,需要配置Java环境变量,步骤以下:(1)我电脑-属性-高级选项卡-环境变量,打开“环境变量”对话框,在系统变量中新建以下环境变量:JAVA_HOME:表示Java SDK安装目录,其值为: D:Program FilesJavajdk1.6.0_2
4、1(依据自己实际安装位置进行调整)。CLASSPATH:表示Java要访问jar文件所在目录,其值为:%JAVA_HOME%lib;%JAVA_HOME%jrelib。并修改Path环境变量,在其中增加%JAVA_HOME%bin;%JAVA_HOME%jrebin;注意: 对于Path环境变量是添加,而不要删除原来内容,不然很多Windows功效不能使用;若有其它程序要用到自己Java环境变量,请将第步内容添加到Path环境变量最终,以免影响其它程序运行。 字母不区分大小写,大写字母是遵照Java环境变量配置习惯。(2)测试打开Windows命令行窗口(开始-运行,在弹出窗口中输入cmd回车
5、),输入javac然后回车,若能显示javac帮助信息,说明JDK安装成功,以下图所表示。2、安装Tomcat在Tomcat官方网站()上下载Tomcat,现在最新版本是7.x,但还没有Eclipse插件,所以不能集成到MyEclipse集成开发环境中,这里使用6.028这个版本。安装时只需要一路next即可,安装完成后,也不需要设置环境变量,只要在IE浏览器地址栏中输入:http:/localhost:8080回车,若能出现Tomcat界面说明安装成功,以下图所表示。3、安装MyEclipse只需要一路Next即可,关键是进行相关配置。经过Window-Preferences菜单打开配置对话
6、框。说明:每设置一项关键点“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,找到To
7、mcat-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、
8、开发步骤打开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”,点击确定。在页面标
9、签中,输入以下代码:% out.println(Hello World!); %并保留。(2) 布署Demo点击布署按钮,选择Demo项目,点“Add”按钮,在弹出窗口中,选择Tomcat6.x服务器,点Finish。(3) 运行Demo项目按按钮开启Tomcat服务器,在IE或其它浏览器地址栏中输入:http:/localhost:8080/Demo/HelloWorld.jsp,出现以下界面。注意:假如机房没有安装myeclipse能够安装jcreator编写jsp程序比如:test.jsp这是一个简单JSP页面 % int i, sum=0; for(i=1;i 1到100连续和是: 在
10、浏览器中输入http:/localhost:8080/test.jsp假如页面出现 5050,则说明tomcat工作正常说明:test.jsp保留在tomcat5.0/webapps/root目录下即可试验二 Jsp基础(1)一、试验目标掌握JSP基础编程方法,了解JSP页面基础结构、变量和方法、类申明、程序片、表示式等。能够使用JSP完成简单程序设计,编写出能够正确运行JSP页面。二、试验内容1使用变量和方法申明编写一个简单页面计数器,用户每刷新一次浏览器,计数器值自加1。2使用类申明编写一个求圆面积和周长页面,用户在前台文本框中输入半径值,经过点击按钮求得圆面积和周长。3利用程序片求1到1
11、00连续和。三、试验内容及步骤1. 页面计数器程序编写:在ROOT文件夹中新建一名为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指令
12、设置contentType属性3.利用 include指令在JSP页面中静态插入一个文件内容三、试验内容和步骤编写三个JSP 页面:first.jsp 、second.jsp和third.jsp。另外,要求用“记事本”编写一个txt文件hello.txt。hello.txt每行有若干个英文单词,单词之间用空格分隔,每行之间用“”分隔,以下所表示:Hello123.txtpackage apple void back publicprivate throw class hello welcome1.first.jsp具体要求first.jsp使用page指令设置contentType属性值是te
13、xt/html,使用include指令静态插入hello.txt文件。程序代码:上面英语信息是从hello.txt文件中加载!调试结果:2. 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
14、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页面传输过来文件名字进行文件读取操作,假如该文
15、件不存在就使用Forward动作标识将用户转向error.jsp页面。 3、error.jsp具体要求负责显示错误信息。giveFileName.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=n
16、ull;while(line=bIn.readLine()!=null)out.println(+line);else% error.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; zho
17、uchang=Math.PI*r*2; % 请输入半径! INPUT type=text name=girl value= 面积:INPUT type=text name=a value= 周长:INPUT type=text name=z value= 调试结果:2. 设计一个用户登录网页,判定用户名是“admin”、密码是“1234”时,转向正确页面“ok.jsp”,不然转向错误页面(err.jsp)程序代码:登陆页面源代码 用户名: 密  码:             ok.jsp页面源代码登陆成功!欢迎admin到来!err.js
18、p页面源代码登陆失败!你用户名或密码不正确!调试结果:3. 设计一个会员注册页面,依据用户输入信息,利用程序输出该会员信息到网页。程序代码: 用户名: 密 码: 确定密码: 手机: 邮箱: 显示注册信息: % /取得输入用户信息 String Name=request.getParameter(name); String Password=request.getParameter(password); String Password1=request.getParameter(password1); String Phone=request.getParameter(phone)
19、; String Email=request.getParameter(email); if(Name=null&Password=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对象、applicai
20、ton对象基础使用方法。二、试验要求1. 掌握session对象使用和编程。2掌握application对象使用和编程。三、试验内容和步骤1.利用session和application和其它内置对象,制作一个简易聊天室程序或留言板程序程序代码:Submit.jsp页面源代码,用于编辑聊天信息。 输入您名字: 输入您留言标题: 输入您留言: messagePane.jsp页面源代码,获取留言板填写信息,再将这些信息保留到application对象当中,方便用于查看。 %! Vector v=new Vector(); int i=0; ServletContext application; sy
21、nchronized void sendMessage(String s) application=getServletContext(); 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)(Ma
22、th.random()*10000); if(title=null) title=无标题; if(messages=null) 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.getAttrib
23、ute(Mess); for(int i=0;iv.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(+str); %调试结果: 试验七Java bean (1)一、试验目标掌握JAVABEAN编写方法
24、及使用。二、试验要求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文件packag
25、e 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/ht