第一篇:《JSP网站》实践报告模版
《JSP网站》实践报告
专业:信息与计算科学
班级:信息
姓名:牟林
指导教师:
**网页开发(就业信息网)0802
200X年XX月----
摘要
在Internet飞速发展的今天,互联网已成为人们快速获取、发布和传递信息的重要渠道,正以一种前所未有的冲击力影响着人类的活动。它在人们政治、经济、生活等各个方面发挥着重要的作用。因此网站建设在Internet应用上的地位显而易见,它已成为政府。企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。
这次所设计的课题正是互联网与社会生活之间的紧密关系的体现,现金的社会,人们已经离开不了网络,网络已经成为人与人之间交流的一种形式,它能够把事情的复杂化转为简单化,拜托了时间和空间的限制。本文是为消费者提供一个网络生活空间。通过该网页展示了企业介绍、招聘信息、留言等一系列内容的介绍。浏览者可以直接在网上申请应聘。本文还介绍了网页的结构分析和具体功能实现,网页的界面和运作方式。
关键词: JavaBean、JSP、SQLServer2000、目录
一.1.1 **的目标和意义..............................1 二级标题(标题2)..........................1
1.1.1
二.2.1 三级标题(标题3)...........................1 目前国内外相关工作情况............................1 二级标题(标题2)..........................1
2.1.1
三.3.1 三级标题(标题3)...........................1 **网页的总体设计.................................1 二级标题(标题2)..........................2
3.1.1
四.4.1 三级标题(标题3)...........................2 XX网页的详细规划..............................2 二级标题(标题2)..........................2
4.1.1
五.5.1 三级标题(标题3)...........................2 测试....................................2 二级标题(标题2)..........................2
5.1.1 三级标题(标题3)...........................2
参考文献.................................3一.**的目标和意义
本章内容提示:
给出课题背景与意义
课题要研究什么?解决什么问题?
你所分担工作的描述
对社会经济、科学(或学科)发展、技术进步等有什么意义?
1.1 二级标题(标题2)
1.1.1 三级标题(标题3)
最多三级标题,其它为正文。
二.目前国内外相关工作情况
本章内容提示:
现在有那些人在做与题目相关的研究工作?
运用(采用)了什么样的方法?
你对现有的开发工具(如html asp.net等)有什么样的评价?
分析你所选用的开发工具的特点和优势。
目前的发展趋势是什么?
2.1 二级标题(标题2)
2.1.1 三级标题(标题3)
最多三级标题,其它为正文。
三.**网页的总体设计
本章内容提示:
整体方案设计
分析你所使用的技术。
画出系统的功能图等并进行文字说明。
3.1 二级标题(标题2)
3.1.1 三级标题(标题3)
最多三级标题,其它为正文。
四.XX网页的详细规划
结合你所实现的功能,使用文字和代码说明开发过程、开发的流程图、界面等
4.1 二级标题(标题2)
4.1.1 三级标题(标题3)
最多三级标题,其它为正文。
五.测试
本章内容提示:
结果运行界面说明测试结果。
5.1 二级标题(标题2)
5.1.1 三级标题(标题3)
最多三级标题,其它为正文。
沈阳化工大学计算机学院实践报告
JSP网站实践参考文献
在论文中引用其它文献的内容,都要列于此。
注意:论文内容决不允许抄袭,但允许小部分(几句话)的引用。
按引用文献的顺序,列于论文末。文献是期刊时,书写格式为:“作者,文章题目,期刊名,年份,卷号,期数,页码。文献是图书时,书写格式为:作者,书名,出版单位,年月。
例:毛海军,唐焕文.基于Agent的决策支持系统[J].计算机工程与应用,2001.37(15):12~13黄梯云.智能决策支持系统[M].北京:电子工业出版社,2001[美]Bruce Eckel著.京京工作室 译.Java编程思想[M].北京:机械工业出版社,1999,4Corry, Mayfield, Cadman.COM/DCOM programming guide[M].Beijing, Tshinghua University Press,2000
第二篇:jsp校友录网站
基于JSP校友录系统的设计与实现 关键字:: 校友录,信息,管理
计算机技术的快速发展,特别是计算机网络的发展,它影响了人们生活的方方面面.各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯.过去的种种陈旧的联系方式,已经不能满足现代生活的需要.校友录作为一种方便校友之间联系的实用系统便应运而生.校友录为校友之间进行交流和联系提供了一个平台.通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的.本文主要介绍了数据库管理网站的方案论证、结构特性设计及行为特性设计的实现过程,详细论述了总体设计思想、数据库设计和功能模块设计.实现了班级留言、班级相册、班级共享、纸条传情、个人信息管理、管理员信息管理等功能.整个系统的设计过程中,充分考虑了数据库的安全性、一致性、稳定性和可靠性的问 第一章概述 1.1 题目背景
计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面.使得人们能以更低廉的价格,开发出更方便、更实用的网络工具.各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯.过去的种种陈旧的联系方式,已经不能满足现代生活的需要.校友录作为一种方便校友之间联系的实用系统便应运而生.校友录为校友之间进行交流和联系提供了一个平台.通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的.目前网络上已经存在很多校友录,像ChinaRen、网易、新浪、5460等,它们都有各自的特色,当然也有一不足.比如: ChinaRen的校友录,速度快,但功能单一,突出留言功能;5640的 ,则功能比较新颖,界面朴素,但速度慢;新浪的功能较全,但界面很花哨,不易适应.所以我将设计一个校友录管理网站,以友好的界面,快捷的操作完成强大的功能 1.2 项目内容
校友录管理网站是基于SQL SERVER 2000数据库系统开发的应用系统,它充分利用计算机及网络的数据处理、数据协同、数据分析的能力,也从根本上加强并促进了同学间的信息交流、资源共享及有效的管理等,进而增强了交流和管理.项目的内容主要包括: 1)班级留言:普通文本留言 多彩HTML留言留言修改 2)班级:相片上传相片评论 自动缩略图 3)班级共享:共享文件上传
4)纸条传情:给具体某人的小纸条
5)班级管理和班级参数的设置更加方便 6)成员地址簿和班级留言的导出 7)个人信息管理、管理员信息管理 1.3 系统的设计与实现目标
1)操作界面友好、功能多、操作简单,查询功能强大 2)数据库设计合理,减少冗余数据,提高系统效率
3)应用JSP技术,前台采用Jbuilder作为编译环境,后台数据库使用SQL Server 2000.第二章方案论证 2.1 总体设计思想
一个校友录所应具备的基本功能,主要包括学校搜索、班级搜索、校友/同学搜索、班级留言、成员地址列表、班级相册、班级共享、成员来访记录、个人信息、班级管理等功能.我采用JSP技术,封装数据库操作,所有的数据通过Bean来处理,JSP实现页面的表现,这样就把页面的表现和页面的逻辑相分离.(如下图:)第三章结构特性设计 3.1 结构设计
这一章主要向大家介绍本系统所涉及的具体的数据库结构,本系统后台数据库采用的是SQL Server 2000企业版,下面将做一下简要的介绍.本系统主要涉及到的数据库中的表有: 省份信息表:用于记录省份的名称和id号.城市信息表:用于记录城市名称,城市和省份的id号.省份信息表和城市信息表的关系是一对多的关系.安全信息表:用于记录与安全信息相关的内容,安全码是除有效证件之外最高级别的帐号保护措施.利用安全码不仅可以修复登录密码,还可以修改密码提示问题及答案、重新设置保密邮箱等.用户注册信息表:用于记录用户名,密码等内容.用户个人信息表:用于记录用户的个人详细资料.纸条信息表:用于记录用户与用户之间所传递的站内短消息内容,包括消息发送时间,内容及传递双方的用户名等.班级信息表:包括班级的创始人,创办日期,班级宣言等班级相关信息.班级留言信息表:用于记录班级的留言信息.成员信息表:包括成员名称,所属班级等相关信息.学校信息表:包括学校名称,级别等相关信息.3.2 数据库设计
数据库指长期存储在计算机内的、有组织的、可共享的数据集合.数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享.本系统的设计与实现了多个表用于信息存储.下面将本系统数据库设计中建立的表列出,运用这些表基本上能存储系统运行涉及的数据.4.2 功能概要设计 4.2.1系统总体模块
在校友录管理网站中,用户可以实现多种操作,像学校管理,班级管理和用户管理.在学校管理中,用户可以通过选择所提供的城市和省份对学校进行创建和搜索等操作.在班级管理中,用户除了可以创建、搜索班级之外,还可以对班级成员进行管理,并且还可以在班级管理中进行班级留言和班级相册的操作.在用户管理中,对于用户的注册、登录、安全设置等方面做了详细的操作.4.2.2学校管理模块 l 创建学校
在该功能中用户可以通过选择学校类型,学校所在城市和地区,填写学校全称来建立一个新的学校.为了使同学和其他用户能准确方便地找到自己所属的学校,创建学校之前应该确认在校友录中没有自己所要创建的学校,对于不清楚的用户可以先进行搜索.在选择学校类型时,可以在下拉列表中选择所要创建的学校是大学,大专,中学还是小学;在选择学校所在城市和地区中,用户可以先选择所在的省份,再选择所对应的城市,其中每个省份对应不同的城市;在填写学校全称时,界面会提示用户在为学校命名时尽量注意规范.其中为学校命名时尽量使用全称而不是简称,学校名在四到三十个汉字之间.搜索学校 如果用户想搜索某个学校,则可以在该页中选择学校所在地区,城市,类别及名称.在点击搜索按钮后,系统会根据所输入的搜索条件列出全部满足条件的学校,当符合条件的学校多于15个时,则可以利用翻页功能上下查找,也可以精确定位到第几页.在选择学校所在地区中,用户通过下拉列表选择学校所在在省份;在选择学校所在城市中,用户通过下拉列表确定所选省份中的某一城市;在选择学校类别时,用户可以在下拉列表中选择所要创建的学校是大学,大专,中学还是小学;最后填写学校名称进行搜索.再搜索完成之后,如果显示的学校列表中没有自己所在的班级,则可以通过学校名称进行查找或创建班级的操作.如果搜索的学校不在列表中,就应该检查搜索选项以及学校名称是否有误,如果有误应返回首页重新搜索,如果确认搜索信息无误且所需学校没有出现在列表中,则可以进行创建学校的工作.l 搜索校友
用户可以通过一定条件的查寻来搜索校友,在查寻时可以选择学校所在的城市、省份来确定学校所在的地区,在确定学校之后,可以通过对班级的查寻来寻找校友所在的班级.这样便完成了对校友逐级向下的查找过程.4.2.3班级管理模块 l 创建班级
用户在创建班级之前应该确认所要创始的班级不存在,在确认之后用户可以在班级名称文本框中输入所需创建班级的名称,在入学年份中用户可以通过下拉列表框进行选择.然后点击注册按钮完成新班级的创建.l 搜索班级
搜索班级的功能和搜索学校的功能相似,用户在入学年份中输入入学时间,在班级名称文本框中输入所要搜索的班级名称之后点击搜索按钮,则在下面的表格中出现符合条件的班级名称,如果符合条件的班级数目超过15个,则可以使用分页功能,上下查询,也可以精确定位到某一页进行查询.如果所要搜索的班级没有出现在列表中,则可以进行创建班级的工作.1课题来源
本课题为用JSP开发校友录系统,本课题要用JSP技术并结合基于MVC模型的Struts框架来完成一个具有通用功能的校友录系统,其中包括班级管理、留言板管理、班级成员管理。
2研究的目的和意义 2.1校友录系统发展现状
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模、各种形式的网络连接成一个整体。这样一个网络文化氛围对人类的活动产生了重大和深远的影响。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。
校友录系统就是在这样的情况下应运而生。基于网络的校友录系统一改传统的纸质校友录的消息陈旧、更新困难、不便于实时联系等种种弊端,它让我们可以随时随地的更方便的跟同学、校友、朋友联系。目前网络上校友录系统的基本功能都大同小异,比如班级管理、成员管理、留言功能等都能基本满足用户的需要,差别最大的还是各校友录系统所运用的技术。目前用ASP、PHP、JSP等技术开发的校友录系统都有,他们各有各的优势所在。但从网络技术的发展来看,JSP技术是目前运用到的主流开发技术。它具有更明显的优势,这在后续的毕业设计论文中将会向您展示。
目前国内的校友录系统众多,主要的有5460、搜狐的chinaren、QQ校友录以及各高校自己的校友录系统。这些校友录系统虽然运用技术不尽相同,但是他们的功能、目的都有着一些共同点。5460、chinaren、网易等校友录系统运用的是JSP技术,这些服务对象比较广泛、针对性较弱的校友录系统提供的服务都是最普通的,他们能满足绝大多数人的需求,使得分散于全国各地的校友们能找到这样一个虚拟的集体组织,使得大家不用再为如何联系自己长久未见的同学、朋友而发愁,校友录提供的就是这样一个方便联系的平台。某些高校校友录系统可能创建时间比较早,他们运用的技术也相对较早一些,比如武汉大学和华中科技大学,他们的校友录系统就是运用ASP技术来开发的。用PHP开发的系统有中国同事录,还有大家比较熟悉的QQ校友录,它是运用Shtml开发的。以上这些校友录系统运用到了很多不同的技术,但是他们对社会的影响、给人们带来的方便是一样的。
2.2基于网络的校友录技术的发展带来的影响
近年来计算机技术特别是计算机网络技术的飞速发展,越来越深刻的改变了我们生活的方方面面。我们正在向信息时代迈进,对于应用者而言,网络技术的发展带给我们更多、更广阔的信息资讯,它让我们在足不出户的时候也能及时的、准确的知道各种信息,对于开发者而言,它也使得我们能以更低廉的价格,开发出更方便、更实用的网络工具。比如各种在线信息服务,更是深深的改变了我们传统的联系方式,使得我们可以在相隔千里的情况下随时随地通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要,现在生活的节奏越来越快,信息更新也快,传统的面对面的交流以及通过纸张来获取信息的方法已经完全满足不了我们联系世界的需要,我们迫切需要的是能适应各种使用环境的多元化的功能丰富的通讯应用系统,这让我们能在当今社会以更高的效率来面对人与人之间的联系关系,校友录系统就是这样一个实现上述诸多功能的网络系统。2.3校友录系统的实用价值
校友录作为一种方便校友之间联系的实用系统便在这样的情况下产生与发展起来的。目前Internet上的校友录系统众多,他们提供的功能与服务都大同小异,在技术上也日趋成熟。校友录是为校友之间进行交流和联系提供的一个平台。通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。基于现在网络上校友录系统越来越多、所用技术各异的特点,我参考了一些校友录系统(比如chinaren,QQ校友录等),运用当前比较流行的JSP技术并配合STRUTS框架技术来编写一个适合毕业设计课题任务功能需求的校友录系统,使其具有比较通用的校友录系统功能,在此基础上添加具有实用性的其他附加功能。
3国内外校友录系统的研究现状和发展趋势
当今信息技术的飞速发展使得人与人之间的联系更加密切、更加频繁,联系方式也越来越多样化。此时,一个良好的联系方式,能从很大一个程度上提高工作效率,避免不必要的人力、财力、物力上的浪费。因此一个良好的在线系统能从多方面改变这个难题,校友录系统便是其中一个。经过近年来的发展,国内外校友录系统已经慢慢的趋于成熟,它根据当今人们对于校友之间联系的需求开发了一系列的实用功能,基本上满足了人们的需要。现在所要考虑的就是在增加功能的基础上大大发展技术,使得系统在安全性、保密性、稳定性等方面更加完善。
4研究的主要内容及设计成果的应用价值 4.1 JSP校友录系统目标
JSP校友录是具有普通校友录功能、为校友之间进行交流和联系提供的一个平台。利用当前广泛运用的JAVA技术和JSP技术的优势,加之Internet的飞速发展,我们编写一个基于网络的校友录系统,通过提供完善的校友录服务和规范校友录的管理,以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。
4.2系统功能简介
JSP校友录系统是以用户为中心的人性化设计,总体来看,系统可以看作是用户模块和管理模块两大模块的协调运作。(1)普通用户功能包括:
●用户登陆:用户通过提交用户ID和用户密码进行登陆,系统便会根据这些登陆资料,辨别出用户的身份权限,根据用户是否合法和合法用户的权限级别,为不同级别的用户提供个性化的用户界面。
●用户资料的修改:成功登陆的合法用户有权限修改自己的个人资料。这些资料包括用户的昵称,真实姓名,性别、年龄,联系电话,电子邮箱,工作地点、单位,通信地址,生日等一系列相关信息。●用户的信息发布功能: ①资料查看功能:
用户可以查看其他用户的个人资料,包括用户ID,昵称,真实姓名,性别,年龄,用户联系电话,用户邮箱地址等。②留言板功能:
通过留言板,用户可以在班级页面上留言,以此作为用户间联系的一种手段。留言板有字数限制,留言超过一定的时间,系统会自动删除留言。留言板中将标示如下内容:留言用户的ID,留言用户联系信息,留言日期,留言内容。(2)班级管理员功能:
班级管理员拥有相对普通用户更多的操作权限,登陆之后,系统自动识别出管理员身份,并提供个性化的管理员操作页面。班级管理员除了拥有以上普通用户的相关功能、权限之外,还拥有班级管理的权限,他可以修改班级信息,班级公告,可以将班级中其他成员设定成管理员,可以添加/删除班级成员,可以删除留言板中的留言消息。4.3应用价值
通过该校友录系统的开发,我们将会拥有一个随时随地联系校友、同学、朋友的网络平台,它改变了我们传统的校友录的形式,使得校友录由有形的实体转变成为网络中虚拟的集体组织,使得校友录中的信息能够不断的更新、完善,使得不会因为信息的改变而失去与某人的联系。基于网络的校友录让大家在学习生活的同时与人保持联系,他带给我们最大的好处就是方便与快捷。
第三篇:JSP网站开发学习心得(最终版)
学习JSP网站开发心得体会
记得在第一节课上,老师您就跟我们讲了“为什么学JSP ?”、“ JSP 学什么?”、“学JSP 有什么用?”,还有“ 如何学JSP ?”从老师对这些问题的讲解中我确实体会到了JSP 在当今社会起到的重要作用和如何去学。在课上还了解了这门课程老师要讲述的主要内容以及需要具备的相关知识。
学到了什么
我想简单的谈谈我在JSP 网站开发这门课中都学到了什么,JSP 的全称是Java Server Pages,它是一种动态网页技术。我们需要配置的坏境有JDK, Tomcat,还要用到dreamweaver。JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
JSP在根本上是一个简化的Servlet设计,他实现了HTML语法中的java扩张(以 <%, %>形式)。JSP与SERVLET一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
相比较其他主流动态网页技术,JSP具有很多独特的优势,如 1.适用于任何平台、支持者众多 2.程序的执行效率高 3.拥有Java优势 4.强大的服务器组件 5.强大的数据库支持 下面是JSP与主流动态网页技术比较
最开始我们学习了HTML 这种文本标记语言,学习起来感觉很轻松,用HTML可以做一些静态网站,在我第一次用HTML做出第一个网页时,我真的觉得好有成就感,好神奇啊!后面我们学到做动态网站,其中就涉及到JSP 内部对象及内部对象所对应的一些方法。再就是JSP与数据库的联系,怎么样引用数据库。通过以上所学到的知识我们可以基本上上做出一个比较实用的小网站,比如一个班级网站,在上面可以上传下载一些学习资料,以及存储班上同学的一些基本信息,给班上同学提供一个交流平台等等。但是由于学习过程中没有很认真的去学,而且是第一次接触,所以技术还没有那么成熟,而且身边的同学大多貌似对这不感兴趣,没有志同道合的人,所以更让我想做一个动态网站的决心减弱,哎,静态网站实在有点拿不出手,所以只有写这篇感想了。
学习反思
从这九个周的学习中,我觉得自己在这门课的学习上还存在很多不足,比如觉得学习基础时很枯燥,虽然老师讲的满风趣的。其实我并没有很认真的去学,基本上就是老师上课讲了我就听,下课并没有去巩固老师所讲的内容。记得老师在第一节课的时候就说我们这门课要多操作,可是我并没有按照老师的要求做。也许对于大多数人来说他就是一门选修课,也许他们就是为了混一下学分;也许他们也不知道他们要选哪一门课,看着这门课的名字比较牛,然后就选了;也许,从此以后他们就不会再碰他了;但是在这之中我更看重的是一种学习的态度,既然选了就要把他学好,即使不能学得很好,那也不能懈怠,因为我觉得自己选择的路,跪着也要走完,所以在很多人都没有去上课的情况下我还是基本上都去了,还有一个原因就是想在大学里多学一点知识,因为就像乔布斯在斯坦福大学的演讲中讲到:“你在向前展望的时候不可能将这些片断串连起来,你只能在回顾的时候将点点滴滴串连起来。所以你必须相信这些片断会在你未来的某一天串连起来。你必须要相信某些东西:你的勇气、目的、生命、因缘。这个过程从来没有令我失望,只是让我的生命更加地与众不同而已”然后我也觉得这门课程会在我以后的人生中起到一定的作用。
以上就是我通过这次JSP网站开发课程学习所得到的一些心得体会,虽然自只有九个周的学习时间但是我真的学到了很多知识,在这里真诚的谢谢老师了!
汤佳伟
计科2班 学号:1204211063
第四篇:JSP实习报告
JSp实习报告
实习内容:JSp
实习目的:通过JSp的学习,可以独立的编写留言板、上传规格、考试系统、连接SQLserver数据库、以及怎么样配置运行jsp服务器
实习要求:懂得什么是JSp,运行原理,它的基本语法,内置对象,服务端的输出缓冲区,文件流的读取,jsp数据库如:jdbc、odbc、mysql、oracle等,jsp与javaBeans,javaServlet等
JSp是JavaServerpages的缩写,是由Sun公司倡导、许多公司参与,于1999年推出的一种动态网页技术标准。JSp是一个建立安全的、夸平台的先进动态网页技术。
一、JSp工作原理
在一个JSp文件第一次被请求时,JSp引擎把该JSp文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。JSp引擎先把该JSp文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功,JSp引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSp引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSp文件,则JSp引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。虽然JSp效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因,JSp引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用,然后servlet实例便被标记加入“垃圾收集”处理。jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。
<%!
publicvoidjspInit()
{
System.out.println(“jspinit”);
}
%>
<%!
publicvoidjspDestory()
{
System.out.println(“jspDestory”);
}
%>
二、服务端的输出缓冲区
缺省情况下:服务端要输出到客户端的内容,不直接写到客户端,而是先写到一个输出缓冲区中.只有在下面三中情况下,才会把该缓冲区的内容输出到客户端上:
该JSp网页已完成信息的输出
输出缓冲区已满
JSp中调用了out.flush()或response.flushbuffer()
输出缓冲区的大小可以用:或response.setBufferSize()设置,如下:
设置输出缓冲区的大小为1KB。或response.setBufferSize(1);
设置输出缓冲区的大小为0,即不缓冲。或response.setBufferSize(0);
用response.getBufferSize()或out.getBufferSize()可取的输出缓冲区的大小,单位为字节.用response.isCommitted()可检查看服务端是否已将数据输出到客户端.如果返回值是TRUE则已将数据输出到客户端,是FALSE则还没有.三、服务端输出重定向
有以下3种方法可以做到输出重定向:
RESpONSE.SETREDERECT(“URL”)该方法通过修改HTTp协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容.response.sendRedirect(“http://localhost:7001/index.html”);
下面的方法也能改变HTTpHEADER属性,它的原理和1是一样的.<%
response.setStatus(HttpServletResponse.SC_MOVED_pERMANENTLY);
StringnewLocn=“/index.html”;
response.setHeader(“Location”,newLocn);
%>
采用
(1)
<%@pagebuffer=“1kb”%>
<%
longi=0;
for(i=0;i<10;i++)
{
out.println(“@@@@@@@@@@@@@@@@@”);
}
%>
(2)
<%@pagebuffer=“1kb”%>
<%
longi=0;
for(i=0;i<600;i++)
{
out.println(“@@@@@@@@@@@@@@@@@”);
}
%>
说明:
1.方法(1),(2)可以使用变量表示重定向的地址;方法(3)不能使用变量表示重定向的地址。
Stringadd=“./index.html”;
无法重定向到index.html中去
Stringadd=http://localhost:7001/index.html
response.sendRedirect(add);
可以重定向到http://localhost:7001/index.html中去。
2.采用方法(1),(2)request中的变量(通过request.setAttribute()保存到request中的值)不能在新的页面中采用,采用方法(3)能.综上,我们应该采用(1),(2)重定向比较好.四、JSp基本配置:
第一步:下载j2sdk和tomcat:到sun官方站点(http://java.sun.com/j2se/1.4.2/download.html)下载j2sdk,注意下载版本为WindowsOfflineInstallation的SDK,同时最好下载J2SE1.4.2Documentation,然后到tomcat官方站点(http://;charset=gb2312“ %>
<% Class.forName(”com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance();
String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs“;
//pubs 为你的数据库的String user=”sa“;
String password=”admin“;Statementstmt;
Connection conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement(ResultSet.TYpE_SCROLL_SENSITIVE,ResultSet.CONCUR_UpDATABLE);
String sql=”select job_id,job_desc from jobs“;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){ %>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<% } %>
<% out.print(”数据库操作成功,恭喜你“);%>
<% rs.close();
stmt.close();
conn.close();
%>
将上面的JSp代码保存为sql_test.jsp,放在/Root目录下。
Servlet/JSp配置详解
首先下载驱动程序:
然后就是安装JDK,我是把它装到从c:JDK目录下面。
然后设置CLASSpATH的问题了:
正如操作系统利用pATH来搜索可执行程序一样,Java运行环境也会遍历CLASSpATH来查找类,即便是HelloWorld这样简单的程序,JVM也会遍历CLASSpATH定义的每一个路径,直到找到相应的文件为止。
相信大家用的系统不是2k就是Xp,然后就应当如下设置path:
我的电脑->属性->高级->环境变量
然后在环境变量的path后面追加:C:JDKbin;.;C:JDKlib
也可以这样配置:C:JDKbin;.;C:JDKlibdt.jar;C:JDKlibtools.jar
★记住:环境变量中的.切记不能少,它表示当前路径,如果少掉出现的错误等会就说!
dt.jar是关于运行环境的类库,tools.jar是关于一些工具的类库
如果没有配置:C:JDKbin,则会出现“javac不是内部或外部命令,也不是可运行的程序或批处理文件。”这样的错误。
下面我们就写一个示例程序:
打开Editplus,新建一个Java文件,请照着如下输入,要一字不漏,并且分清大小写:
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println(”Hello,World!“);
}
}
然后把这个文件保存(ctrl+s)到HelloWorld.java,Java是分大小写的,所以大小写一定要分清,是HelloWorld.java不是helloworld.java或者其他。
运行:开始->运行->cmd
在控制台中把目录切换到当前目录:
javacHelloWorld.java
javaHelloWorld
你就会在控制台上看见输出的Hello,World!
javac是编译命令,它把HelloWorld.java编译成HelloWorld.class
java就是解释命令,JVM把HelloWorld.class解释执行.在这个时候:
1、如果出现Exceptioninthread”main“java.lang.NoClassDefFoundError:HelloWorld
那就是你在环境变量中没有加上那个.(dot)
2、如果出现Exceptioninthread”main“java.lang.NoSuchMethodError:main
或者HelloWorld.java:1:publicclasshelloworldmustbedefinedinafilecalled
”HelloWorld.java“.那就是你没有分清大小写的写入这个HelloWorld,或者保存得时候没有保存为HelloWorld.java。这个名字一定要跟publicclass的名字一样
对于环境变量的问题就说到这里,下面我先所说怎么在Editplus里面编译和运行,在Tools->参数设置->配置用户工具
1.添加工具(添加应用程序)
菜单文字:CompileJavaprogram
程序:C:JDKbinjavac.exe
参数:文件名称
初始目录:文件目录
2.添加工具(添加应用程序)
菜单文字:RunJavaprogram
程序:C:JDKbinjava.exe
参数:文件名称(不含扩展名)
初始目录:文件目录
工具组名称可以随便添,比如DebugJavaprogram。
然后在Tools的下拉菜单中,你就会看见CompileJavaprogram以及RunJavaprogram这两个选项,以后你就可以利用ctrl+1编译和ctrl+2运行程序了
下面我们讨论Servlet的运行环境:
要运行Servlet,则需要JSp/Servletcontainer,我用Tomcat。
http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip
然后把这个压缩包解压到:
C:Tomcat
然后再配置环境变量;添加三个系统变量:
JAVA_HOME:C:JDK
TOMCAT_HOME:C:Tomcat
CLASSpATH:%JAVA_HOME%lib;%TOMCAT_HOME%lib
Tomcat的环境变量就配置完毕了,下面检验Tomcat是否能够运行:
在控制台中转到C:Tomcatbin这个目录,运行startup,然后回出现一个窗口,连跳一大串东西,最后表示Server已经运行。
在浏览器中输入http://localhost:8080,出现欢迎界面,则表示Tomcat没问题了。然后和上面一样,写入你的第一个Servlet。
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassHelloWorldextendsHttpServlet
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
{
response.setContentType(”text/html“);
printWriterout=response.getWriter();
out.println(”<html><head><title>“);
out.println(”ThisismyfirstServlet“);
out.println(”</title></head><body>“);
out.println(”<h1>Hello,World!</h1>“);
out.println(”</body></html>");
}
}
然后照样用javacHelloWorld.java来编译这个文件,如果出现无法importjavax.servlet.*
那么就是应该把C:Tomcatcommonlib里面的servlet.jar文件拷贝到C:JDKjrelibext中,再次编译,就没有问题了!
然后在Tomcat目录里面的C:TomcatwebappsROOT里面按如下的文件结构:
ROOTindex.html
ROOTwelcom.jsp
ROOTWEB-INFlibMyServlet.jar(如果你的servlet的.class打成了.jar文件,则放在lib下面)
ROOTWEB-INFclassesHelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)
然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error404--NotFound
出不来,然后继续弄下面的Servlet必须使用C:TomcatwebappsROOTWEB-INF这个目录下面的web.xml文件进行注册,用Ep打开这个web.xml文件,在里面加入:
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/helloworld</url-pattern>
</servlet-mapping>
这样的结构
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
表示指定包含的servlet类。而以下的结构:
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>
表示指定HelloServlet应当映射到哪一种URL模式。
在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。
六、JSp和Servlet的区别:
SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。后来SUN推出了类似于ASp的JSp,把JAVA代码嵌套到HTML语句中,这样,就大大简化和方便了网页的设计和修改。ASp,pHp,JSp都是嵌套型的SCRIpT语言。一个分布式系统应分为三层:表示层,业务逻辑层,数据存取层,在J2EE体系结构中,SERVLET用来写业务逻辑层是很强大的,但是对于写表示层就很不方便。JSp则主要是为了方便写表示层而设计的。ENTITYBEAN实现数据存取层,SESSIONBEAN实现业务逻辑层。如果是简单的应用系统,可采用JSp+BEANS的结构进行设计,JSp中应该仅仅存放与表示层有关的东西,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于业务逻辑层,应该放在JAVABEANS中。通过JSp调用JAVABEANS,实现两层的整合。实际上,微软的DNA技术,简单说,就是ASp+COM/DCOM技术。与JSp+BEANS完全类似,所有的表示层由ASp完成,所有的业务逻辑由COM/DCOM完成。为什么要采用这些组件技术呢?因为单纯的ASp/JSp语言是非常低效率执行的,如果出现大量用户点击,纯SCRIpT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。另外一方面,纯SCRIpT语言将表示层和业务逻辑层混在一起,造成修改不方便,并且代码不能重复利用,采用组件技术就只改组件就可以了。对于复杂的应用,应该采用ENTITYBEAN实现数据存取层,SESSIONBEAN实现业务逻辑层,用JSp来调用SESSIONBEAN,由SESSIONBEAN调用ENTITYBEAN。即采用JSp+EJB来构建一个复杂的分布式系统。它比JSp+BEAN具有更高的吞吐量,可靠性,安全性。综上所述,对简单应用,可采用JSp+BAEN,对复杂的应用系统,应采用JSp+EJB,SERVLET变的无足轻重。用JSp完全可替代它。
实习心得:
JSp是一门新技术,他基于JavaServlet以及整个java体系的Web开发技术。从网上得知Java的中文问题历史悠久,连绵不绝,至今也没有完全解决,但是上有政策下有对策,我们总是有办法搞定它的。跟Java相关的中文问题主要有两类,一类是编程的问题,涉及到I/O,内码转换等。第二类是Java运行环境的配置,涉及字体,属性配置等。觉得很有必要给自己写个备忘录之类的。
学习了JSp,感触很深,这一技术是需要有一定基础、而且动手能力强的学科。书上也强调一点是:要想真正地掌握JSp技术,必须有较好的java语言基础,以及HTML语言方面的知识。想想的确对啊。
通过一周的实习JSp,这个实习,使我初步掌握和了解了JSp的基本运行原理、各个对象的结构和功能、怎样连接数据库、能自己手动写code开发一些小网页。并且,自己能够组建一台JSp服务器,而且还了解了安装过程中,所要注意的事项。对于一些简单的小问题,能够自己动手排除。
我个人认为,这次实习对于我是非常有意义的,对我个人的影响比较大,对我的成长更有莫大的帮助。
第五篇:jsp实习报告
新疆农业职业技术学院
《Java程序设计》 教学实习报告
部 门:软件技术学院 专 业:计算机网络技术 班 级:2007高职网络 姓 名:张 博 指导教师:李 欣
《JAVA程序设计》教学实习报告
一、实习时间:
2009 年 5 月 14日至 2009 年 5月 20 日
二、实习地点:第2微机室
三、实习目的
1、掌握搭建Java开发环境的方法;
2、通过团队合作,提高沟通、交流能力,培养团队合作精神;
3、严格按照Java语言编写规约编写代码,养成遵守规约的习惯,增强编码质量的意识;
4、教师面向对象程序实例的剖析,以及实际操作,理解面向对象编程的理念,并熟练编写程序;
5、掌握Java程序的调试方法;
四、实习内容及方法
实训一
相关环境搭建
实验目的
1、熟悉JDK开发环境。
2、熟悉JCreator编辑器的使用。实验内容
1、JDK开发环境及安装
第一步:下载。从学校网站上找:ftp://10.1.1.16 选择编程软件中Java。第二步:安装jdk。
第三步:安装好后,选择“开始”→“运行„”命令,在打开的“运行”窗口中输入“cmd”命令并“确定”。在打开的命令行窗口中,分别执行java和javac命令。如下图所表示
第四步:查看操作系统环境变量。选择“我的电脑”的“属性”,选择“高级”中的“环境变量”。
第五步:设置环境变量及path环境变量的作用和设置。
编辑源文件
import java.io.*;public class HelloWorld1{ public static void main(String arg[]){ System.out.println(“Hello World!”);}} 输出结果 实训分析总结
什么是Java虚拟机?它的作用是什么?
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
作用:运行JAVA applet 小程序,没了它,好多网站的功能无法使用,因为现在很多服务是通过它实现的。JAVA不编译,他的字节码要靠虚拟机才能运行。
实训二 Java基础-控制语句使用实例
实训目的:
1、掌握Java语言中的三种基本的流程控制
2、理解数组的概念,数组的定义方法,数组的应用。实训内容:
1、随机输入3个数,要求按降序排列。
import java.util.*;导入包 public class bidaxiao{ public static void main(String[] args){ int length = 3;int [] ints = new int[length];Scanner san = new Scanner(System.in);for(int i = 0;i < length;i ++){ System.out.print(“请输入第” +(i + 1)+ “个数: ”);ints[i] = san.nextInt();} Arrays.sort(ints);System.out.println(“这” +length +“个数从大到小的排列顺序为: ”);for(int i = length-1;i >= 0;i--){ System.out.print(ints[i] + “ ”);} } } 输出结果:
2、编写程序,用循环语句列出1到10的阶乘值。
public class A{ public static void main(String args[]){
int i;long A=1;
for(i=1;i<=10;i++){ A*=i;
System.out.println(“!”+A);}}} 输出结果:
3、编写程序显示一年的月份。月份要保存在数组中。
public class year{ public static void main(String args[]){ int[] a=new int[12];for(int i =1;i<=12;i++){
System.out.println(“一年的第”+i+“个月是”+i+“月”);} } } 输出结果:
4、定义一个二维数组,从键盘输入数据,要求求出最大值元素、最小值元素。
public class MaxArray { public static void main(String[] args){ int a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}};int max=0;int min=0;for(int i=0;i 实训分析总结: 1、三种循环语句的数据流程图如何执行? do-while 流程图 for 流程图 while 流程图 2、三种循环语句的语法格式。while循环语句的语法格式: [initialization] while(loop-condition){ body;[iteration;]} for 循环语句的语法格式: for([initialization];[loop-condition];[iteration;]){ body;} 3、什么是数组?数组的定义形式? 数组是由相同的数据类型数据按顺序组成的数据集合。数组的定义形式: 一维数组:type arrayName[ ] 或者 type[ ] arrayName 二维数组:type arrayName[ ][ ] 或者 type[ ][ ] arrayName 实训三 类的封装、继承与多态性 实训目的: 1、理解类、封装、继承多态的概念和类的对象的创建和使用。 2、理解方法的概念,方法的调用,参数的传递。 3、熟练掌握类的继承。实训内容: 1、编写程序,给定圆的半径和高度,计算圆柱体的体积,利用引用对象方法的形式表示。 import java.io.*;class tj{ private double r;private double h;public tj(double r,double h){ if(r>0)this.r=r;if(h>0)this.h=h;} public boolean setr(double r){ if(r>0){ this.r=r;return true;} else return false;} public double getr(){ return r;} public boolean seth(double h){ if(h>0){ return true;} else return false;} public double geth(){ return h;} public double tj(){ return 3.14*r*r*h;} public static void main(String args[])throws IOException{ BufferedReaderin=new BufferedReader(new InputStreamReader(System.in));System.out.println(“请输入圆的半径:”);double r=Double.parseDouble(in.readLine());System.out.println(“请输入圆柱的高:”);double h=Double.parseDouble(in.readLine());tj v=new tj(r,h);System.out.println(“圆柱的半径为:”+v.getr()+“t高为:”+v.geth());System.out.println(“圆柱的体积为:”+v.tj());} } 2、试设计一个Calculator类,并完成下列的各方法的程序设计: 定义add(a,b)方法,用来计算两数之和。定义mul(a,b)方法,用来计算两数的乘积。定义sub(a,b)方法,用来计算两数之差。定义div(a,b)方法,用来计算a/b。 import java.io.*;class Calculator{ private double a;private double b;public Calculator(double a,double b){ if(a>0)this.a=a;if(b>0)this.b=b;} public boolean seta(double a){ if(a>0){ this.a=a;return true;} else return false;} public double geta(){ return a;} public boolean setb(double b){ if(b>0){return true;} else return false;} public double getb(){ return b;} public double add(){ return a+b;} public double mul(){ return a*b;} public double sub(){ return a-b;} public double div(){ return a/b;} public static void main(String args[])throws IOException{ BufferedReaderin=newBufferedReader(new InputStreamReader(System.in));System.out.println(“请输入a的值:”);double a=Double.parseDouble(in.readLine());System.out.println(“请输入b的值:”);double b=Double.parseDouble(in.readLine());Calculator c=new Calculator(a,b);//System.out.println(“"+c.geta()+”t“+c.getb());System.out.println(”a,b的和:“+c.add());System.out.println(”a,b的积:“+c.mul());System.out.println(”a,b的差:“+c.sub());System.out.println(”a,b的商:“+c.div());} } 输出结果 3、请逐步完成下列的程序设计: (a)、设计一个父类Caaa,内含public两个整数数据成员。 (b)、设计一个子类Cbbb,继承自Caaa类,并加入set_num()方法,可用来赋值从父类继承而来的成员num1,num2,和show()方法,用来显示num1与num2的值。 (c)、在Caaa类里加入一个没有参数的构造函数Caaa(),它可用来把num1和num2赋值初值为1。 (d)、在类里加入另一个有参数的构造函数Caaa(int a,int b),它可用来把num1赋值为a,把num2赋值为b。 (e)、在main()方法里编写程序代码,测试(c)和(d)的结果。不带参数 class Caaa{ public int num1;public int num2;public Caaa(){ } public void setnum1(int num1){this.num1=num1;} public int getnum1(){return num1;} public void setnum2(int num2){this.num2=num2;} public int getnum2(){return num2;} public void printOtherInfo(){ System.out.print(”num1=“+num1);System.out.print(”tnum2=“+num2);System.out.println();}} class Cbbb extends Caaa{ } class Cbbbtest{ public static void main(String agrs[]){ Cbbb b=new Cbbb();b.setnum1(1);b.setnum2(1);b.printOtherInfo();}} 输出结果 带参数的 class Caaa { public int num1;public int num2;} class Cbbb extends Caaa { void set_num(int a,int b){ num1=a;num2=b;} void show(){ System.out.println(”num1=“+num1+”,“+”num2=“+num2);} } class app { public static void main(String args[]){ Cbbb bb=new Cbbb();bb.set_num(5,10);bb.show();} } 输出结果 4、设计一个类,内含一个方法可以判别输入的值为奇数还是偶数,如果为奇数就输出“此数为奇数”,反之若为偶数就输出“此数为偶数”。 import java.io.*;public class jo{private int a;public jo(int a){if(a>0)this.a=a;} public boolean seta(int a){ if(a>0){this.a=a;return true;} else return false;} public double geta(){ return a;} public static void main(String args[])throws IOException{ BufferedReaderin=new BufferedReader(new InputStreamReader(System.in));System.out.println(”请输入a的值:“);double a=Double.parseDouble(in.readLine());if(a%2==1){ System.out.println(”此数为奇数“);} else{ System.out.println(”此数为偶数“);} }} 输出结果 实训分析总结: 1、什么是类?请写出定义类的格式。 2、如何创建一个类和该类的对象? 1、什么是类?写出定义类的格式,如何创建类的对象? 类是组成java程序的基本元素,一个java程序由若干个类组成。Java中使用关键字class声明一个类,大括号用来指出类体的开始和结束。创建类:class Student{ 创建类的对象: //类的成员变量声明 Student studeng=new Student //类的方法声明} 2、类的成员变量和方法? 类的成员变量用来描述对象的状态,也称为属性、数据或域。类的方法是用来描述对象的行为。 3、什么是继承?什么是封装? 像大客车和小轿车与车类之间存在的关系为继承 封装是指信息与实现细节的隐藏。 实训四 简单计算器模拟 实训目的: 1、熟练掌握图形用户界面的设计和各组件的应用 2、能够处理一般事件的响应 实训内容: 1、设计一个窗口,内含一个按钮,当按下此按钮的时候,窗口的颜色会从原来的白色变成其他你所设置的颜色。 import java.awt.Button;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.Panel;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;public class button extends MouseAdapter { Frame f = new Frame();Panel P1 = new Panel();Button b1 = new Button(”绿色“);public static void main(String args[]){ button ct = new button();ct.init();} public void init(){ f.setLayout(new FlowLayout());f.add(b1);P1.setBackground(Color.red);P1.setVisible(true);b1.addMouseListener(this);f.setSize(200, 150);f.setVisible(true);} public void mousePressed(MouseEvent e2){ if(e2.getSource()== b1){ f.setBackground(Color.green);} } } 2、设计一个包含有文本框和标签的窗口,在文本框中输入一段文字,按回车后,将该段文字内容加入到标签中显示。 import java.awt.GridLayout;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class zhuanhuan { public static void main(String[] args){ JFrame jf=new JFrame();JPanel jp=new JPanel();final JLabel jl=new JLabel();final JTextField jtf=new JTextField();jf.add(jp);jp.setLayout(new GridLayout(2,1));jp.add(jl);jp.add(jtf);jtf.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.getKeyCode()==KeyEvent.VK_ENTER){ jl.setText(jtf.getText());} } });jf.setSize(144,144);jf.setVisible(true);} } 输出结果 3、学生注册系统 import java.util.*;//导入工具包 import java.awt.*;//导入抽象窗口工具包 import java.awt.event.*;//导入软件包 import javax.swing.*;//导入轻量级的工具包 import java.io.*;//导入软件包 class 学生 extends Panel { class ShowWin extends JFrame implements ActionListener{ LinkedList students_list=null;JTextField 学号文本框=new JTextField(), 姓名文本框=new JTextField(), 年龄文本框=new JTextField(), //创建新实例 班级文本框=new JTextField(), 删除文本框=new JTextField();JButton b_add=new JButton(”添加学生“), b_del=new JButton(”删除学生“), b_show=new JButton(”显示学生名单“);JTextArea 显示区=new JTextArea();students_list=new LinkedList();JPanel save=new JPanel();save.setLayout(new GridLayout(5,2));save.add(new Label(”输入学号:“));save.add(学号文本框);//添加文本内容 save.add(new Label(”点击添加:“));save.add(b_add);JPanel del=new JPanel();del.setLayout(new GridLayout(2,2));//删除文本内容 del.add(new Label(”输入删除的学号:“));del.add(删除文本框);del.add(new Label(”点击删除:“));del.add(b_del);JPanel show=new JPanel();show.setLayout(new BorderLayout());show.add(pane,BorderLayout.CENTER);show.add(b_show,BorderLayout.SOUTH);//显示添加的商品清单 JSplitPane split_one,split_two;split_one=new JSplitPane(JSplitPane.VERTICAL_SPLIT,save,del);split_two=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_one,show);con.add(split_two,BorderLayout.CENTER);b_show.addActionListener(this);} public void actionPerformed(ActionEvent e){ if(e.getSource()==b_add){ String xuehao=null;String xingming=null;String nianling=null;String banji=null;banji=班级文本框.getText();学生 students=new 学生(xuehao,xingming,nianling,banji);students_list.add(students);try{ FileOutputStream file=new FileOutputStream(”students.txt“);ObjectOutputStream out=new ObjectOutputStream(file);out.writeObject(students_list);out.close();} catch(IOException event){} } else if(e.getSource()==b_del){ String xuehao=删除文本框.getText();try{ FileInputStream come_in=new FileInputStream(”students.txt“);ObjectInputStream in=new ObjectInputStream(come_in);students_list=(LinkedList)in.readObject();in.close();} catch(ClassNotFoundException event){} catch(IOException event){} for(int i=0;i win.setVisible(true);//设置属性(trun 显示,false隐藏) win.addWindowListener(new WindowAdapter()//继承WindowAdapter,然后又覆盖 实训分析总结: 1、布局管理器,它有什么用? JAVA是与平台无关的,就是应用程序的界面的大小,位置与硬件没关系,与平台无关就是说你不能通过setSize()这样的方法去设置窗体中组件的大小。由此问题产生了。 当一个窗体中有文本控件,又有标签,还有按钮,这时你怎么控制它们在窗体中的排列顺序和位置呢,JAVA定义了布局管理器来处理这个问题 2、说明文本区和文本框的主要不同点。 文本区:是用户输入、编辑、格式化、查看文本数据的区域。单击鼠标左键定位插入点。 文本框就是可以向其中输入文字的框,比如百度。 实训五 扩展—Java和JSP编写要点练习 实训目的: 1、理解JSP 运行环境要求。 2、掌握JSP建立与测试开发环境的方法 3、了解j2ee 实训内容: 1、链接到指定的email地址 在网站中,你经常会看到“联系我们”的链接,一点击这个链接,就会触发你的邮件客户端,比如Outlook Express,然后显示一个新建mail的窗口。用可以实现这样的功能。 2、给定系统的自我学习后台分析: 计算机图书信息后台维护系统分析 点击删除 点击修改 它的路径 路径 http://localhost:8080/aaa/book/index.jsp http://localhost:8080/aaa/book/RequestAdd.jsp 实训分析总结: 1、JSP文件的建立过程? 第一步 安装JDK 第二步 安装Tomcat 第三步 安装Eclipse 第四步 安装MyEclipse 第五步 破解MyEclipse 第六步 指定Eclipse+MyEclipse的JRE 和Tomcat 服务器 第七步 新建个项目来测试一下Eclipse+MyEclipse开发环境是否搭建成功 2、JSP的特点。 1.将内容的生成和显示进行分离 2.强调可重用的组件 3.采用标识简化页面开发 五、结论 在为期一个星期的实习中,让我收获不少,并且发现自己存在的不足。通过这次实习我受益匪浅,知道JAVA的功能和使用方法以及编译技术,以前只知道玩手机中的小游戏,并不知道是用JAVA做出来的,现在实习也使自己掌握了JAVA技术,也通过实习使我了解到我更多的不足,在做题时没有一点点的思路,注意力不是很集中,在每项实训中不是很认真的听讲,在调试程序的时候,发现不了问题的根本原因,一个简单的程序少了那小小的一个标点都不行,发现了自己粗心大意的一面。在以后会多加努力的。 六、致谢 通过这次实习,我深感自己的不足,我对知识的渴望远远超过这些,我将努力学习知识,取长补短,为自己注入新鲜的血液。相信自己会在以后的实习工作中更加努力。 这次非常感谢老师在实习中对我们的指导,我们有什么不懂的问题都是老师悉心教导,不耐其烦的告知我们,和我们一起实习,在这里向老师说声,您辛苦了。也非常感谢同学在学习上给予我的帮助。感谢学校为我们安排的这次实习。