




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南民族大学计算机科学学院JavaEE实验报告20122013第一学期课程名称: J2EE及其应用 院 系: 计算机科学学院 年 级: 2010 专 业: 计算机科学与技术(2)大班小组成员(学号姓名): 10061103 张名扬 10061104 卢童 10061106 库承鹏 指导教师: 蓝雯飞 郭峰 孔德志 2012年12月31日年级2010级班号计科2大班组号学号专业计算机科学与技术姓名实验名称Servlet编程实验室实验目的或要求(1)熟悉Java EE编程环境JDK和NetBeans的安装,配置和使用;(2)掌握Servlet的编写及部署;(3)掌握Servlet的工作原理和编程接口;(4)掌握Servlet中客户端输入数据处理技术;(5)掌握Servlet中的会话跟踪技术;(5)掌握Servlet中的请求指派技术;(6)掌握Servlet上下文属性的使用方法;(7)掌握Servlet中Filter基本编程技术;(8)掌握Servlet中Listener基本编程技术;实验原理(算法流程)利用Servlet编程技术实现一个简单的聊天室系统,具体要求如下:(1)编写一个登录页面(login.html),登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息。(2)编写一个Servlet程序Main.java通过请求指派来处理用户提交的登录信息,如果用户名为本小组成员的名字且密码为对应的学号时,跳转到LoginSuccess显示聊天界面(类似于QQ聊天界面,使用HTML中的frameset标签生成两个窗口,一个用来实现用户信息输入,另一个显示所有用户聊天记录的);否则跳转到LoginFail页面,提示用户重新登录(注:此页面上要包含前面的登录界面)。实验原理(算法流程)(3)编写两个Servlet程序,分别用来显示“信息输入”窗口和“聊天记录显示”窗口的内容;用户在“信息输入”窗口中键入聊天内容,点击“发送”按钮后,在“聊天记录显示”窗口中显示发送消息的用户名称和聊天内容。提示:利用HTML中的textarea标签来实现。(4)编写一个Listener程序来监听会话的创建和销毁事件,以此统计当前在线(登录)人数,并将其显示在聊天界面上。以下为选做功能:(5)添加一个Filter对本系统所有的Servlet程序进行过滤,该Filter实现对请求和响应对象的编码格式的设置(实现此功能后,Servlet可以直接从请求对象中获取参数信息而无需实现对请求进行格式的编码)。在【GlassFish Server 3.1】视图中输出程序在Filter和其它资源之间的执行顺序。(6)在登录界面上实现记住用户名和密码的功能,使得当用户选择了此功能并成功登录后,在其下次登录时可以不用再输入用户名和密码即可登录。提示:此功能可通过两个Cookie来实现。组内分工代码实现:张名扬调试和分析:库承鹏 卢童实验结果分析实验结果分析实验结果分析心得体会1、 项目文件视图2、登录界面3、登录失败界面4、登录成功界面5、用户输入信息 信息成功输出两个用户实现对话通过本次实验,我们熟悉Java EE编程环境JDK和NetBeans的安装,配置和使用;掌握了Servlet的编写及部署的基本知识,对Servlet编程的会话管理尤其是HttpSession对象跟踪会话有了深刻的体会,在对监听器的用户中,我们学会了会话对象创建销毁及会话属性信息的增加和删改。成绩评定教师签名: 年 月 日源代码如下:1、 登录页面代码:login.html 登陆界面 欢迎登陆系统 账号: 密码: 2、 判断登录界面 main.java/* * To change this template, choose Tools | Templates * and open the template in the editor. */package 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.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/* * * author lenovo */public class Main extends HttpServlet /* * Processes requests for both HTTP * GET and * POST methods. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter(); try /* TODO output your page here. You may use following sample code. */ response.setContentType(text/html;charset=GB2312); request.setCharacterEncoding(gb2312); String userID=request.getParameter(userID); if(userID=null) userID= ; String password=request.getParameter(password); if(password=null) password= ; if(userID.equals(张名扬)&password.equals(10061103) request.getSession().setAttribute(userID,userID); RequestDispatcher dispatcher=request.getRequestDispatcher(webchat); dispatcher.forward(request, response); else if(userID.equals(卢童)&password.equals(10061104) request.getSession().setAttribute(userID,userID); RequestDispatcher dispatcher=request.getRequestDispatcher(webchat); dispatcher.forward(request, response); else if(userID.equals(库承鹏)&password.equals(10061106) request.getSession().setAttribute(userID,userID); RequestDispatcher dispatcher=request.getRequestDispatcher(webchat); dispatcher.forward(request, response); else RequestDispatcher dispatcher=request.getRequestDispatcher(Loginfail); dispatcher.forward(request, response); finally out.close(); / /* * Handles the HTTP * GET method. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, response); /* * Handles the HTTP * POST method. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, response); /* * Returns a short description of the servlet. * * return a String containing servlet description */ Override public String getServletInfo() return Short description; / 3、聊天主界面:webchat.java/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/* * * author lenovo */public class webchat extends HttpServlet /* * Processes requests for both HTTP * GET and * POST methods. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter(); String name=request.getParameter(userID); String temp=(String)getServletContext().getAttribute(online);if(temp=null) temp=0; / String talkwords=(String)getServletContext().getAttribute(talking); out.println(); out.println(); out.println(聊天窗口); / out.println(); /out.println( ); /out.println( ) out.println(); out.println(); out.println(); out.println(欢迎! + request.getSession().getAttribute(userID) + 同学,您已经成功登陆该系统); out.println(退出); out.println(欢迎登陆聊天系统); out.println (当前用户:+temp+); out.println(); out.println(); out.println(聊天信息输出); out.println(+Content.content+ ); out.println( ); out.println(); out.println(); out.println(); out.println(); out.println(聊天信息输入); out.println( ); out.println( ); out.println(); out.println(); out.println(); out.println(); out.println(); out.println( ); out.println(); out.println(); out.close(); / /* * Handles the HTTP * GET method. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, response); /* * Handles the HTTP * POST method. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, response); /* * Returns a short description of the servlet. * * return a String containing servlet description */ Override public String getServletInfo() return Short description; / 4、登录失败:Loginfail/* * To change this template, choose Tools | Templates * and open the template in the editor. */package 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.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/* * * author lenovo */public class Loginfail extends HttpServlet /* * Processes requests for both HTTP * GET and * POST methods. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter(); try /* TODO output your page here. You may use following sample code. */ out.println(); out.println(); out.println(登录失败); out.println(); out.println(); out.println(登录失败,请重新登陆); RequestDispatcher dispatcher=request.getRequestDispatcher(login.html); dispatcher.include(request, response); out.println(); out.println(); finally out.close(); / /* * Handles the HTTP * GET method. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, response); /* * Handles the HTTP * POST method. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, response); /* * Returns a short description of the servlet. * * return a String containing servlet description */ Override public String getServletInfo() return Short description; / 5、聊天内容的实现:Content.java/* * To change this template, choose Tools | Templates * and open the template in the editor. */package 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.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/* * * author lenovo */ ;public class Content extends HttpServlet static String content; /* * Processes requests for both HTTP * GET and * POST methods. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=gb2312); request.setCharacterEncoding(gb2312); PrintWriter out = response.getWriter(); try String talkingtime =time.getTimeShort(); content += (request.getSession().getAttribute(userID) + +talkingtime + rn); content+=(request.getParameter(talkingtext)+ rn); RequestDispatcher dispatcher=request.getRequestDispatcher(webchat); dispatcher.forward(request,response); finally out.close(); / /* * Handles the HTTP * GET method. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, response); /* * Handles the HTTP * POST method. * * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, response); /* * Returns a short description of the servlet. * * return a String containing servlet description */ Override public String getServletInfo() return Short description; / 6、时间返回功能:time.java/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.servlet;import java.text.SimpleDateFormat;import java.util.Date;/* * * author lenovo */public class time public static Strin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 造纸工新员工考核试卷及答案
- 陶瓷工艺师晋升考核试卷及答案
- 制浆废液回收利用工专项考核试卷及答案
- 2025企业临时工聘用合同模板
- 中医护理诊法题库及答案解析
- 吞咽障碍患者护理题库及答案解析
- 变压器线圈制造工突发故障应对考核试卷及答案
- 煤矿安全生产答题题库及答案解析
- 漆艺师工艺创新考核试卷及答案
- 2025标准合同范本:物业租赁合同
- 电商行业员工行为规范与工作手册
- 借款合同中国农业银行担保借款合同3篇
- 建筑装修工程质量监督管理制度
- 不锈钢栏杆施工全流程方案
- 2025住院医师规范化培训院内师资培训考核测试题附答案
- 《一定要争气》(第2课时) 课件 小学语文部编版三年级上册
- 血透室护士手卫生
- USP232-233标准文本及中英文对照
- 部编版八上语文名著《红岩》问答题精练(教师版)
- 2025-2026学年人教精通版四年级英语上册(全册)教学设计(附目录)
- 2025年秋期人教版2年级上册数学核心素养教案(校园小导游)(教学反思有内容+二次备课版)
评论
0/150
提交评论