`

基于java web的博客平台(二)

 
阅读更多

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的博客系统】是一个综合性的软件开发项目,主要使用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编程爱好者博客地带设计与实现.zip基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程...

    web课程设计-基于Java web的博客系统(源码+数据库+报告).zip

    因此,基于Java Web技术开发和设计的博客系统,运用MVC开发模式,Eclipse + Myeclipse集成开发环境,数据库技术等设计了博客系统。 本次课程设计主要阐述了不同用户对博客的不同管理,对管理员来说,有博主管理、...

    基于Java Web的博客系统源码.zip

    【标题】"基于Java Web的博客系统源码.zip"是一个包含了一整套使用Java Web技术开发的博客系统源代码的压缩文件。这个博客系统适用于多种场景,如课程设计、大作业、毕业设计、项目练习以及学习演示,为学习者提供了...

    基于Java Web技术博客项目系统的设计 与开发JAVA语言

    基于Java Web技术博客项目系统的设计 与开发

    基于java的博客系统

    【标题】"基于Java的博客系统"是一款使用Java技术栈构建的在线博客平台,它集成了SQL Server 2005数据库、Tomcat应用服务器以及MyEclipse开发环境。这个系统设计精巧,功能全面,提供了后台管理、用户注册、相册管理...

    基于Java web的美食网站系统的设计与实现.rar

    【标题】"基于Java web的美食网站系统的设计与实现"是一个关于构建在线美食分享平台的项目,它利用Java Web技术栈来实现。这个系统旨在提供一个互动的平台,让用户能够浏览、分享、评论各种美食信息,同时可能还包含...

    (原创+源码+论文) 基于Java Web技术开发的BBS论坛系统

    标题中的"(原创+源码+论文) 基于Java Web技术开发的BBS论坛系统"揭示了这个压缩包文件的主要内容,它是一个基于Java Web技术实现的BBS(Bulletin Board System,电子公告板)论坛系统的完整源码和相关论文。...

    基于java的个人博客系统的设计与实现.zip

    本项目“基于Java的个人博客系统的设计与实现”旨在提供一个全面的、易于理解和学习的Java Web开发实例,为初学者提供宝贵的实践机会,同时也适合作为毕业设计的参考。 首先,我们需要理解Java技术栈的基础。Java是...

    基于Java web的个人博客系统文档.doc

    【基于Java Web的个人博客系统】是一个利用Java技术构建的在线平台,允许用户轻松创建、发布和管理他们的个人博客。这种系统充分利用了Web Log的概念,提供了简易的傻瓜化信息发布方式,让不具备专业编程知识的普通...

    个人博客 java web

    首先,Java Web是一种基于Java技术的Web应用开发框架,它提供了强大的服务器端编程能力,使得开发者能够构建功能丰富的动态网站。Java Web开发通常涉及Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages ...

    基于Java的博客系统

    【基于Java的博客系统】是一种使用Java Web技术构建的在线平台,它允许用户发布、分享和阅读文章。这种系统的核心特点在于其稳定性和可扩展性,使得它能够处理大量并发访问,同时保持数据的安全和一致性。 Java Web...

    基于Java Web的博客网站.rar

    【标题】: "基于Java Web的博客网站" 是一个使用Java技术栈开发的Web应用程序,主要功能是构建一个在线博客平台。这个项目充分利用了Java Web技术的优势,为用户提供发布、阅读和评论博客的功能。 【描述】: 这个...

    java web 博客

    Java Web 博客系统是一种基于Java技术构建的网络应用程序,主要用于个人或团队发表文章、分享观点、提供互动交流的平台。在这个系统中,用户可以进行登录、注册、发布文章、评论、删除文章等一系列操作。下面我们将...

    基于Java Web的博客系统(含数据库文件)

    这是一个基于Java Web技术开发的博客系统项目,包含了完整的源代码以及相关的数据库文件。这个项目对于学习和理解Java Web开发有着重要的实践价值。下面将详细解释其中涉及的关键知识点。 1. **Java Web技术**:...

    基于Java Web的博客系统【源代码+PPT】

    本篇将深入探讨一个基于Java Web的博客系统,它展示了如何利用Java技术栈构建一个功能完备、用户体验良好的在线博客平台。 一、项目概述 该项目名为"基于Java Web的博客系统",提供了完整的源代码和PPT讲解材料,供...

    基于Java Web的个人博客1

    基于Java Web的个人博客系统设计 本资源摘要信息将详细介绍基于Java Web的个人博客系统的设计和实现,涵盖了前端、后端、前后端通信和会话、网站设计、项目架构等方面的知识点。 一、前端(客户端、浏览器端) 1....

    基于java的博客系统.zip

    【基于Java的博客系统】是一个使用SSH框架(Struts2、Spring、Hibernate)开发的完整博客平台。这个项目提供了一整套的博客管理功能,包括文章发布、分类管理、评论互动、用户注册与登录等。数据库文件的包含使得...

Global site tag (gtag.js) - Google Analytics