3、我们所有管理文章的操作都在AdminLeft.jsp里面,而AdminLeft.jsp被包含在AdminIndex.jsp,这个AdminLeft.jsp被包含并放在在AdminIndex.jsp的左边。我们现在来看看AdminLeft.jsp的结构。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" import="java.util.List,com.MyBlog.common.GLOBALS"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <%String URL=session.getAttribute("url").toString();%> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="<%=URL%>/css/admin/AdminLeft.css"> <title>Insert title here</title> </head> <body> <!-- 通过div,id=left框住整个左边的导航菜单,细分多个div,id=left_menu进行具体导航列表 --> <div id="left"> <div> <div class="left_menu"> <!-- 文章管理列表 --> <a class="menu" href="#">文章管理</a> <!-- 通过ul,li标签,把每项管理继续细分 --> <ul class="ul_menu"> <li> <a href="<%=URL%>/admin/article/ArticleAdd.jsp">发表文章</a> <a href="<%=URL%>/ArticleAction.action?action=adminSelectList&typeID=">删除文章</a> <a href="<%=URL%>/ArticleAction.action?action=adminSelectList&typeID=">修改文章</a> <a href="<%=URL%>/ArticleAction.action?action=adminSelectList&typeID=">浏览文章</a> </li> </ul> </div> <!-- 文章管理列别列表 --> <div class="left_menu"> <a class="menu" href="#">文章类别管理</a> <ul class="ul_menu"> <li> <a href="<%=URL%>/admin/article/ArticleTypeAdd.jsp">添加类别</a> <a href="<%=URL%>/ArticleTypeAction.action?action=typeSelect">删除类别</a> <a href="<%=URL%>/ArticleTypeAction.action?action=typeSelect">修改类别</a> <a href="<%=URL%>/ArticleTypeAction.action?action=typeSelect">浏览类别</a> </li> </ul> </div> <!-- 相册管理列表 --> <div class="left_menu"> <a class="menu" href="#">相册管理</a> <ul class="ul_menu"> <li> <a href="<%=URL%>/admin/photo/PhotoUpload.jsp">上传照片</a> <a href="<%=URL%>/PhotoAction.action?action=adminList&type=all">删除照片</a> <a href="<%=URL%>/PhotoAction.action?action=adminList&type=all">浏览照片</a> </li> </ul> </div> <!-- 好友管理列表 --> <div class="left_menu"> <a class="menu" href="#">好友管理</a> <ul class="ul_menu"> <li> <a href="<%=URL%>/admin/friend/FriendAdd.jsp">添加好友</a> <a href="<%=URL%>/FriendAction.action?action=adminList&type=all">删除好友</a> <a href="<%=URL%>/FriendAction.action?action=adminList&type=all">修改好友</a> <a href="<%=URL%>/FriendAction.action?action=adminList&type=all">浏览好友</a> </li> </ul> </div> <!-- 留言列表 --> <div class="left_menu"> <a class="menu" href="#">留言管理</a> <ul class="ul_menu"> <li> <a href="<%=URL%>/WordAction.action?action=adminList&type=all">回复留言</a> <a href="<%=URL%>/WordAction.action?action=adminList&type=all">删除留言</a> <a href="<%=URL%>/WordAction.action?action=adminList&type=all">浏览留言</a> </li> </ul> </div> </div> </div> </body> </html>
它分为几块:
(1)文章管理,其包含了发表文章,修改文章,删除文章,浏览文章四个选项。
(2)文章类别管理,其中包含添加类别,删除类别,修改类别,浏览类别。
(3)相册管理,其中包含上传照片,删除照片,浏览照片。
(4)好友管理,其中包含添加好友,删除好友,修改好友,浏览好友。
(5)留言管理,其中包含回复留言,删除留言,浏览留言。
5、现在我们先从文章管理模块开始,文章管理模块的jsp文章都在article文件夹里面。
(1)发表文章:
<a href="<%=URL%>/admin/article/ArticleAdd.jsp">发表文章</a>
这里我们链接到article里面的ArticleAdd.jsp,ArticleAdd.jsp也是一个表单。代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" import="java.util.List,com.MyBlog.common.GLOBALS"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <%String URL=session.getAttribute("url").toString();%> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>博客管理——发表文章</title> </head> <body> <!-- 发表文章表单设置 --> <form action="<%=URL%>/ArticleAction.action" method="post"> <input type="hidden" name="action" value="add"> <table id="table"> <tr> <td> <label for="typeID">文章类别</label> </td> <td> <input id="typeID" type="text" name="typeID"> </td> </tr> <tr> <td> <label for="title">文章标题</label> </td> <td> <input id="title" type="text" name="title"> </td> </tr> <tr> <td> <label for="content">文章内容</label> </td> <td> <textarea id="content" rows="30" cols="100" name="content"></textarea> </td> </tr> <tr> <td> <label for="from">文章来源</label> </td> <td> <input id="from" type="text" name="from"> </td> </tr> <tr> <td> <label for="info">文章描述</label> </td> <td> <input id="info" type="text" name="info"> </td> </tr> </table> <input type="submit" value="提交"> <input type="reset" value="清空"> </form> </body> </html>
这个表单的action是"<%=URL%>/ArticleAction.action",由ArticleAction的对象执行excute方法,处理发表文章事件。
与此同时,这个表单还添加了一个hidden的类型的input,这个input不在页面上显示,其内容我们自己设定好,提交表单时,一并把它也提交给服务器。这个input的name和value如下:
<input type="hidden" name="action" value="add">
我们把名为action,value为add的参数提交给服务器,服务器由名字action获取其value:add,便知道这个是发表文章的操作,这个工作就是有ArticleAction的excute方法来做。
所以我们现在来看ArticleAction类的excute方法
public String execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.URL=GLOBALS.getPath(request); String url = "error.jsp"; //获取action参数 // 获取servlet中将执行的操作 String action = request.getParameter("action"); if (action == null) { action = ""; } if (action.equals("select")) { url=this.selectArticle(request, response); } // 后台,查看所有文章 if (action.equals("adminSelectList")) { url=this.adminSelectList(request, response); } // 添加文章,后台 if (action.equals("add")) { url=this.addArticle(request, response); } // 修改文章,后台 if (action.equals("modify")) { url=this.modifyArticle(request, response); } // 删除文章,后台 if (action.equals("delete")) { url=this.deleteArticle(request, response); } // 阅读文章,增加文章阅读次数、获取指定文章信息、获取对该文章的所有评论 if (action.equals("read")) { url=this.readArticle(request, response); } return url; }
我们可以看到,首先我们获取名为action的参数,request.getParameter("action");
然后,添加文章是add,所以我们根据判断,去执行addArticle方法。
AddArticle方法结构如下
public String addArticle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String messages=""; String forward=""; String href=""; HttpSession session=request.getSession(); MasterBean masterBean=(MasterBean)session.getAttribute("masterBean"); int masterID=masterBean.getId(); System.out.println("masterID:"+masterID); //对表单输入的数据进行乱码处理 ArticleBean articleBean=new ArticleBean(); articleBean.setArticleTypeID(Common.strToint(request.getParameter("typeID"))); articleBean.setArticleTitle(Common.toChinese(request.getParameter("title"))); articleBean.setArticleContent(Common.changeHTML(Common.toChinese(request.getParameter("content")))); articleBean.setArticleSdTime(Common.changeTime(new Date())); articleBean.setArticleFrom(Common.strToint(request.getParameter("from"))); articleBean.setArticleInfo(Common.toChinese(request.getParameter("info"))); articleBean.setArticleCount(0); articleBean.setMasterID(masterID); ArticleDao articleDao=new ArticleDao(); boolean flag=articleDao.operationArticle("add", articleBean); if(flag){ messages="<li>发表文章成功!!!</li>"; href="<a href='"+this.URL+"/admin/article/ArticleAdd.jsp'>[继续发表]</a>"; forward="/admin/success.jsp"; }else{ messages="<li>发表文章失败!!!</li>"; href="<a href='javascript:window.history.go(-1)'>[返回]</a>"; forward="/admin/error.jsp"; } request.setAttribute("messages", messages); request.setAttribute("href", href); String url=this.adminSelectList(request, response); return url; }
文章的表单已经提交了,所以我们要执行相关的保存文章的操作。
A、第一步,我们首先获取作者的信息,我们登录的时候知道,作者的信息,下面的获取作者信息的一段代码:
HttpSession session=request.getSession(); MasterBean masterBean=(MasterBean)session.getAttribute("masterBean"); int masterID=masterBean.getId();
B、通过request的getParameter方法,或取文章内容,然后我们要创建一个ArticleBean对象,把文章类型id,文章内容,文章题目,文章作者,,等等,都装载在这个对象中。
C、接下来建立articleDao类的对象,执行对文章表的数据库操作,操作类型为add,添加内容是articleBean,如operationArticle("add", articleBean)。
D、最后根据这个operationArticle方法的返回,判断是否添加成功若成功,调大success.jsp页面,若失败,跳到error.jsp页面。
相关推荐
这个描述简洁明了地指出了项目的核心内容——一个基于Java Web技术的博客平台。这种类型的系统通常具备用户注册、登录、发布文章、评论互动、分类管理等功能。开发者利用Java Web的特性,如请求处理、数据持久化、...
【基于Java Web的博客系统】是一个综合性的软件开发项目,主要使用Java技术栈构建一个运行在Web环境下的博客平台。这个系统通常包含多个模块,如用户管理、文章发布、评论互动、分类管理、搜索功能等,为用户提供了...
基于java web芝麻开门博客网设计与实现.zip基于java web芝麻开门博客网设计与实现.zip基于java web芝麻开门博客网设计与实现.zip基于java web芝麻开门博客网设计与实现.zip基于java web芝麻开门博客网设计与实现.zip...
基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程...
因此,基于Java Web技术开发和设计的博客系统,运用MVC开发模式,Eclipse + Myeclipse集成开发环境,数据库技术等设计了博客系统。 本次课程设计主要阐述了不同用户对博客的不同管理,对管理员来说,有博主管理、...
【标题】"基于Java Web的博客系统源码.zip"是一个包含了一整套使用Java Web技术开发的博客系统源代码的压缩文件。这个博客系统适用于多种场景,如课程设计、大作业、毕业设计、项目练习以及学习演示,为学习者提供了...
基于Java Web技术博客项目系统的设计 与开发
【标题】"基于Java的博客系统"是一款使用Java技术栈构建的在线博客平台,它集成了SQL Server 2005数据库、Tomcat应用服务器以及MyEclipse开发环境。这个系统设计精巧,功能全面,提供了后台管理、用户注册、相册管理...
【标题】"基于Java web的美食网站系统的设计与实现"是一个关于构建在线美食分享平台的项目,它利用Java Web技术栈来实现。这个系统旨在提供一个互动的平台,让用户能够浏览、分享、评论各种美食信息,同时可能还包含...
标题中的"(原创+源码+论文) 基于Java Web技术开发的BBS论坛系统"揭示了这个压缩包文件的主要内容,它是一个基于Java Web技术实现的BBS(Bulletin Board System,电子公告板)论坛系统的完整源码和相关论文。...
本项目“基于Java的个人博客系统的设计与实现”旨在提供一个全面的、易于理解和学习的Java Web开发实例,为初学者提供宝贵的实践机会,同时也适合作为毕业设计的参考。 首先,我们需要理解Java技术栈的基础。Java是...
【基于Java Web的个人博客系统】是一个利用Java技术构建的在线平台,允许用户轻松创建、发布和管理他们的个人博客。这种系统充分利用了Web Log的概念,提供了简易的傻瓜化信息发布方式,让不具备专业编程知识的普通...
首先,Java Web是一种基于Java技术的Web应用开发框架,它提供了强大的服务器端编程能力,使得开发者能够构建功能丰富的动态网站。Java Web开发通常涉及Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages ...
【基于Java的博客系统】是一种使用Java Web技术构建的在线平台,它允许用户发布、分享和阅读文章。这种系统的核心特点在于其稳定性和可扩展性,使得它能够处理大量并发访问,同时保持数据的安全和一致性。 Java Web...
【标题】: "基于Java Web的博客网站" 是一个使用Java技术栈开发的Web应用程序,主要功能是构建一个在线博客平台。这个项目充分利用了Java Web技术的优势,为用户提供发布、阅读和评论博客的功能。 【描述】: 这个...
Java Web 博客系统是一种基于Java技术构建的网络应用程序,主要用于个人或团队发表文章、分享观点、提供互动交流的平台。在这个系统中,用户可以进行登录、注册、发布文章、评论、删除文章等一系列操作。下面我们将...
这是一个基于Java Web技术开发的博客系统项目,包含了完整的源代码以及相关的数据库文件。这个项目对于学习和理解Java Web开发有着重要的实践价值。下面将详细解释其中涉及的关键知识点。 1. **Java Web技术**:...
本篇将深入探讨一个基于Java Web的博客系统,它展示了如何利用Java技术栈构建一个功能完备、用户体验良好的在线博客平台。 一、项目概述 该项目名为"基于Java Web的博客系统",提供了完整的源代码和PPT讲解材料,供...
基于Java Web的个人博客系统设计 本资源摘要信息将详细介绍基于Java Web的个人博客系统的设计和实现,涵盖了前端、后端、前后端通信和会话、网站设计、项目架构等方面的知识点。 一、前端(客户端、浏览器端) 1....
【基于Java的博客系统】是一个使用SSH框架(Struts2、Spring、Hibernate)开发的完整博客平台。这个项目提供了一整套的博客管理功能,包括文章发布、分类管理、评论互动、用户注册与登录等。数据库文件的包含使得...