




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南林业科技大学 实训报告 设计名称: JSP 聊天室 专业班级: 09 级计算机科学与技术(对口)1 班 系 (院): 计算机与信息工程学院 设计时间: 2012 年上半学期 1118 周 设计地点: 电子信息楼 609 指导教师评语: 签名: 年 月 日 姓 名 学 号 成 绩 组 长 李周 20094178 成员 张康 20094198 网站建设与管理实训 2 jsp 在线聊天室 【引言】 网上聊天室是网络用户最喜欢的 Web 应用程序。借助聊天室,用户可以即 时地互通信息,交流思想。聊天室程序设计根据需求的不同可繁可简。本系统 实现的是一个具有简易功能的聊天室,是使用 JSP 技术开发的动态网站。系统 开发的任务主要包括前台界面设计和后台数据库管理系统设计。 本系统采用 JSP 作为开发工具,后台数据库采用 Oracl 数据库设计,利用 基于 JDBC 的 ODBC 数据库访问技术实现对数据库的各种管理操作,实现聊天室 的聊天功能和显示在线聊天用户信息等功能 网站建设与管理实训 3 目录 1 网站建设目的及网站类型定位 4 1.1 网站建设目的 .4 1.2 网站类型定位 .4 2 可行性分析 4 2.1 技术可行性分析 .4 2.2 经济可行性分析 .5 2.3 社会因素可行性分析 .5 3 需求分析 5 4 系统概要设计 6 4.1 系统功能模块图 .6 4.2 系统流程图 .7 4.3 数据库逻辑结构设计 .8 4.4 数据库表 ER 图 .9 5 系统需要解决的主要问题 .10 6 系统前台模块设计 .10 6.1 用户登录模块 .10 6.2 用户注册模块设计 .14 6.3 聊天者发言模块设计 .17 6.4 查看聊天信息 .20 6.5 文件上传 .21 6.6 文件下载: .22 6.7 音乐播放器: .23 7 系统后台管理模块 .24 7.1 后台登录 .24 7.1 后台用户管理模块 .25 7.2 聊天记录管理模块 .29 7.3 公告管理模块 .30 8 逻辑控制模块的设计 .35 9 系统的测试和维护 .35 10 JSP 在线聊天室测试 35 结 束 语 35 谢 辞 .36 网站建设与管理实训 4 参考文献 36 网站建设与管理实训 5 1 网站建设目的及网站类型定位 1.1 网站建设目的 随着 Internet 的普及和宽带网络技术的成熟,越来越多的用户进入到网络 世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络 带来的便利和办公的高效。与此同时,一个新型的 Web 应用程序为网民之间提 供了一个即时互通信息的功能和场所,这就是聊天室。 聊天室在网络早期就开始盛行了,不论是 BBS、IRC 都有类似的网上聊天机 制。聊天室为网友提供了实时对话的渠道,是网络上极为流行的一种服务。 聊天室适用于网上会议或闲聊的场合。聊天室为网友提供了较好的交友环 境,网友之间互相以文字交谈,在形式上类似笔友的性质,却大大节省了书信 往返的时间。 1.2 网站类型定位 网上聊天系统网站 2 可行性分析 可行性分析是依据初步调查的结果作出系统开发可行性与否的结论的过程。 可行性分析是从技术可行性、经济可行性和运行可行性三个方面考虑的,论证 系统开发是否可行。 2.1 技术可行性分析 为实现系统目标,需要技术保证。此系统开发所需要的技术主要有计算机 硬件、软件技术、系统开发人员的水平、用户管理与使用的能力等。 通过比较 ASP 和 JSP 这两种传统的动态网页制作技术,觉得 JSP 具有明显 的优势: (1)作为 Java 平台的一部分,JSP 拥有 Java 编程语言“一次编写,到处 运行”的特点,一次写入之后,可以运行在任何具有符合 Java 语法结构的环境 中,取代过去单一开发。而 ASP 主要工作环境是微软的 IIS 应用程序,又因 Activex 对象具有平台特性,所以 ASP 技术不能很容易的实现跨平台的 服务器的工作。 (2)ASP 仅支持组建对象模型 COM,而 JSP 技术提供的组建都是基于 JavaBean 技术或 JSP 标签库。除此之外,JSP 还有组件的可重用性,标签的可 扩充性和易于维护等特点。 如上的分析比较不难看出,JSP 技术编写的程序运用要更加灵活,可扩展 性更强,在现有技术条件下,能够完成功能目的。 鉴于以上分析,系统开发在技术上是完全可行的。 2.2 经济可行性分析 本系统开发在软件方面主要使用了 JSP 网站设计技术、网页制作三剑客、 网站建设与管理实训 6 MyEclipse 8.6、Oracle 后台数据库等软件,这些均可在网上下载获得,注册 码且不涉及商业盈利问题,因此,在经济方面可行。 2.3 社会因素可行性分析 本系统仅作为实习项目而提出。不会违反相关法律法规。且本系统能保证 在当前的操作环境下正常运行。Jsp 在线聊天室,实现了一对一,一对的多,多对 多的聊天,并且能共享文件,非常方便. 综上所述,系统开发完全可行。 3 需求分析 这是一个具有最简单功能的聊天室。通过该聊天室,用户可以通过设置不 同的用户名和密码以各种不同的身份进入聊天室,用户的类型有两种:普通用 户和管理员。普通用户可以在聊天室中发送信息,也可以和指定的聊天对象用 户私聊,还可以对发送的信息进行动作、颜色等方面的限制。管理员出了具有 普通用户的功能外,还可以对在线用户和所有数据库中的用户进行设置,以便 对聊天室进行维护。管理员可以把在线用户踢出聊天室,还可以删除其他管理 员不希望再次进入聊天室的用户。聊天室又分为三类,用户可以根据自己的需 要进入不同的聊天室进行聊天。系统还应具有自动把在线但不发言的时间超过 系统设置的时间的用户踢出聊天室和的功能,还应具有当有新用户进入聊天室 时,实时更新在线用户的功能。 聊天室的特点就是要求能够实时显示出聊天者所谈的内容。即在同一个聊 天室的使用者,可以在短时间内立刻看到其他聊天者的发言。作为用户喜欢的 Web 应用程序,出了具有能够实时显示出聊天者所谈论的内容外,还应具有以 多种方式发布信息的功能。JSP 正好可以满足聊天室的这种要求,它可以快速 地创建和显示 Web 页面的动态内容。 总的来说,本聊天室主要实现了以下的功能: 用户输入帐号,密码登录聊天室 把用户的聊天信息写入数据库 用户可以修改聊天语句的颜色,选择说话动作 用户聊天室可以选择聊天对象(私聊,群聊) 聊天室不断地对数据库进行刷新、读取 实时更新在线的用户 管理员管理在线用户 网站建设与管理实训 7 4 系统概要设计 4.1 系统功能模块图 Jsp 在线聊天室 用 户 登 陆 用 户 退 出 聊 天 发 言 显 示 聊 天 信 息 显 示 在 线 用 户 普 通 用 户 登 录 管 理 员 登 陆 文 件 共 享 查 看 用 户 信 息 踢 出 在 线 用 户 网站建设与管理实训 8 4.2 系统流程图 开始 用户登陆 帐号判断 帐号错误 提示从 新输入 或注册 帐号正确 张却 是否管理员 是否 选 择 聊 天 室 选 择 聊 天 对 象 选 择 动 作 文 件 共 享 选 择 聊 天 室 选 择 聊 天 对 象 选 择 动 作 文 件 共 享 踢 出 在 线 用 户 删 除 注 册 用 户 显示聊天内容 是否退出 结束 网站建设与管理实训 9 4.3 数据库逻辑结构设计 建立一个名为 chatroom 的 orcal 数据库。数据库中共使用四个表分别名为: 表 4-1 用户信息表(userinfo) 列 名 数 据 类 型 长 度 允 许 空 User_name varchar 50 password varchar 50 User_id int 8 User_mail varchar 50 Yes flag varchar 50 表 4-2 在线用户表(onlineuser) 列 名 数 据 类 型 长 度 允 许 空 User_id int User_name varchar 50 Chat_room varcahr 204 Login_time datetime 8 表 4-3 聊天记录(msginfo) 列 名 数 据 类 型 长 度 允 许 空 chatroom varchar 50 msgfrom varchar 50 msgto varchar 50 msgkind int 8 msgcontent text 16 msgtime date 4 表 4-4 公告表(Publiser) 列 名 数 据 类 型 长 度 允 许 空 P_name varchar P_user varchar 50 表 4-5 管理员表(admin) 列 名 数 据 类 型 长 度 允 许 空 User_id int User_name varchar 50 表 4-6 聊天室表(chatinfo) 列 名 数 据 类 型 长 度 允 许 空 chatid int 50 Chatname varchar 50 chatmsg varchar 50 网站建设与管理实训 10 4.4 数据库表 ER 图 用户表 用户名 密码 用户 ID 邮箱 标志 在线表 用户 ID 用户名 登陆时间 聊天记录 发送者 接收者 发送内容 发送时间 发送内型 公告表 管理员名 管理员 操作 查看 显示 聊天室 m n 1 m m n 网站建设与管理实训 11 5 系统需要解决的主要问题 在规划设计聊天室时,首先要确定好谈话内容存储方式,JSP 可以用三种 形式实现聊天内容的存取: 1)用全局变量 Application 和 Session 对象实现。这种形式速度快、效果 好,但较消耗系统资源。 2)用读写数据库的方法实现。这种方法相对简单,但会使数据库负担重。 本系统采用的就是该方法。本设计选择了 Oracle 数据库来存储谈话内容。 3)用读写文本文件方法。该方法适合简单的聊天室。 另一个设计聊天室时要考虑的因素就是聊天室成员的动态刷新。有的用户 在退出聊天室时并不是从退出链接退出的,但服务器并不知道用户已经离开了。 因此需要建立一个在线用户数据库,每隔一段时间检查一次,看用户从最后一 次发言到现在是否超时,若是,则将该用户自动删除。 6 系统前台模块设计 6.1 用户登录模块 本系统需注册,输入用户名和密及即可。登录成功后,显示在线用户列表, 可以发送信息,在线用户表中增加刚才登录的当前用户的名字。 如图所示: 图 6-1 用户登录界面 其代码为: 1. 2. 欢迎来到HH聊天室! 3. 网站建设与管理实训 12 4. 5. 6. 7. 用户名: 8. 密码: 9. 记住用户名 10.自动登录 11. 12. 13. 14. 15. 16. 用户从登陆页面进入聊天室时,如果登录失败则显示出错原因。 图 6-2 用户名或密码为空 从界面获取数据,将数据封装在 UserVo 中,将 UserVo 作为一个整体的对象传 递给 Dao 层,在其 Dao 层,根据传递过来的数据从数据库中进行查找 ,如果数 据库中存在,刚登录 成功 ,否则提示登录 错误。 实现登录界面验证的相关代码为:(user.action) 1. public void login(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 2. UserVo user = new UserVo(); 3. String user_name=new String(request.getParameter(“loginname“).getBytes(“ISO-8859- 1“),“utf-8“); 网站建设与管理实训 13 4. user.setUser_name(user_name ); 5. user.setUser_pwd(request.getParameter(“loginpwd“); 6. try 7. int usertype =service.queryUser(user); 8. if( usertype 0 ) 9. java.util.Date nowdate=new java.util.Date(); 10.String chattime=nowdate.toLocaleString(); 11.InOnLineUserVo vo=new InOnLineUserVo(); 12.vo.setUsername(user_name); 13.vo.setChatroom(“1“); 14.vo.setLogintime(chattime); 15.request.getSession().setAttribute( “username“, user.getUser_name(); 16.request.getSession().setAttribute( “usertype“, usertype ); 17.response.sendRedirect( “frame.jsp“ ); 18. int flag=service.add_onlineuser(vo); 19. return; else/ Login.jsp 20.response.getWriter().println( “alert(登录失败!); location=index.jsp;“ ); 1. ii. catch( Exception e ) 1. e.printStackTrace(); UserDao 对应的代码为: public int queryUser(UserVo user) / TODO Auto-generated method stub Connection conn = ConnTools.conn; int count = 0; try PreparedStatement stmt = conn.prepareStatement( Constants.QUERY_USER ); stmt.setString( 1, user.getUser_name() ); stmt.setString( 2, user.getUser_pwd(); ResultSet rs = stmt.executeQuery(); if( rs.next() ) count = 1; 网站建设与管理实训 14 catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); /*finally ConnTools.close( conn ); */ return count; 验证成功后进入到的主界面 图 6-3 聊天室主界面 系统的主界面是一个框架页面 frame.jsp,定义如下: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 网站建设与管理实训 15 12. 13.浏览器不支持框架多页面显示,建议使用IE v4.0以上版本。谢谢你的支持! 14. 15. 16. 此框架页面由四部分组成: 左边的框架, 用来显示各种功能 ,打开的网页文件 为:left.jsp 上面的框架,用来显示欢迎聊天者进来聊天,打开的网页文件为: head.jsp。 中间框架:其本身是一个 frame 框架,为发送、接收信息。打开的网页文 件 为 send.jsp;receive.jsp 右边的框架:用来显示所有在线聊天用户的信息,打开的网页文件为: right.jsp。 6.2 用户注册模块设计 该模块的主要作用是实现用户注册。当用户输入注册信息内容时,系统会 根据用户输入的内容通过 ajax 进行验证,验证成功后,提示用户注册 成功, 否刚提示注册失败,返回到登录 界面 。 用户注册页面: 实现用户注册的及 ajax 验证的相关代码为: /创建 XHR function createXHR() var XHR; 网站建设与管理实训 16 if( window.XMLHttpRequest ) XHR = new XMLHttpRequest();/非IE else if( window.ActiveXObject ) try XHR = new ActiveXObject( “Msxml2.XMLHTTP“ );/新 的IE catch(e) XHR = new ActiveXObject( “Microsoft.XMLHTTP“ );/旧的 IE return XHR; /通过编码查询 function getValue(loginname) var loginname = document.f.loginname.value; /获取XHR对像 var XHR = createXHR(); /alert( XHR ); var url = “user.do?method=validate_User XHR.open( “get“,url,true ); var span = document.getElementById( “span“ ); /通过回调函数监听与服务端通信的状态 onreadystatechange XHR.onreadystatechange = function() if( XHR.readyState = 4 if( flag0) span.innerHTML = “用户名已 存在!“; 网站建设与管理实训 17 else span.innerHTML = “用户名可 用!“; span.style.display = “block“; ; XHR.send( null ); function validate_Pwd() var password=document.f.loginpwd.value; var password_1=document.f.loginpwd1.value; var span_pwd = document.getElementById(“span_pwd“); if(password!=password_1) span_pwd.innerHTML = “俩次密码不同! “; else span_pwd.innerHTML = “密码验证通过! “; span_pwd.style.display = “block“; function validate_email(mail) var _reg =/(a-zA-Z0-9_-)+(a-zA-Z0-9_-)+(.a-zA- Z0-9_-2,3)1,2)$/; if(_reg.test(mail) span_email.innerHTML = “邮箱 验证通过!“; else span_email.innerHTML = “邮箱 格式不正确!“; span_email.style.display = “block“; 网站建设与管理实训 18 用户注册 用户名: 密码: 确认密码: 邮箱 : 性别 : 男 女 网站建设与管理实训 19 6.3 聊天者发言模块设计 该模块的主要作用是实现聊天者以各种表情、各种身份、不同颜色的文字 对不同的用户发送聊天信息。当用户以正确的用户名和密码登录聊天室后就可 以通过聊天者发言的功能,发送聊天信息。实现发言功能的程序为 send.jsp。 其相关代码为: int wordslen =0; String linewords=“; Vector chatwords = (Vector) application.getAttribute(“chatwords“); String fontcolor= request.getParameter(“fontcolor“); String photo=request.getParameter(“photo“); if (fontcolor=null) fontcolor=“black“; if (photo=null)photo=“0“; if (chatwords=null) chatwords = new Vector(); application.setAttribute(“chatwords“,chatwords); else String user1 =request.getParameter(“user“); if (user1=null) ; String words =request.getParameter(“words“); if (words!=null) wordslen = words.length(); 网站建设与管理实训 20 if(wordslen0) String act = request.getParameter(“act“); String talkto = new String( request.getParameter(“talkto“).getBytes(“iso8859-1“),“utf-8“); int i = act.indexOf(“B“); if (i != -1) act = act.substring(0,i) + “ + talkto + “ “ + act.substring(i+1); if (!photo.equals(“0“) linewords=“+user1+ act +“ +words+“ “+“ “ ; else linewords= “+user1 + act +“+words+“; byte temp = linewords.getBytes(“iso8859-1“); linewords= new String(temp); chatwords.add(linewords); % 对象 说话 请问 喝采 微笑 躲避 颜 色 贴图 微笑 大笑 爆笑 甜笑 信息 6.4 查看聊天信息 用户点击左边的聊天信息图片,就会显示出该用户所有的聊天信息。 查看聊天信息记录 其采用的思路为:根据界面 获取的用户名,将用户名传递给数据库,在数 据库查找出对应的聊天记录,存储在 session 中,再在界面能过标签取出 网站建设与管理实训 22 相应的聊天记录。 下面为数据库中查询的数据代码(MsgInfoDao) 1. public List show_msgInfo_bymsgfrom(String msgfrom) 2. Connection conn = ConnTools.conn; 3. MsgInfoVo vo=null; 4. List list=new ArrayList(); 5. try PreparedStatement stmt = conn.prepareStatement( Constants.SHOW_MSGINFO_BYMSGFROM); 6. stmt.setString(1,msgfrom); 7. ResultSet rs = stmt.executeQuery(); 8. while(rs.next() 9. vo=new MsgInfoVo(); 10.vo.setRownum(rs.getInt(“rownum“); 11.vo.setChatroom(rs.getString(“chatroom“); 12.vo.setMsgfrom(rs.getString(“msgfrom“); 13.vo.setMsgto(rs.getString(“msgto“); 14.vo.setMsgcontent(rs.getString(“msgcontent“); 15.vo.setMsgtime(rs.getString(“msgtime“); 16.list.add(vo); 17. 18. catch (SQLException e) 19./ TODO Auto-generated catch block 20.e.printStackTrace(); 21. return list; 网站建设与管理实训 23 6.5 文件上传 采用的 Struts2 框架模式,通过界面选择的上传文件提交到 upload.action 中 进行处理。 文件 上传的页面 其相关代码为:(upload.action) public class UploadAction extends ActionSupport private File upload; /上传文件 private String uploadFileName; /上传的文件名 public File getUpload() return upload; public void setUpload(File upload) this.upload=upload; public String execute() throws Exception HttpSession session=ServletActionContext.getRequest().getSession(); session.setAttribute(“filename“, uploadFileName) ; / TODO Auto-generated method stub InputStream is=new FileInputStream(getUpload(); /根据上传的文件得到输入流 OutputStream os=new FileOutputStream(“E:/jsp实训 /chatRoom/WebRoot/upload/“+uploadFileName); /指定输出流地址 byte buffer=new byte1024; int count=0; while(count=is.read(buffer)0) os.write(buffer,0,count); /把文件写到指 网站建设与管理实训 24 定位置的文件中 os.close(); /关闭 is.close(); return SUCCESS; /返回 public String getUploadFileName() return uploadFileName; public void setUploadFileName(String uploadFileName) this.uploadFileName=uploadFileName; 6.6 文件下载: 该功能是将用户提交了的相关文件可以下载到用户指定的位置,方便用户 对文件资源的使用。采用链接到用户选择的文件进行下载。 网站建设与管理实训 25 6.7 音乐播放器: 用户点击左边的播放器按钮,就会弹出该页面,供用户听音乐。该播放 器采用 frame 框架构成,可以让用户选择相关的音乐。 其相关的代码: Form name=“myform“ 网站建设与管理实训 26 7 系统后台管理模块 7.1 后台登录 登录界面 7.1 后台用户管理模块 显示所有在线用户,管理员可以将相关的人员删除,使其不在聊天室里 用户管理界面: 其界面通过调用 Dao 层的查询在线用户信息方法 ,将查询出的数据封装 在 List 中,使其界面采用 C 标签循环取出,将内容 显示在动态 列表中. 其界面 代码为: 网站建设与管理实训 27 body background=“image/kk.jpg“ 后台管理平台 用户管理 聊天记录管理 公告管理 退出系统 用户名 所在聊天室 登录时间 /从 List中取出数据,动态添加列表: $list.rownum $list.user_name $list.chat_room $list.login_time / 显示 分页信息 首页 上一页 下一页 尾页 总共 $maxRowCount 行 每页显 示 $rowsPrePage 行 总共 $maxPage 页 当前为 $curPage 页 调用对应 的相关 ManageAction 代码 : /显示在线用户信息 public void showUserinfo(HttpServletRequest request, HttpServletResponse response) int jumpPage = Integer.parseInt( request.getParameter( “jumpPage“ ) ); 网站建设与管理实训 29 System.out.println( “jumpPage:“+jumpPage ); PageBean page = new PageBean(); page.setRowsPrePage( 5 );/?5 page.setMaxRowCount( service.getCount() );/ ? / page.setMaxPage(); / 11 if( jumpPage = page.getMaxPage() ) page.setCurPage( page.getMaxPage() ); else /设置当前页码数据 page.setCurPage( jumpPage ); List list=service.show_ALL_USER(page.getCurPage(), page.getRowsPrePage(); request.setAttribute( “userinfo“, list ); request.setAttribute( “curPage“, page.getCurPage() ); request.setAttribute( “maxPage“, page.getMaxPage() ); request.setAttribute( “maxRowCount“, page.getMaxRowCount() ); request.setAttribute( “rowsPrePage“, page.getRowsPrePage() ); try request.getRequestDispatcher( “admin.jsp“ ).forward( request, response ); catch (ServletException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); 网站建设与管理实训 30 /删除在线用户信息 public void delOnlineInfo(HttpServletRequest request, HttpServletResponse response) / TODO Auto-generated method stub System.out.println( “StuAction delStuinfo“ ); String user_name = request.getParameter( “user_name“ ); System.out.println( “user_name =“+user_name ); /删除指定的数据 int flag = service.delOnlineUser(user_name); System.out.println(flag); String msg; if( flag 0 )/删除成功 返回到显示的页面 msg = “数据删除成功!“ ; else/删除失败 msg = “数据删除失败!“ ; request.setAttribute( “msg“, msg ); try /多次请求, request.getRequestDispatcher( “Manager.do?method=showUserinfo catch (ServletException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); 网站建设与管理实训 31 7.2 聊天记录管理模块 显示各个用户的聊天信息,发送时间,管理员可以将聊天信息进行删除, 聊天记录管理界面 其相关代码(MsgInfoAction) public void delMsginfo(HttpServletRequest request, HttpServletResponse response) / TODO Auto-generated method stub int rownum=new Integer(request.getParameter(“rownum“); /删除指定的数据 int flag =service.del_msgInfo(rownum); String msg; if( flag 0 )/删除成功 返回到显示的页面 msg = “数据删除成功!“ ; else/删除失败 msg = “数据删除失败!“ ; request.setAttribute( “msg“, msg ); 网站建设与管理实训 32 try /多次请求, request.getRequestDispatcher( “msginfo.do?method=showMsginfo catch (ServletException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); 7.3 公告管理模块 管理员可以添加相关公告,添加的公告内容将在前台显示。也可以将相关 的公告进行删除,公告的内容及时显示到前台的 : JSP 页面代码为: function delete_publiser(rownum) var url=“Publiser.do?method=delPubliserinfo window.location=url; 网站建设与管理实训 33 “ My JSP Manager.jsp starting page 后台管理平台 用户管理 聊天记录管理 公告管理 退出系统 网站建设与管理实训 34 公告内容 操作 $list.rownum $list.p_name 请输入公告的内容 : 调用的 PubliserAction 代码为: public void delPubliserinfo(HttpServletRequest request, HttpServletResponse response) / TODO Auto-generated method stub 网站建设与管理实训 35 int rownum=new Integer(request.getParameter(“rownum“); /删除指定的数据 int flag =service.del_publiser(rownum); String msg; if( flag 0 ) msg = “数据删除成功!“ ; else/删除失败 msg = “数据删除失败!“ ; request.setAttribute( “msg“, msg ); try /多次请求, request.getRequestDispatcher( “Publiser.do?method=showPubliserinfo“ ).forward( request,response ); catch (ServletException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); /添加公告信息: public void addPubliserinfo(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String p_name=new String(request.getParameter(“content“).getBytes(“ISO-8859-1“),“utf- 8“); String p_user=request.getSession().getAttribute(“username“).toString(); PubliserVo vo=new PubliserVo(); vo.setP_name(p_name); vo.setP_user(p_user); 网站建设与管理实训 36 int flag=service.add_publiser(vo); String msg; if( flag 0 ) msg = “数据添加成功!“ ; else msg = “数据添加失败!“ ; request.setAttribute( “msg“, msg ); try /多次请求, request.getRequestDispatcher( “Publiser.do?method=showPubliserinfo“ ).forward( request,response ); catch (ServletException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); 网站建设与管理实训 37 8 逻辑控制模块的设计 该系统采用 JSP+Servlets,MVC 设计模式,文件上传部分采用 Struts2 框架 ,采用 Orcal 数据库。Jsp 负责所的页面,Servlet 负责处理页面和 action
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电动车经销协议5篇
- 2025年区块链行业技术发展与应用前景研究报告
- 商场安全办主任培训内容课件
- 2025年电影产业全球市场格局与发展前景分析报告
- 2025年旅游行业全球旅游市场分析及前景展望报告
- 2025年汽车行业自动驾驶技术应用前景展望研究报告
- 2025年网络安全技术在智能家居设备中的应用前景研究报告
- 宜宾市2025四川宜宾高新区综合服务中心第一次招聘雇员6人笔试历年参考题库附带答案详解
- 商圈安全培训资料内容课件
- 国家事业单位招聘2025中国药学会招聘2人笔试历年参考题库附带答案详解
- 产品开发生产合同8篇
- 篮球场围网施工方案
- 盘柜安装施工方案
- 中医面瘫护理个案汇报
- 《水基路用聚合物稳定碎石基层技术规程》
- 快递柜租赁合同
- 产品研发流程管理指南
- 《车刀与切削原理》课件
- 2024高考物理全国二卷
- 2024-2030年中国猎头公司市场发展前景调研及投资战略分析报告
- 注塑检验员培训
评论
0/150
提交评论