JSP应用1
- 格式:ppt
- 大小:135.00 KB
- 文档页数:20
实训4 JSP内置对象
实验目的:了解JSP内置对象,及其使用方法
掌握使用JSP的request对象处理页面提交信息的基本方法
实验内容:
实验一:利用request对象获取表单提交信息
制作一个用户信息提交页面,如下所示:
注意内容:
要解决其中的多项选择“爱好”这一项的信息获取,需要采用到数组,使用方法如下:String 数组1[]=request.getParameterValues("输入框名");
提交的信息便存储进入数组1中,输出时候使用循环即可。
用户填写完成后完成,提交到另一个页面,将用户信息显示出来,如下示:
要求:1.页面提交的用户姓名为中文,不能出现乱码
2.表单中的多项选择内容要求正确显示
实训项目二:request对象
在前面实验的基础上,编写程序实现,若用户提交的用户名和密码为空的时候,提示有关错误信息,并跳转回用户信息填写页面,若信息不为空,则跳转到欢迎页面,显示XX用户,欢迎您。
实验步骤:
建立工程—编写程序—编译程序—调试、运行程序。
(可以参考“实验一“中任意一种方法来进行)
实验小结:。
北京邮电大学信息网络应用基础实验报告课题:静态HTML网页制作学院:电子工程学院班级: 2012211204学号: 2012210909姓名:夏兴成日期: 2014年11月20日一、实验主题a)设计主题兰博基尼的标志是一头充满力量、正向对方攻击的斗牛,与大马力高性能跑车的特性相契合,同时彰显了创始人斗牛般不甘示弱的个性。
Aventador是兰博基尼于2011年日内瓦车展推出的一款车型,以代替兰博基尼上一代产品Murcielago。
车身尺寸方面,Aventador长宽高分别为4780/2030/1136mm,轴距为2700mm。
轮胎规格上,前轮为255/35 R19,后轮为335/30 R20。
该车重量为1575kg,前后43:57的配重比。
制动系统上,前轮为6活塞卡钳搭配400*38mm的碳纤维增强陶瓷刹车片,后轮则为4活塞卡钳搭配380*38mm碳纤维增强陶瓷刹车片。
动力方面,一款6.5L V12自然吸气发动机将装备在兰博基尼的新车上,最大功率700马力,扭矩峰值达到690N·m。
在兰博基尼研发的ISR七速变速箱,以及瑞典Haldex AWD全驱系统的作用下,百公里加速时间仅为2.9秒,极速可达350km/h。
与该发动机相匹配的是一款Graziano ISR 7速自动变速箱(单离合器)。
这款超跑车采用的是全碳纤维的单体硬壳式构造,全碳纤维驾驶座舱的重量仅为147.5公斤(324.5磅),同时整个白车身的重量为229.5公斤(505磅)。
这一车身结构使得其扭转刚度可达35000牛米。
b)设计功能与运行流程i.一共有2个分页面,1个主页。
ii.主页仿照online shopping的style进行设计,分为页面引导、商品介绍、商品描述、产品概述、以及最近浏览历史等模块。
iii.将所有真实网页应该具有的功能都设置了超链接,以期待下次实验的完善。
c)HTML技术运用i.多媒体(图像,声音)含有大量图像,包括主页头、导航等都为兰博基尼官网图片。
软件工程系《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入门教程(1)你需要Java2软件开发工具箱(J2SDK),过去称之为Java开发工具箱(JDK)、JavaSe rver 网络开发工具箱(JSWDK)、Tomcat,或者其它能支持JSP的Web服务器。
升阳公司为Windows、Solaris以及Linux平台提供免费的J2SDK和JSWDK。
如果你想在现有的Web服务器上使用JSP,而此服务器本身不支持JSP和Java 代码片段,可以试用Allaire公司的Jrun。
它可以为Netscape的Enterprise Server和Fasttrack Se rver、微软的Internet Information Server(IIS)和Personal Web Server(PWS)、Apache以及其他服务器充当Web服务器附件。
你也可以使用Apache服务器的Java版,其中包含最新的JSWDK。
下载并安装所需的软件目前,版本号为1.2.2-001的J2SDK可下载版以可安装的归档文件形式出现。
这个大约20 MB的下载量软件可提供一个彻底的Java开发环境,让你创造任何基于Java并且利用了而标准核心API的解决方案。
其实,你的Web服务器使用JSP的唯一条件是要有Java编辑器。
要让Web服务器知道编辑器的位置,需要JAVA_HOME 环境变量设置为J2SDK安装目录。
如果你已经在Windows系统中进行了安装并且接受了默认目录,请将“set JAVA _HOME=C:1.2.2”添加到你的“autoexec.bat”文件中,然后重新启动。
安装J2SDK后,下载并安装JSWDK或者是Tomcat β版,即基于Java的Apache Web 服务器的β版。
你把JSWDK放在什么地方是无关紧要的,只要你以后能找到它就行。
通常,将其放在顶层目录中,这样你在替换JSWDK或JSDK时无需删除另一个软件。
安装好这个文件后,准备工作已经就绪,你可以开始JSP开发工作了。
JSP编程技术习题集及实训附答案第一章JSP技术基础习题一、选择题1.当用户请求jp页面时,JSP引擎就会执行该页面的字节码文件响应客户的请求,执行字节码文件的结果是A)发送一个JSP源文件到客户端B)发送一个Java文件到客户端C)发送一个HTML页面到客户端D)什么都不做。
3.下列动态网页和静态网页的根本区别描述错误的是。
A)静态网页服务器端返回的HTML文件是事先存储好的B)动态网页服务器端返回的HTML文件是程序生成的。
C)静态网页文件里只有HTML 标记,没有程序代码。
D)动态网页中只有程序,不能有HTML代码。
4.不是JSP运行必须的是A)操作系统B)JavaJDKC)支持Jp的Web服务器D)数据库7.Tomcat服务器的默认端口号是:A)80B)8080C)21D)2121第三章JSP语法基础一、选择题1.JSP的编译指令标记通常是指:A)Page指令、Include指令和Taglib指令B)Page指令、Include 指令和Plugin指令C)Forward指令、Include指令和Taglib指令D)Page指令、Param指令和Taglib指令2.可以在以下哪个()标记之间插入Java程序片?A)B)C)和%>D)3.下列哪一项不属于JSP动作指令标记?A)B)C)D)4.JSP的Page编译指令的属性Language的默认值是:A)JavaB)CC)C#D)SQLA)Include指令B)Taglib指令C)Include指令D)Plugin指令6.可以在以下哪个()标记之间插入变量与方法声明?A)B)C)和%>D)7.能够替代A)<B)>C)<D)8.A)B)C)D)]-->10.下列变量声明在()范围内有效。
(C)。
A)从定义开始处有效,客户之间不共享B)在整个页面内有效,客户之间不共享C)在整个页面内有效,被多个客户共享D)从定义开始处有效,被多个客户共享12.在“”标记之间放置(),可以直接输出其值。
JSP 的model1和model2随着sun公司推出的servlet和JSP技术,为了更好的指导web开发人员进行java WEB的开发,就提出了两种架构模式,即JSP Model1和JSP Model2,那么它们有什么区别呢?JSP Model1模式.它应用了java WEB开发当中的两种技术,一是JSP,二是javabean技术。
其中JSP完成逻辑上的处理和显示,javabean做辅助。
JSP需要完成接受用户的请求,和响应给用户数据,同时还完成流程的控制处理。
而javabean做辅助,如把数据库查询出来的数据做保存,我们就可以通过这个javabean来取得相应数据了。
JSP Model架构图JSP Model的优点:由于它的结构很简单,开发人员很容易上手,适合开发一些小型的java WEB应用。
但有优点就有缺点。
JSP Model1的缺点其实是它的优点所造成的,JSP Model1由于它是把显示代码和逻辑处理代码都放在JSP页面当中,如果开发大型的java WEB应用的话,就显得力不从心了,想想一个大型的java WEB应用里面有多少要显示的代码和多少处理逻辑的代码。
这样一来既不便于开发人员的维护,也不便于美工人员的修改,这些代码那不都成垃圾代码了!那么怎么办呢?基于这种情况,sun公司又推出了一种架构模式,即JSP Model2模式。
如图所示,这个模式是结合了servlet,JSP,javabean的优点推出的一种模式。
这个模式分为三部分 servlet,JSP,javabean。
servlet做的事情是控制到底最后显示哪个JSP页面给用户、JSP做的就是响应用户请求,把结果数据展现给用户、而javabean做的就不单单是对数据库的数据的存取了,这里复杂的业务功能和逻辑处理都交给了它处理。
从它们的设计结构就可以看出JSP Model2的优点。
由于它们在设计上很好的分工,也就是做显示的是JSP,做逻辑处理的是javabean,做控制的是servlet。
第二章2—2编写一个JSP页面,输出九九乘法表。
程序代码:<%@ page language="java" contentType="text/html;charset=gb2312"%><html ><head><title>九九乘法表</title></head><body><script language="javascript">for (j=1;j<=9;j++){for (i=1;i<=j;i++){document.write(i+"*"+j+"="+i*j+" ")if (i==2 && j<=4){document.write(" ")}}document.write("<br>")}</script></body></html>运行调试结果:2—3编写一个JavaScript程序,弹出一个询问生日的对话框,计算出用户的星座并显示在浏览器的状态栏上。
程序代码:<%@ page language="java" contentType="text/html; charset=gb2312"%><html><head><title>计算星座</title>计算你是哪个星座:</head><script language="javascript">function right(){var im=document.getElementById("month").value;var ida=document.getElementById("date").value;var m=parseInt(im);var d=parseInt(ida);if(m>0&&m<=12 ){switch(m){case 1:{if(d>0&&d<20) {alert("你的星座是摩羯座!");break;}else if(d>=20&&d<=31) {alert("你的星座是水瓶座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}case 2:{if(d>0&&d<19){alert("你的星座是水瓶座!");break;}else if(d>=19&&d<=29){alert("你的星座是双鱼座!");break;}else{//大于一个月天数的情况alert("你输入的日期错误,请重新填写!");break;}}case 3:{if(d>0&&d<=20){alert("你的星座是双鱼座!");break;}else if(d>20&&d<=31) {alert("你的星座是白羊座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}case 4:{if(d>0&&d<20){alert("你的星座是白羊座!");break;}else if(d>=20&&d<=30) {alert("你的星座是金牛座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}case 5:{if(d>0&&d<21) {alert("你的星座是金牛座!");break;}else if(d>=21&&d<=31) {alert("你的星座是双子座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}case 6 :{if(d>0&&d<=21) {alert("你的星座是双子座!");break;}else if(d>21&&d<=30) {alert("你的星座是巨蟹座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}case 7:{if(d>0&&d<=22) {alert("你的星座是巨蟹座!");break;}else if(d>22&&d<=31) {alert("你的星座是狮子座!");break;}else{//大于一个月天数的情况alert("你输入的日期错误,请重新填写!");break;}}case 8:{if(d>0&&d<=22) {alert("你的星座是狮子座!");break;}else if (d>22&&d<=31){alert("你的星座是处女座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}case 9:{if(d>0&&d<23) {alert("你的星座是处女座!");break;}else if(d>=23&&d<=30) {alert("你的星座是天秤座!");break;}else{//大于一个月天数的情况alert("你输入的日期错误,请重新填写!");break;}}case 10:{if(d>0&&d<=23) {alert("你的星座是天秤座!");break;}else if(d>23&&d<=31) {alert("你的星座是天蝎座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}case 11:{if(d>0&&d<=22) {alert("你的星座是天蝎座!");break;}else if(d>22&&d<=30) {alert("你的星座是射手座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}case 12:{if(d>0&&d<=21){alert("你的星座是射手座!");break;}else if(d>21&&d<=31){alert("你的星座是摩羯座!");break;}else{alert("你输入的日期错误,请重新填写!");break;}}}}else{alert("系统友情提示:请输入正确的月份和天数!");}}function bmethon(b){month.value="";day.value="";}</script><body><br><br>请输入你的出生日期(阳历为准):<br><input type="text" id="month" size="3" name="month"/ >月<input type="text" id="date" size="3" name="day"/>日<input type="button" value="确定" onclick="right()"/><input type="button" value="重置" onclick="bmethon()"/></body></html>运行调试结果:2—4编写一个JavaScript程序,在JSP页面上输出当前日期。
BSP 电子客票操作指令 电子客票操作指令一、 票证信息查询指令>TOL:二、电子客票打票 >ETDZ:打票机号 >ETDZ:打票机号/旅客编号或编号范围 (注意:国际电子客票的出票操作,对航段和旅客人数是有限制的) BSP 国际电子客票 ETDZ:时最多允许一次打印 6 个人,对航段要求如下: 1 个人或 2 个人 16 个航段 3 个人 7 个航段 4 个人 6 个航段 5 个人 2 个航段 6 个人 1 个航段 三、电子客票记录提取 >DETR:CN/记录编号 >DETR:NI/身份信息 >DETR:NM/旅客姓名 >DETR : CC/ 航 班 起 飞 时 间 ( 日 月 年 ) / 银 行 代 码 / 卡 号 / 旅 客 姓 / 旅 客 名 , AIR/航空公司二字代码(仅适用于国际电子客票) 四、出票重试 五、作废>ETRY: >VT:打票机号/票号/代理人记录编号六、电子客票退票 国内电子客票退票步骤: 国内电子客票退票步骤: 1、客票状态查看 >DETR: (必须为 OPEN FOR USE 状态) 2、指定航段退票 >TRFD:A/#/D 在 ET(Y/N)后面横线上输入“Y” ,用“E”保存退出) 国际电子客票退票步骤: 国际电子客票退票步骤: 1、客票状态查看 >DETR: (必须为 OPEN FOR USE 状态) 2、指定航段退票 >TRFD:A/#/I 在 ET(Y/N)后面横线上输入“Y” ,用“E”保存退出) 3、用 ETRF 指令修改客票状态 >ETRF:航段序号/票号/PRNT/打票机号 七、修改退票单 1、删除错误的 TRFD 表格 2、修改客票状态 >ETRF:航段序号/票号/PRNT/打票机号/OPEN 3、重新建立正确退票单八、销售日报查询指令 >TSL:打票机号>TPR:打票机号/日期九、输入票号范围指令( 输入票号范围指令(TN) TN)举例: 举例: >TN:2X/2211235600-35699 (注意:1 次最多只能输入 500 张票号) 十、卸票指令( 卸票指令(TN) TN)举例: 举例: >TN:2D (2 为打票机号) 十一、 十一、改期操作 记录存在时: 记录存在时: 1、提取电子客票旅客记录(PNR) 2、取消原航班,建立新航班 3、输入 SSR TKNE 项 4、封口后,用 DETR 指令提出票面内容进行检查 5、检查没有问题,重新给客人打印行程单发票 记录不存在时, 记录不存在时,需要重新预定 PNR 并加入 SSR TKNE 项和 TK:T/票号项 SSR TKNE 格式 举例: SSR TKNE 承运人 HK1 航段 航班号 舱位日期 13 位票号/航段序号/P# 十二、 十二、电子客票挂起( 电子客票挂起(适用于国内) 适用于国内) 1.散客的挂起与解挂 TSS:TN/票号/S (使用票号将电子客票挂起) TSS:TN/票号/B (使用票号将电子客票解挂) 2.团队的挂起与解挂 TSS:CN/记录编号/出票日期/S (将 PNR 里的所有票的航段挂起) TSS:CN/记录编号/出票日期/B (将 PNR 里的所有票的航段解挂) 出票日期按照 DDMMMYY 的格式输入(例如:16MAR06)。
对于任何一个互动性较强的网站,我们都需要一个用户的参与,同时也就需要提供用户注册功能,在这里简单用jsp实现一个注册功能的小程序,采用的是mysql数据库,数据库名为test,表名users。
其users表中的字段分别为name,password,那么设置为主键,建表不做详细介绍了,傻瓜式操作。
这里我们需要建立两个页面,第一个reg.html注册页面,regaction.jsp逻辑操作页面。
下面是程序代码:Reg.html(完全是一个展示页面,很简单)<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>reg.html</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="this is my page"><meta http-equiv="content-type"content="text/html; charset=UTF-8"><!--<link rel="" type="text/css" href="">--></head><body><form action="regaction.jsp" method="post"><table width="400"align="center"border="1"cellpadding="0" cellspacing="0"><tr><td colspan="2"align="center">用户注册</td></tr><tr><td>name:</td><td><input type="text" name="username"/></td></tr><tr><td>password:</td><td><input type="text" name="password"/></td></tr><tr><td colspan="2"align="center"><input type="submit"value="注册"/></td></tr></table></form></body></body></html>这里提供了两个文本框,用来取得用户注册信息。
1. 创建一个名为input.jsp的Jsp页面,其中包括一个表单,表单中包含两个文本域,分别供用户输入学号和姓名,该页面也包含提交和取消按钮。
input.jsp<%@ page contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><title>登录页面</title></head><body><form action="login.do" method="post"><table><tr><td>学号:</td><td><input type="text" name="sno"/></td></tr><tr><td>姓名:</td><td><input type="text" name="name"/></td></tr><tr><td><input type="submit" value="登录"/></td><td><input type="reset" value="取消"/></td></tr></table></form></body></html>2. 定义一个名为Student类,保存在shiyan1包中,其中包括学号sno和姓名name 两个private的成员变量,定义访问和修改sno和name的方法。