JavaEE实验报告(电子档).doc





《JavaEE实验报告(电子档).doc》由会员分享,可在线阅读,更多相关《JavaEE实验报告(电子档).doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、院 系: 计算机科学学院 专 业: 网络工程 年 级: 2009级 课程名称: JavaEE编程技术 组员学号及姓名: 王鹏 高圆圆 方莹 王璐 孙少伟 指导教师: 徐胜舟 2012年 4月 10日年级2009级班号3组号学号专业网络工程姓名实验名称 Servlet编程实验室实验目的或要求(1)熟悉Java EE编程环境JDK和NetBeans的安装,配置和使用;(2)掌握Servlet的编写及部署;(3)掌握Servlet的工作原理和编程接口;(4)掌握Servlet中客户端输入数据处理技术;(5)掌握Servlet中的会话跟踪技术;(6)掌握Servlet中的请求指派技术;(7)掌握Ser
2、vlet上下文属性的使用方法;(8)掌握Servlet中Filter基本编程技术;(9)掌握Servlet中Listener基本编程技术;实验原理(算法流程)实验原理:1、登陆界面: 由于登陆时要输入姓名的中文,需要编码语言格式,将输入的内容转换成中文: 在网页中插入图片作为登陆页面的背景: 用post方法提交登陆的表单,将内容交给Main函数处理: 设置表格参数包括表宽,表框宽度和居中: 设置表单内容格式,和内容: 用户名 tdalign=centerwidth=43%密码2、登陆失败: 响应一个Http的操作: HttpServletRequestrequest,HttpServletRe
3、sponseresponse 获取输入值: PrintWriterout=response.getWriter()实验原理(算法流程)如果用户输入了错误的用户名或者密码则会响应登陆失败: out.println(登录失败); out.println(登录失败,请重新登陆);3、登陆成功进入聊天室: 创建会话监听: publicclasscounterListenerimplementsHttpSessionListener 创建会话时调用HttpSessionListener的方法。 销毁会话(使其无效)时调用HttpSessionListener的方法。 在此处添加您的代码: session
4、Destroyed(HttpSessionEventevt); 定义一个日期格式: SimpleDateFormat sdf=new SimpleDateFormat(yyyy-mm-dd hh:mm)把字符串按照约定的格式转换成一个日期类型: DatecontentTime=newDate(); StringdateString=timeformat.format(contentTime);4、主函数: 定义主函数的扩展: MainextendsHttpServlet 编码转换: response.setContentType(text ml;charset=GB2312) 定义用户名和密码
5、: StringuserID=request.getParameter(userID); 写入小组成员的姓名和学号如: if(userID.equals(孙少伟)&password.equals() request.getSession().setAttribute(userID,userID); RequestDispatcherdispatcher=request.getRequestDispatcher(webchat); 若果输入错误则重新设置。实验原理(算法流程)5、进入聊天室: 由http服务提供的,webchat服务: webchatextendsHttpServlet 用来处理
6、一个HTTP 的DELETE操作: HttpServletRequestrequest,HttpServletResponseresponse这个操作允许客户端请求从服务器上删除URL:throwsServletException,IOException用于设置输出的文档的类型:response.setContentType获取输入值: PrintWriterout=response.getWriter() 获取聊天信息: tablewidth=58%border=2align=left 显示当前用户: +counter.counte+;输入聊天信息:tablewidth=50%border=
7、1align=left调用doget()和dopost()方法;doGet(HttpServletRequestrequest,HttpServletResponseresponse)doPost(HttpServletRequestrequest,HttpServletResponseresponse)实验原理(算法流程)流程图如下: 开始输入用户名,密码判断正误进入登陆界面登陆成功进入聊天室输入聊天内容显示内容,在线人数关闭窗口 登录失败,返回 组内分工实验结果分析及心得体会实验结果:1、 在主机A的浏览器地址栏输入:http:/localhost:8080/webchat0/login.
8、html 进入当登陆页面:2、 输入正确的用户名及密码:若输入了错误的用户名或密码,则会出现错误提示页面,并提醒重新输入:3、 登陆成功后进入聊天窗口:4、 若将另一台主机B的IP地址与改主机A的IP改为一样,进入该聊天室后,即可与主机A上的用户进行聊天:实验结果分析及心得体会心得体会:王鹏:通过Servlet的程序实验练习,学会了Netbeans软件开发环境的使用,并且对于其一些基本的使用功能有了比较具体的了解。Servlet作为一种独立于操作系统平台和网络传输协议的的服务器端的Java应用程序,通过实验让我感受到了它最大的用途就是通过动态的响应客户端的请求来扩展服务器端的功能,并生成生成动
9、态的Web页面。通过实验进一步夯实了关于Servlet的相关基础知识,例如Servlet的编程接口,doGet()、doPost()、init()和destroy()等方法,还有Xml和Html标签语言,并且了解了Servlet程序的编程思想。同时,在实验的过程中,不可避免的遇到了许多的问题,如页面的跳转、文字乱码、页面刷新计数错误的问题,但是通过小组成员的讨论和查阅相关的书籍,所有的问题都得到了解决,通过解决问题的过程,也锻炼了自己数据查询检索的能力,并且意识到了团队合作的重要性。高圆圆:此次实验是设计一个简单的聊天室,主要功能是用户登录并显示聊天内容和在线人数,并学会实现与数据库的连接实现
10、。通过至此实验在理解Servlet的基本概念,工作原理的基础上更加熟练对Servlet的应用。方莹:实验一的要求是让我们利用Servlet编程技术实现一个简单的聊天室系统,在我们小组的分工合作下,我从刚开始的只是熟悉JDK和NetBeans的操作环境,逐渐到学会了Servlet的编写,掌握它的工作原理。同时为了实现一定的功能,了解到如何运用会话跟踪技术以及请求指派技术,学会如何添加Filter以及对程序的监听功能。通过理论知识的学习,加上实验课上亲自动手编码的实练,我对JavaEE编程的认识以及运用方面都有很大的提高。王璐:通过此次实验使我对servlet的编程更加了解。用servlet实现聊
11、天界面,使用会话统计在线人数,在编写代码的过程中遇到了乱码问题,通过response.setContentType语句和request.setCharacterEncoding语句解决了。对filter和listener的原理和编程方法也有了一定的认识,通过servlet的学习也对后面学习JSP打下基础。孙少伟:经过九个星期对JAVA EE 编程技术的的学习,使我从开始的对Netbeans软件的熟悉了解,到编出第一个Servlte的程序,到最后的JSP的程序,收获了很多的东西,熟悉并掌握了如何使用Servelt和JSP编写程序,并且对这门课程产生了浓厚的兴趣,虽然JAVA EE与JAVA有实质
12、性的不同,但是这两种编程技术的结合使得能够编写并搭建出企业级的应用程序,JAVA EE这门编程技术是许多其他技术不能相比的,它的高速反应性、安全性、可扩展性等都是得这个技术具有很高的实用性。通过这些天的实验让我了解了什么是Servlet,什么是JSP,让我掌握了如何发送非HTML文档,如何进行会话管理,以及如何使用JSP与JavaBenas结合在一起,而且JSP的自定义标记和标准标记库都使得这门编程技术更具有灵活性和可是实性,尤其是与数据库的结合更能体现出它的优点。此外,通过这段时间的实验,也体会到了团队的协作也是非常重要的,好的团队精神能够让大家收获更多的东西,能够做出更完美的项目。仅从课堂
13、学到的还远远不够,没有实践的检验是没有真正的学到知识。成绩评定教师签名: 年 月 日源代码如下:login.html Login 简易群聊天室 用户名: 密码: Main.javapackage com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.
14、http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Main extends HttpServlet protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=GB2312); request.setChara
15、cterEncoding(gb2312); String userID=request.getParameter(userID); if(userID=null) userID= ; String password=request.getParameter(password); if(password=null) password= ; if(userID.equals(许显通)&password.equals() request.getSession().setAttribute(userID,userID); RequestDispatcher dispatcher=request.get
16、RequestDispatcher(webchat); dispatcher.forward(request, response); else if(userID.equals(杜天)&password.equals() request.getSession().setAttribute(userID,userID); RequestDispatcher dispatcher=request.getRequestDispatcher(webchat); dispatcher.forward(request, response); else if(userID.equals(张栩豪)&passw
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaEE 实验 报告 电子

限制150内