1 / 31

企业宣传网站

Java Web. 企业宣传网站. 计算机与信息工程系. 由 Java Web 课程组提供. 需求描述. 某电子商品销售公司为了提升企业形象和商品销售量,决定开发一个公司形象宣传和商品介绍的网站。基本功能如下: 1 、站内新闻 2 、商品展示 3 、在线聊天 4 、留言簿 5 、后台管理 实现要求: 语言: JSP ,数据库: SQL Server. 项目实施和课程安排. 效果显示( 6-1 ). 网站首页: 商品展示 站内新闻 在线聊天 留言簿 后台管理. 效果显示( 6-2 ). 商品展示: 商品列表 商品信息. 效果显示( 6-3 ).

sona
Download Presentation

企业宣传网站

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Web 企业宣传网站 计算机与信息工程系 由Java Web课程组提供

  2. 需求描述 某电子商品销售公司为了提升企业形象和商品销售量,决定开发一个公司形象宣传和商品介绍的网站。基本功能如下: 1、站内新闻 2、商品展示 3、在线聊天 4、留言簿 5、后台管理 实现要求: 语言:JSP,数据库:SQL Server

  3. 项目实施和课程安排

  4. 效果显示(6-1) • 网站首页: • 商品展示 • 站内新闻 • 在线聊天 • 留言簿 • 后台管理

  5. 效果显示(6-2) • 商品展示: • 商品列表 • 商品信息

  6. 效果显示(6-3) • 站内新闻: • 新闻列表 • 新闻内容

  7. 效果显示(6-4) • 在线聊天: • 登录和注册 • 聊天页面

  8. 效果显示(6-5) • 留言簿: • 留言列表 • 回复留言 • 新留言

  9. 效果显示(6-6) • 后台管理: • 管理员登录 • 分类管理

  10. 项目分组 • 三人一组,合作开发 公司宣传网站 协助 协助 组长A 组员C 组员B 后 台 页 面 后 台 管 理 商 品 管 理 首 页 设 计 在 线 聊 天 留 言 簿 后 台 管 理 站 内 新 闻 后 台 管 理 新闻管理 商品管理 系统管理

  11. 项目准备阶段A任务 • 项目框架搭建: • 项目名称:company • 各级包的命名:s2jsp.bysj下创建包dao和entity • Web Root下文件夹命名: • \(根目录) • admin(后台管理文件夹) • chat(在线聊天文件夹) • image(图片文件夹) • css(样式表文件夹) • 公共类的创建:BaseDao.java : • 获取数据库连接对象方法:getConn( ),并返回Connection 对象 • 数据库操作方法(增、删、改):executeSQL( ) • 关闭结果集、声明和连接的方法:closeAll( )

  12. 项目准备阶段B任务 • 数据库、数据表的创建 • 数据库:company • 数据表:RPODUCT • 创建实体类:Product.java • 完成top.jsp页面

  13. 项目准备阶段C任务 • 数据库、数据表的创建 • 数据库:company • 数据表:NEWS • 创建实体类:News.java • 完成根目录下left.jsp页面

  14. 项目准备阶段难点分析 • 公共类的实现: • execudeSQL( )方法 • SQL语句的参数设置 publicint executeSQL(String preparedSql,String[ ] param) { try { conn = getConn(); // 得到数据库连接对象 pstmt = conn.prepareStatement(preparedSql); if( param != null ) { for( int i = 0; i < param.length; i++ ) { pstmt.setString(i+1, param[i]); } } pstmt.executeUpdate(); // 执行SQL语句 } catch (Exception e) { e.printStackTrace(); // 处理异常 } finally { closeAll(conn,pstmt, null); // 释放资源} return num; } 为预编译sql设置参数

  15. 第一次集中编码:A任务 • 用户表USERS的创建 • 聊天室用户登录验证: • 登录页面:index.jsp • 身份验证代码:registerManage.jsp • 合法用户:进行入聊天页面 • 不合法:返回到注册页面 • 用户注册: • 注册页面:register.jsp • 注册操作:registerManage.jsp • 注册成功:返回到登录页面 • 注册失败:提示"注册失败",返回到注册页面 • 显示进入聊天室的所有登录用户列表 : • showUserList.jsp

  16. 第一次集中编码: B任务 • 实现商品列表: • 创建商品的业务类:ProductDao.java • 建立查询方法:findAllProduct( ),返回商品列表 • 页面显示商品列表:showProductList.jsp • 查看商品信息 • 在业务类中建立根据商品ID查找商品的方法: findProductByID(String productID),返回封装商品信息的商品对象 • 在页面中显示商品信息:detailProduct.jsp

  17. 第一次集中编码: C任务 • 实现新闻列表: • 创建新闻业务类:NewsDao.java • 建立查询方法:findAllNews( ),返回新闻列表 • 页面显示新闻列表:showNewsList.jsp • 查看新闻信息: • 在新闻业务类中建立根据新闻ID查找新闻内容的方法:findNewsByID( String newsID),返回封装了新闻信息的新闻对象 • 在页面detailNews.jsp中显示新闻内容

  18. 第一次集中编码:难点分析(2-1) • 在线聊天中用户注册的实现: • … • Users user = userDao.findUsers(userName, password); • if (user != null) { • List userList = (List) application.getAttribute("users"); • if (userList == null || userList.size() == 0) { • userList = new ArrayList(); • userList.add(userName); • } else { • boolean bool = true; • for (int i = 0; i < userList.size(); i++) { • if (userName.equals(userList.get(i).toString())) { • bool = false; • break; • } • } • if (bool) userList.add(userName); • } • session.setAttribute("user", user); • application.setAttribute("users", userList); • … • } 针对第一个登录者的操作 针对其他登录者的操作

  19. 第一次集中编码:难点分析(2-2) • 超链接传递数据: • 新闻列表新闻ID新闻内容 • 商品列表商品ID 商品信息 以参数的形式追加到地址后 • … • <a href="detailNews.jsp?newsID=<%=news.getNewsID() %>"> • <%=news.getTitle()%> • <font color="red">[<%=news.getWriterDate()%>]</font> • </a> • …

  20. 第二次集中编码: A任务 • 发送聊天信息: • 页面:sendMessage.jsp • 显示所有用户聊天信息:message.jsp • 说话人 • 说话内容 • 自动刷新页面: • 使用框架整合页面: • main.jsp

  21. 第二次集中编码:B任务 • 完善查看商品信息 • 页面的设计 • 数据的显示 • 网站首页的设计

  22. 第二次集中编码: C任务 • 完善显示新闻内容 • 页面设计 • 数据的显示 • 建立"售后服务"页面 • 建立"关于我们"页面 • 完成网站首页的新闻列表

  23. 第二次集中编码:难点分析 • 显示聊天信息页面的实现: • 如何保存信息 • 如何显示信息 • <% • request.setCharacterEncoding("gbk"); • List messageList = (List) application.getAttribute("messageList"); • String message = request.getParameter("message"); • Users user = (Users) session.getAttribute("user"); • if (messageList == null || messageList.size() == 0) { • messageList = new ArrayList(); • application.setAttribute("messageList",messageList); • } • if (message != null && !"".equals(message)) { • messageList.add(“<img src=‘../image/iboy.gif’ />&nbsp;<font color=‘blue’>”+user.getUserName() + “&nbsp;<b>说:</b></font> • <br /> “+ message);} • %> 从application中 取出聊天信息列表 向messageList中 添加当次聊天信息

  24. 第三次集中编码: A任务 • 设计留言列表页面 • 页面:messageBoard.jsp • 实现回复功能: • 回复页面:revertMessage.jsp • 保存回复信息:saveRevert.jsp • 查看留言和回复信息: • 完善revertMessage.jsp

  25. 第三次集中编码: B任务 • 后台管理登录验证 • 非注册用户:提示"用户名或密码错误" • 注册用户:提示"非管理员" • 管理员:跳转到"admin/index.jsp"页面 • 后台管理: • 商品管理 • 添加商品

  26. 第三次集中编码: C任务 • 后台页面设计 • 左侧菜单的实现:left.jsp • 后台页面框架的实现:index.jsp

  27. 第三次集中编码:难点分析 • 后台管理登录验证: • 根据用户名和密码判断当前用户是否存在 • 如果存在,判断用户的身份(status) • <% • String userName = request.getParameter("userName"); • String password = request.getParameter("password"); • UserDao userDao = new UserDao( ); • Users user = userDao.findUsers(userName, password); • if (user != null) { • if (user.getStatus() == 1) { • session.setAttribute("userSession", user); • response.sendRedirect("index.jsp"); • } else { • out.print("<script type=‘text/javascript’>alert(‘你不是管理员, • 登录失败。');location.replace('../index.jsp');</script>"); • } • } else { • out.print("<script type=‘text/javascript’>alert(‘登录失败, • 帐号或密码错误。');history.go(-1);</script>"); • } • %> 登录成功,转发 到后台管理页面 非管理员登录 非注册用户登录

  28. 第四次集中编码: A任务 • 新留言的实现 • 页面:newMessage.jsp • 保存留言:saveMessage.jsp • 后台管理—系统管理: • 添加管理员 • 用户管理

  29. 第四次集中编码: B任务 • 后台管理—商品管理 • 商品列表:manageProduct.jsp • 修改商品信息:updateProduct.jsp • 删除商品:manageProduct.jsp?action=delete

  30. 第四次集中编码: C任务 • 后台管理—新闻管理 • 添加新闻:addNews.jsp • 新闻列表:manageNews.jsp • 删除新闻:manageNews.jsp?action=delete

  31. 第四次集中编码:难点分析 • 后台管理中信息的删除: • 同一个页面处理不同的请求 • <% • NewsDao newsDao = new NewsDao(); • String action = request.getParameter("action"); • if(action!=null && "delete".equals(action)){ • String newsID = request.getParameter("newsID"); • newsDao.deleteNewsByID(newsID); • out.print("<script type='text/javascript'> • alert('成功删除一条新闻。');</script>"); • } • List newsList = newsDao.findAllNews(); • for(int i=0;i<newsList.size();i++){ • News news = (News) newsList.get(i); • %> • //页面显示代码 • <% } %> 删除操作 显示列表

More Related