版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . 枣庄学院信息科学与工程学院课程设计任务书题目:简易聊天室,网上购物学号:姓名:专业:计算机应用技术课程: J2EE应用开发指导教师:职称:导师完成时间: 2012 年 11月-2012 年 12 月枣庄学院信息科学与工程学院制课程设计任务书与成绩评定课程设计的任务和具体要求(1)了解玩具销售系统的基本概念和相关技术的基础知识。(2)理解玩具销售系统的设计与规划。(3)掌握如何使用Myeclipse和其他软件工具来设计玩具销售系统的外观和视觉效果。(5)理解如何使用Myeclipse和SQL Server来管理、使用用户资料和销售商品数据信息。(6)了解和掌握网络数据库的发展以与
2、常见的数据库产品(Access、SQL Server),能熟练掌握后台数据库的开发,设计合理的数据表。(7)能独立完成应用程序的运行环境的设置。指导教师签字:日期:指导教师评语成绩:指导教师签字:日期:课程设计所需软件、硬件等硬件平台:CPU:P41.8GHz;存:256MB以上。软件平台:操作系统:Windows xp Server;数据库:SQL Server 2005;开发工具包:Myeclipse 服务器:IIS 5.1;浏览器:IE5.0与以上版本,推荐使用IE6.0;课程设计进度计划起至日期工作容备注参考文献、资料索引序号文献、资料名称编著者出版单位1. 龙马工作室编:ASP+SQ
3、L Server 开发实例精讲,人民邮电,2007年2月2. 宋昆、严等:SQL Server数据库开发实例解析,机械工业,2006年1月3严、于亚芳、王国辉:ASP数据库开发实例解析, 机械工业,2004年12月年级2009级班号 3组号 学号 专业网络工程 实验名称 Servlet编程实验室实验目的或要求(1)熟悉Java EE编程环境JDK和NetBeans的安装,配置和使用;(2)掌握Servlet的编写与部署;(3)掌握Servlet的工作原理和编程接口;(4)掌握Servlet中客户端输入数据处理技术;(5)掌握Servlet中的
4、会话跟踪技术;(6)掌握Servlet中的请求指派技术;(7)掌握Servlet上下文属性的使用方法;(8)掌握Servlet中Filter基本编程技术;(9)掌握Servlet中Listener基本编程技术;实验原理(算法流程)实验原理:1、登陆界面: 由于登陆时要输入的中文,需要编码语言格式,将输入的容转换成中文:<meta -equiv="Content-Type"content="text ml;charset=gb2312"> 在网页中插入图片作为登陆页面的背景: <body background=&qu
5、ot;2.jpg"> 用post方法提交登陆的表单,将容交给Main函数处理:<form name="login" method="post" action="Main" > 设置表格参数包括表宽,表框宽度和居中:<table width="52%"border="2"align="center"> 设置表单容格式,和容:<td align="cen
6、ter" width="43%"><div align="center">用户名td align="center" width="43%"><div align="center">密码2、登陆失败: 响应一个 的操作: ServletRequest request, ServletResponse response 获取输入值:PrintWriter out&
7、#160;= response.getWriter()37 / 37实验原理(算法流程)如果用户输入了错误的用户名或者密码则会响应登陆失败:out.println("<title>登录失败</title>");out.println("<h1>登录失败,请重新登陆</h1>");3、登陆成功进入聊天室: 创建会话监听:public class counterListener implements SessionListener创建会话时调用 Session
8、Listener的方法。销毁会话(使其无效)时调用 SessionListener的方法。在此处添加您的代码:sessionDestroyed( SessionEvent evt);定义一个日期格式:SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd hh:mm")把字符串按照约定的格式转换成一个日期类型:Date contentTime=new Date();String dateString =timeformat.format(contentTime)
9、;4、主函数: 定义主函数的扩展:Main extends Servlet 编码转换:response.setContentType("text ml;charset=GB2312") 定义用户名和密码:String userID=request.getParameter("userID"); 写入小组成员的和学号如:if(userID.equals("少伟")&&password.equals("09066062") request.getSession(
10、).setAttribute("userID",userID);RequestDispatcher dispatcher=request.getRequestDispatcher("webchat"); 若果输入错误则重新设置。实验原理(算法流程)5、进入聊天室:由 服务提供的,webchat服务:webchat extends Servlet用来处理一个 的DELETE操作: ServletRequest request, ServletResponse response这个操作允许客户端
11、请求从服务器上删除URL:throws ServletException, IOException 用于设置输出的文档的类型:response.setContentType获取输入值:PrintWriter out = response.getWriter() 获取聊天信息:table width="58%" border="2" align="left 显示当前用户:+counter.counte+;输入聊天信息:table width=&qu
12、ot;50%" border="1" align="left调用doget()和dopost()方法;doGet( ServletRequest request, ServletResponse response)doPost( ServletRequest request, ServletResponse response)实验原理(算法流程)流程图如下:开始输入用户名,密码判断正误进入登陆界面登陆成功进入聊天室输入聊天内容显示内容,在线人数关闭窗口 登录失败,返回 组
13、分工实验结果分析与心得体会实验结果:1、 在主机A的浏览器地址栏输入:localhost:8080/webchat0/login.html 进入当登陆页面:2、 输入正确的用户名与密码:若输入了错误的用户名或密码,则会出现错误提示页面,并提醒重新输入:3、 登陆成功后进入聊天窗口:4、 若将另一台主机B的IP地址与改主机A的IP改为一样,进入该聊天室后,即可与主机A上的用户进行聊天:实验结果分析与心得体会心得体会:王鹏:通过Servlet的程序实验练习,学会了Netbeans软件开发环境的使用,并且对于其一些基本的使用功能有了比较具体的了解。Servlet作为一种独立于操作系统平台和网络传输协
14、议的的服务器端的Java应用程序,通过实验让我感受到了它最大的用途就是通过动态的响应客户端的请求来扩展服务器端的功能,并生成生成动态的Web页面。通过实验进一步夯实了关于Servlet的相关基础知识,例如Servlet的编程接口,doGet()、doPost()、init()和destroy()等方法,还有Xml和Html标签语言,并且了解了Servlet程序的编程思想。同时,在实验的过程中,不可避免的遇到了许多的问题,如页面的跳转、文字乱码、页面刷新计数错误的问题,但是通过小组成员的讨论和查阅相关的书籍,所有的问题都得到了解决,通过解决问题的过程,也锻炼了自己数据查询检索的能力,并且意识到了
15、团队合作的重要性。高圆圆:此次实验是设计一个简单的聊天室,主要功能是用户登录并显示聊天容和在线人数,并学会实现与数据库的连接实现。通过至此实验在理解Servlet的基本概念,工作原理的基础上更加熟练对Servlet的应用。方莹:实验一的要让我们利用Servlet编程技术实现一个简单的聊天室系统,在我们小组的分工合作下,我从刚开始的只是熟悉JDK和NetBeans的操作环境,逐渐到学会了Servlet的编写,掌握它的工作原理。同时为了实现一定的功能,了解到如何运用会话跟踪技术以与请求指派技术,学会如何添加Filter以与对程序的监听功能。通过理论知识的学习,加上实验课上亲自动手编码的实练,我对J
16、avaEE编程的认识以与运用方面都有很大的提高。王璐:通过此次实验使我对servlet的编程更加了解。用servlet实现聊天界面,使用会话统计在线人数,在编写代码的过程中遇到了乱码问题,通过response.setContentType语句和request.setCharacterEncoding语句解决了。对filter和listener的原理和编程方法也有了一定的认识,通过servlet的学习也对后面学习JSP打下基础。少伟:经过九个星期对JAVA EE 编程技术的的学习,使我从开始的对Netbeans软件的熟悉了解,到编出第一个Servlte的程序,到最后的JSP的程序,收获了很多的东
17、西,熟悉并掌握了如何使用Servelt和JSP编写程序,并且对这门课程产生了浓厚的兴趣,虽然JAVA EE与JAVA有实质性的不同,但是这两种编程技术的结合使得能够编写并搭建出企业级的应用程序,JAVA EE这门编程技术是许多其他技术不能相比的,它的高速反应性、安全性、可扩展性等都是得这个技术具有很高的实用性。通过这些天的实验让我了解了什么是Servlet,什么是JSP,让我掌握了如何发送非HTML文档,如何进行会话管理,以与如何使用JSP与JavaBenas结合在一起,而且JSP的自定义标记和标准标记库都使得这门编程技术更具有灵活性和可是实性,尤其是与数据库的结合更能体现出它的优点。此外,通
18、过这段时间的实验,也体会到了团队的协作也是非常重要的,好的团队精神能够让大家收获更多的东西,能够做出更完美的项目。仅从课堂学到的还远远不够,没有实践的检验是没有真正的学到知识。成绩评定教师签名: 年 月 日源代码如下:login.html<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <meta -equiv="Content-Type"content="text/html;charset=gb2312&
19、quot;> <title>Login</title> </head> <body background="2.jpg"> <h1 align="center"><b>简易群聊天室</b></h1> <form name="login" method="post" action="Main" > <p></p> <table width="52
20、%"border="2"align="center"> <tr bgcolor="#ABCDEF"> <td align="center" width="43%"><div align="center">用户名:</div></td> <td width="57%"><div align="left"> <input type= t
21、ext name="userID" value=""> </div></td> </tr> <tr bgcolor="#ABCDEF"> <td align="center" width="43%"><div align="center">密码:</div></td> <td width="57%"><div align="le
22、ft"> <input type="password" name="password" value=""> <div></td> </tr> </table> <p align="center"> <input type="reset"name="reset" value="重置"> <input type="submit"name
23、="Submit2" value="提交"> </p> </form> </body></html>Main.javapackage .servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.s
24、ervlet. . ServletRequest;import javax.servlet. . ServletResponse;public class Main extends Servlet protected void processRequest( ServletRequest request, ServletResponse response) throws ServletException, IOException response.setContentType("text/html;charset=GB2312"); request.setCharacter
25、Encoding("gb2312"); String userID=request.getParameter("userID"); if(userID=null) userID=" " String password=request.getParameter("password"); if(password=null) password=" " if(userID.equals("许显通")&&password.equals("09066062&qu
26、ot;) request.getSession().setAttribute("userID",userID); RequestDispatcher dispatcher=request.getRequestDispatcher("webchat"); dispatcher.forward(request, response); else if(userID.equals("杜天")&&password.equals("09066065") request.getSession().setAttri
27、bute("userID",userID); RequestDispatcher dispatcher=request.getRequestDispatcher("webchat"); dispatcher.forward(request, response); else if(userID.equals("栩豪")&&password.equals("09066055") request.getSession().setAttribute("userID",userID); R
28、equestDispatcher dispatcher=request.getRequestDispatcher("webchat"); dispatcher.forward(request, response); else if(userID.equals("程斌彬")&&password.equals("09066059") request.getSession().setAttribute("userID",userID); RequestDispatcher dispatcher=reque
29、st.getRequestDispatcher("webchat"); dispatcher.forward(request, response); else if(userID.equals("严茗")&&password.equals("09066053") request.getSession().setAttribute("userID",userID); RequestDispatcher dispatcher=request.getRequestDispatcher("webc
30、hat"); dispatcher.forward(request, response); else RequestDispatcher dispatcher=request.getRequestDispatcher("Loginfail"); dispatcher.forward(request, response); protected void doGet( ServletRequest request, ServletResponse response) throws ServletException, IOException processRequest
31、(request, response); protected void doPost( ServletRequest request, ServletResponse response) throws ServletException, IOException processRequest(request, response); public String getServletInfo() return "Short description" Loginfail.javapackage .servlet;import java.io.IOException;import j
32、ava.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;public class Loginfail extends Servlet protected void processRequest( ServletRequest request,
33、 ServletResponse response) throws ServletException, IOException response.setContentType("text/html;charset=GB2312"); PrintWriter out = response.getWriter(); /* TODO output your page here */ out.println("<html>"); out.println("<head>"); out.println("<
34、title>登录失败</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>登录失败,请重新登陆</h1>"); RequestDispatcher dispatcher=request.getRequestDispatcher("login.html"); dispatcher.include(request, response); out.p
35、rintln("</body>"); out.println("</html>"); out.close(); / <editor-fold defaultstate="collapsed" desc=" Servlet methods. Click on the + sign on the left to edit the code."> protected void doGet( ServletRequest request, ServletResponse response
36、) throws ServletException, IOException processRequest(request, response); protected void doPost( ServletRequest request, ServletResponse response) throws ServletException, IOException processRequest(request, response); public String getServletInfo() return "Short description" Content.javap
37、ackage .servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;public class Content extends Servlet stati
38、c String content = ""/<editor-fold defaultstate="collapsed" desc="comment"> ; protected void processRequest( ServletRequest request, ServletResponse response) throws ServletException, IOException response.setContentType("text/html;charset=gb2312"); reque
39、st.setCharacterEncoding("gb2312"); PrintWriter out = response.getWriter(); try String talkingtime =time.getTimeShort(); content += (request.getSession().getAttribute("userID") +" "+talkingtime + "rn"); content+=(request.getParameter("talkingtext")+ &
40、quot;rn"); RequestDispatcher dispatcher=request.getRequestDispatcher("webchat"); dispatcher.forward(request,response); finally out.close(); protected void doGet( ServletRequest request, ServletResponse response) throws ServletException, IOException processRequest(request, response); p
41、rotected void doPost( ServletRequest request, ServletResponse response) throws ServletException, IOException processRequest(request, response); public String getServletInfo() return "Short description" counter.javapackage .servlet;public class counter static int counte; public counter() co
42、unte=0; counterListener.javapackage .servlet;import javax.servlet. . SessionEvent;import javax.servlet. . SessionListener;public class counterListener implements SessionListener public void sessionCreated( SessionEvent evt) counter.counte+; public void sessionDestroyed( SessionEvent evt) counter.cou
43、nte-; time.javapackage .servlet;import java.text.SimpleDateFormat;import java.util.Date;public class time public static String getTimeShort() SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date contentTime=new Date(); String dateString =timeformat.format(content
44、Time); return dateString; webchat.javapackage .servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;public class webchat extends Servlet prote
45、cted void processRequest( ServletRequest request, ServletResponse response) throws ServletException, IOException response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String name=request.getParameter("userID"); / String talkwords=(String)getS
46、ervletContext().getAttribute("talking"); out.println("<html>"); out.println("<head>"); out.println("<title>聊天窗口</title>"); out.println("</head>"); out.println("<body><table border="0"width="2
47、00%"length="100%"><tr>"); out.println("<td align="left" valign="bottom">"); out.println("<h3>聊天窗口</h3></td></tr></table><hr>"); / out.println("<h5>当前用户:"+counter.counte+&quo
48、t;</h5>"); / out.println("<table width="58%" border="2" align="left">"); / out.println("<tr><td>"); / out.println("<h5>聊天信息</h5>"); / out.println("<textarea cols="101" rows="10
49、" style="overflow:auto" >"+Content.content+ "</textarea>"); / out.println("<textarea name="text" clos="100" rows="10">"+Content.content+"</textarea>"); / out.println("</tr></td> <
50、/table>"); out.println ("<h4>当前用户:"+counter.counte+"<h4>"); out.println("<table width="50%" border="1" align="left">"); out.println("<tr><td>"); out.println("<h5>聊天信息输出</h5>&q
51、uot;); out.println("<textarea name="talkingwindow" cols="100" rows="10" style="overflow:auto">"+Content.content+ "</textarea>"); out.println("</tr></td> </table>"); out.println("<br><br&
52、gt;<br><br><br><br><br><br><br><br><br><br>"); out.println("<form action="Content" method="post">"); out.println("<table width="50%" border="1" align="left">&
53、quot;); out.println("<tr><td>"); out.println("<h5>聊天信息输入</h5>"); out.println("<textarea name="talkingtext" cols="100" rows="10"> </textarea>"); out.println("</tr></td> </table>"
54、;); out.println("<br><br><br><br><br><br><br><br><br><br><br><br>"); out.println("<table width="40%" border="0" align="right">"); out.println("<tr><td>&quo
55、t;); out.println("<input type="submit" align="right" name="btn_submit" value="提交">"); out.println("<input type="reset" name="btn_reset" value="重置">"); out.println("</tr></td> </t
56、able></form>"); / out.println("<textarea name="talkingtext" clos="100" rows="10"></textarea><br><br>");/ out.println("<input type="Submit" name="btn_submit""+"value="提交">&
57、quot;); / out.println("<input type="Reset" name="btn_reset""+"value="重置">"); out.println("</body>"); out.println("</html>"); out.close(); protected void doGet( ServletRequest request, ServletResponse response) th
58、rows ServletException, IOException processRequest(request, response); protected void doPost( ServletRequest request, ServletResponse response) throws ServletException, IOException processRequest(request, response); public String getServletInfo() return "Short description" 年级2009级班号3组号
59、;学号 专业网络工程 实验名称JSP编程实验室实验目的或要求(1)掌握JSP指令的使用方法;(2)掌握JSP动作的使用方法;(3)掌握JSP置对象的使用方法;(4)掌握JavaBean的编程技术与使用方法;(5)掌握JSP中数据库编程方法;实验原理(算法流程)登陆界面:输入用户名和密码后,跳转至main.jsp判断用户名和密码是否正确<form method="post" action="Main.jsp" >用户名:<input type="text" name="Username" id="Username">密 码:<input type="password" name="Password" id="Pa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理-变电站卫生管理制度
- 河南省南和县重点达标名校2026届初三第二次模考物理试题试卷含解析
- 山东省青岛市西海岸新区6中2026届初三4月考试题物理试题试卷含解析
- 江苏省无锡市丁蜀学区2025-2026学年初三百校联合调研测试(一)数学试题含解析
- 安徽省阜阳市重点中学2026年五月适应考试物理试题含解析
- 湖南长沙市开福区达标名校2026届普通高中毕业班4月质量检查物理试题试卷含解析
- 造口患者的自我护理能力培养
- 腹部手术患者电解质紊乱纠正
- 胆管癌术后营养评估
- 人民医院审计制度
- 电子厂考试题目及答案
- 某河道防洪堤坝建设项目可行性研究报告
- 访问控制安全管理制度
- 工程EPC总承包项目成本管控方案
- 电容储能螺柱焊机说明书
- 《Unit 1 Nice boys and girls》(教学设计)-2024-2025学年人教版PEP(一起)(2024)英语一年级下册
- 神经外科手术患者家属的照护指南
- 《质量、环境和职业健康安全管理体系程序文件》
- 一般情况皮肤淋巴结及头颈部检查课件
- 保护性约束相关管理制度
- 《汽车商品性主观评价方法 客车》
评论
0/150
提交评论