java web程序设计教案Word格式文档下载.docx
《java web程序设计教案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java web程序设计教案Word格式文档下载.docx(45页珍藏版)》请在冰豆网上搜索。
//jakarta.apache.org/tomcat/index.html。
下载后双击安装程序采用默认安装目录及参数安装直至结束。
任务二输出系统的当前时间
程序实现
<
%@pagecontentType="
text/html;
charset=Gb2312"
import="
java.util.*"
%>
HTML>
BODY>
现在时间是:
%
out.print(newDate());
%>
/BODY>
/HTML>
相关知识
1.Tomcat的目录结构
2.建立自已的web目录
①在服务器上创建自已的目录:
创建一目录D:
\test\1。
②配置web目录:
用记事本打开..\Tomcat6.0\conf目录下的文件server.xml,在该文件末尾,有一标识符“<
/Host>
”,在该标识符前面添加以下语句:
Contextpath="
/1"
docBase="
d:
/test/1"
reloadable="
true"
>
/Context>
3.修改服务端口号
在默认情况下,Tomcat服务器的服务端口号是“8080”。
假设希望将服务器端口号8080改为8090。
使用记事本或其它文本编辑器打开server.xml文件,找到如下行:
Connectorport="
8080"
protocol="
HTTP/1.1"
connectionTimeout="
20000"
redirectPort="
8443"
/>
课堂实验:
Tomcat服务器的安装与配置
1.相关知识点
(1)安装的Tomcat版本为:
tomcat-6.0.13。
(2)执行Tomcat安装根目录中bin文件夹中的startup.bat或tomcat6.exe来启动Tomcat服务器。
(3)JSP页面文件保存到Tomcat服务器的某个Web服务目录中,以便远程的客户使用浏览器访问该Tomcat服务器上的JSP页面。
2.实验目的
本实验的目的是让学生掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP页面、怎样修改Tomcat服务器的端口号。
3.实验要求
(1)将下载的apache-tomcat-6.0.13.zip解压到硬盘某个分区,比如D。
(2)在硬盘分区D下新建一个目录,名字为:
student,将student设置为Web服务目录,并为该Web服务目录指定名字为friend的虚拟目录。
打开Tomcat安装目录中conf文件夹里的server.xml文件,找到出现<
的部分(server.xml文件尾部)。
然后在<
的前面加入:
/friend"
/student"
debug="
0"
(3)修改端口号为9999。
在server.xml文件中找到修改端口号部分,将端口号修改为9999。
(4)启动Tomcat服务器(如果已经启动,必须关闭Tomcat服务器,并重新启动)。
(5)用文本编辑器编写一个简单的JSP页面yes.jsp,并保存到Web服务目录student中。
(6)用浏览器访问Web服务目录student中的JSP页面yes.jsp。
4.JSP页面效果示例
yes.jsp运行效果
根据实验要求,您必须在浏览器的地址栏中输入:
Tomcat服务器的IP地址和端口号,并通过虚拟目录frirend访问Web服务目录student下的JSP页面。
如果浏览器和Tomcat服务器驻留在同一计算机上,IP地址可以是127.0.0.1。
如图1-1所示。
综合实训:
我们访问一些网站时,有的注册网站会出现问候语,问候语根据不同的时间显示不同的问好内容。
设计一个程序,根据系统时间段对用户输出“上午好!
”、“下午好!
”、“晚上好!
”这样的问候语。
参考答案:
Dated=newDate();
intt;
t=d.getHours();
if(t>
=6&
&
t<
=12)
out.print("
上午好!
"
);
12&
=18)
下午好!
18&
24||t>
=0&
t<
6)
晚上好!
拓展练习
1、编写一个简单的JSP程序,在屏幕上输出“我开始学JSP程序设计了!
”。
2、试编写一个JSP程序,输出表达式1+2+3+。
+300的和。
3、试编写一个JSP程序,输出50以内所有的素数。
课后记:
1、tomcat6.0环境变量配置
JAVA_HOME=C:
\ProgramFiles\Java\jdk1.6.0_10
path=%JAVA_HOME%\bin
CATALINA_HOME:
C:
\ProgramFiles\ApacheSoftwareFoundation\Tomcat6.0
classpath=.;
%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME%\lib\tools.jar;
%CATALINA_HOME%\lib\servlet-api.jar;
2、然后运行start.bat,即可启动服务器,键入127.0.0.1:
8080查看服务器
3、更改tomcat-users.xml,添加管理用户及权限
tomcat-users>
<
rolerolename="
manager-gui"
/>
userusername="
admin"
password="
roles="
/tomcat-users>
4
1.能利用HTML标记进行网页内容的格式控制,能把表单提交的数据接收并处理。
1.掌握常用的HTML标记及基本的CSS样式用法;
2.熟悉JSP脚本的表示;
3.掌握out、request内置对象的用法
1.JSP脚本的标示
2.Request内置对象的用法;
1.程序演示;
2.实践模仿;
3.项目案例法
1.依托项目介绍;
2.任务一设计输入个人信息的表单;
3.课堂练习
4.任务二获取个人信息表单数据并显示;
5.课堂练习
6.综合实训;
7.拓展练习
第2-3次课:
项目二表单数据处理
依托任务
在一个需要注册的网站中,必须定义一个表单,并在表单中输入个人的相关信息后提交给服务器,由服务器把接收的数据进行处理后再把结果发送给用户。
我们把整个从输入到服务器接收到数据并处理处理看作一个任务
任务一设计输入个人信息的表单
个人的信息包括:
姓名、性别、籍贯、年龄、爱好、备注信息。
输入的界面:
核心代码:
formid="
form1"
name="
method="
post"
action="
accept.jsp"
//表单定义
inputtype="
submit"
button"
value="
提交 "
相关知识:
1.常用的HTML标记
2.表格标记
3.表单标记
4.框架
5.CSS样式
课堂练习一:
1设计如图所示的表单,注意各组件的规范命名
任务二获取个人信息表单数据并显示
当客户输入信息后,我们如何收集信息,如何把信息反馈到用户。
request.setCharacterEncoding("
gb2312"
Stringxm=request.getParameter("
xm"
if(xm==null)
xm="
"
;
Stringxb=request.getParameter("
xb"
if(xb==null)
xb="
Stringjg=request.getParameter("
jg"
if(jg==null)
jg="
Stringah[]=request.getParameterValues("
ah"
Stringbz=request.getParameter("
bz"
if(bz==null)
bz="
out.println("
姓名:
+xm+"
br>
性别:
+xb+"
爱好:
Strings="
if(ah!
=null)
for(inti=0;
i<
ah.length;
i++)
s=s+ah[i]+"
/"
out.println(s+"
备注:
+bz);
JPS脚本元素、out内置对象、request内置对象
1.JSP脚本元素:
声明元素、脚本小程序元素、表达式元素
(1)JSP声明元素
①声明元素的基本语法格式
%!
declaration(s)%>
在<
标记内定义类成员变量、成员方法和内部类等,其作用为整个JSP页面。
②用声明元素声明类成员变量
例如:
intx1=100,a[]=newint[6];
staticdoublex2;
Stringstr=null;
③用声明元素声明成员方法
//定义adder()方法计算1+2+...+n
intadder(intn)
{
intsum=0;
for(inti=1;
=n;
sum=sum+i;
returnsum;
}
(2)脚本小程序
脚本小程序就是一段Java代码。
在JSP页面中声明脚本小程序的基本语法格式为:
%scriptlet%>
(3)表达式元素
表达式元素的基本功能是运行一条Java表达式,如果表达式有计算结果,则把结果显示在表达式位置上。
表达式元素的基本语法格式如下:
%=expression%>
案例见书40页
2.out内置对象
Out对象主要用来向客户端输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区,其基类是JspWriter。
Out对象的主要方法为:
①out.print(数据)或out.println(数据):
将数据输出到文档中。
②out.newLine():
输出一个换行符号。
③out.clearBuffer():
清除缓冲区里的数据,并且把数据写到客户端去。
④out.clear():
清除缓冲区里的数据,但不把数据写到客户端去。
⑤out.flush():
输出缓冲区里的数据。
out.flush()方法也会清除缓冲区中的数据,但是此方法会先将之前缓冲区中的数据输出至客户端,然后再清除缓冲区中的数据。
⑥out.close():
关闭输出流,从而可以强制终止当前页面的剩余部分向浏览器输出。
案例见书41页
3.Request内置对象
Request内置对象代表了客户端的请求信息,主要用于接受客户端通过HTTP协议传送给服务器端的数据。
在客户端的请求中如果有参数,则该对象就有一个参数列表。
它通常是HttpServletRequest的子类,其作用域就是一次Request请求。
Request对象包括很多方法,主要有:
①getAttribute(Stringname):
返回name指定的属性值,若不存在指定的属性,就返回null。
②getAttributeNames():
返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例。
③getHeaderNames():
返回所有requestheader的名字,结果集是一个Enumeration(枚举)类的实例。
④getHeaders(Stringname):
返回指定名字的requestheader的所有值,结果集是一个Enumeration(枚举)类的实例。
⑤getMethod():
返回客户端向服务器端传送数据的方法,一般方法有GET、POST、PUT等类型。
⑥getParameter(Stringname):
以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由name指定。
当传递给此方法的参数名没有实际参数与之对应时,返回null。
⑦getparameterNames():
返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例。
⑧getParameterValues(Stringname):
以字符串数组的形式返回指定参数所有值。
⑨getRequestURI():
获得发出请求字符串的客户端地址。
⑩getServletPath():
获得客户端所请求的脚本文件的文件路径。
setAttribute(Stringname,Java.lang.Objecto):
设定名字为name的request参数值,该值由Object类型的o指定。
getServerName():
获得服务器的名字,如果没有设定服务器名,则返回服务器IP地址。
setCharacterEncoding(Stringname):
定义返回客房信息的编码标准。
如果已经用response.setContentType()定义了字符集,则调用此方法将重新设置字符集。
setAttribute(Stringname,Objectobj):
把一个属性对象以指定的名字写入request作用范围中。
getCookies(
):
返回保存到客户端的cookie对象,返回值是一个cookie数组。
如无cookie返回,则返回null。
案例见书43页
课堂练习二:
1继续完成课堂练习一,完成各按钮的功能
综合实训
实训目的:
通过本实训内容使学生能较好第熟悉HTML标记的用法,掌握out、request对象的基本用法,并能编写一般的动态网页程序。
1.个人信息调查网页设计
实训情景设置:
设计一个个人信息调查网页,网页中需要输入的个人信息有姓名、年龄、学历、E-mail、爱好、性别、说明信息
2.输入个人信息和所喜欢的球队信息并显示
设计一个某足球网站用户信息调查的网页,用户需要提交自己的姓名、性别、所喜欢的球队等信息并在另一个网页中显示出来。
知识点:
1解决request乱码问题:
定义一个类,用来解决乱码格式
packagetest.filter;
importjava.io.UnsupportedEncodingException;
//stringstr:
iso8859-1格式的字符串
publicclassFilter{
publicstaticStringfilter(Stringstr,Stringbianma)
try{
returnnewString(str.getBytes("
ISO-8859-1"
),bianma);
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
returnnull;
}
publicstaticStringfilter(Stringstr)
returnfilter(str,"
utf-8"
}
2、获取复选框的值
String[]values=request.getParameterValues("
love"
for(inti=0;
values.length;
out.println(values[i]);
拓展练习:
1.设计如图所示形式的表单并完成按钮的功能。
2.设计一个用户信息注册网页,注册界面如下图所示,并完成按钮功能。
3.编写一个程序,统计访问该网页的人数。
4.编写一个网页,界面中输出几个单选题目,根据用户提交的答案输出选择正确题目的个数,网页界面的形式如下图:
第4-6次课:
项目三购物网站的设计
6
1.能使用Dreamweaver设计网页,能实现页面的跳转,能实现信息在网页间的共享。
1.掌握常用的HTML标记;
2.掌握JSP、include指令的用法;
3.掌握response、session、cookie、application等内置对象的用法。
1.JSP、include指令的用法
2.response、session、cookie、application等内置对象的用法;
2.任务一制作商品展示网页;
3.任务二记录选购商品信息;
4.课堂练习
5.任务三页面间的跳转实现
6.课堂练习
7.综合实训;
8.拓展练习
在网上购物网站中,有很多的商品陈列于一个网页中,而众多的商品又要由若干网页去展示,用户购物时常需从分布在不同网页中的众多商品中挑选出自己喜爱的商品,这就需要我们设计的网站具备记忆用户在不同网页选购了哪些商品的能力。
我们把购物网站的记忆功能当作一个任务
任务一制作商品展示网页
设计一个商品展示网页,网页的内容通常包含商品的图片、名称、单价等,如图。
分析:
制作如图的展示页面,可以借助dreamweaver工具。
任务二记录选购商品信息
我们要把选中的商品信息临时记录下来,并送到另外的网页中进行处理,可以借助request、session、cookie、application对象对信息进行存放。
也就是说商品信息记录的载体是不同种类的对象。
为使问题简化,我们可假定在bag.jsp中记录下了商品的名称与单价,而在total.jsp中显示用户已购商品信息并计算出总价格。
bag.jsp中的代码如下:
charset=gb2312"
body>
Strings="
Stringsp1="
电视机"
+"
3500"
//假设得到了购买的第一种商品信息
s=s+sp1;
Stringsp2="
洗衣机"
2800"
//假设得到了购买的第二种商品信息
s=s+sp2;
Stringsp3="
电动车"
1600"
s=s+sp3;
session.setAttribute("
thing"
s);
p>
已购买的商品如下:
/p>
tablewidth="
200"
border="
1"
tr>
td>
电视机<
/td>
2500<
/tr>
洗衣机<
2800<
电动车<
1600<
/table>
ahref="
total.jsp"
我要结算<
/a>
/body>
/html>
total.jsp文件中的代码如下:
html>
Strings=(String)session.getAttribute("
floattotal=0;
StringTokenizerfenxi=newStringTokenizer(s,"
"
//用字符串分析器分解出子字符串
while(fenxi.hasMoreTokens())
Stringstr1=fenxi.nextToken();
out.print(str1+"
Stringstr2=fenxi.nextToken();
out.print(str2+"
total=total+Float.parseFloat(str2);
}
out.print("
商品的总价格是"
+total);
1.session对象
session是一种服务器个别处理与记录用户端上网使用者信息的技术。
session用来保存每个用户信息,跟踪每个用户的操作状态。
session对象从使用者进入系统后由系统自动创建,当注销退出系统时session对象自动销毁。
我们把session对象从创建到销毁所经历的时间,称为一个session通信周期。
session对象的常用方法为:
获得指定名字的属性,如果该属性不存在,将会返回null。
返回session对象中存储的每个属性对象,