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技术博客项目系统的设计 与开发
基于java web的博客网站项目,后台数据库使用的MySQL,web项目,数据库的设计以及需求文档都有。满足课程设计或者实习的要求
基于Java Web的博客系统(含数据库文件) 完整代码 附加数据库建表和插入数据文件 希望能够给大家带来一定的帮助
基于Java Web技术博客项目系统的设计 与开发.doc
运行环境 适用 课程设计,大作业,毕业设计,项目练习,学习演示等
“博客”(Blog或Weblog)一词源于“Web Log(网络日志)”的缩写,是一种十分简易的傻瓜化个人信息发布方式。任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。博客就是开放的私人空间,可以...
该代码是基于java web写的一个个人博客网站的源码,该代码涉及到了基本的所以的java web方面知识,非常适合新手参照练习。
基于Java_Web技术博客项目的设计毕业论文(20210809123053).pdf
本系统的页面设计主要是在Dreamweaver环境下完成的,通过引入JSP技术和数据库技术使得博客系统的动态功能得以很好的实现,本系统的成功开发可以说是Dreamweaver结合JSP技术开发动态网站的成功体现。
内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到单片机设计专栏直接查看哦
基于JAVA的WEB项目 芝麻开门博客网源码
基于JAVA的WEB项目编程爱好者博客地带
基于JAVA语言开发的博客系统,主要实现用户注册、登录以及上传相关文件的功能,WEB结构
基于Java的博客系统详细代码,基于netbeans和mysql