




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三试卷:江浙皖高中(县中)发展共同体2024-2025学年高三上学期10月联考数学试题
- 二零二五年度物联网设备购销合同物联网应用
- 二零二五年度房屋买卖垫资借款及贷款利率调整合同
- 二零二五年度工人工资支付与环境保护合同
- 2025版离婚后共同财产分割及债务处理三方协议书
- 二零二五年度电动四轮车总代理服务合同样本
- 二零二五年度稻谷种植保险代理服务合同
- 二零二五年度创新型科技公司股权投资合同范本
- 二零二五年度鲜活海鲜冷链物流运输合同
- 2025版农业产业链无息贷款合作协议范本
- 办公室文秘岗试题带答案
- 2025年河南疾控中心考试题库
- 2025年【高压电工】模拟试题及答案
- 养老护理员竞赛理论试卷答案(含答案)
- 2025年四川省能源投资集团有限责任公司人员招聘笔试备考题库及答案详解(新)
- 2025年国家工业信息安全发展研究中心招聘考试笔试试题
- 广东省公路服务区管理系统升级及运维项目
- 2024年泰山文化旅游集团有限公司权属企业招聘真题
- 学术刊物管理办法
- 造林后续管理办法
- 《房地产估价》课件
评论
0/150
提交评论