计算机毕业设计个人博客日志发布网站 (idea开发javaweb-javaee-j2ee-springboot)

0、效果展示

1、概述

根据博客网站的特点,并与用户进行沟通。要求本系统具有以下功能:

1.统一、友好的操作界面,用以保证系统的易用性。

2.较强的查询功能,便于用户查询各项信息。

3.添加评论的功能,方便用户对博主发表的文章添加评论。

4.添加了友情链接,方便用户进入其他网站。

5.博客文章管理功能,方便博主添加、修改、删除博客文章。

6.公告管理功能,方便博主添加、修改、删除公告信息。

7.日志管理功能,方便博主添加、修改、删除日志信息。

8.个人相片设置功能,方便博主添加、修改、删除相片功能。

9.朋友信息管理功能。方便博主添加、修改、删除朋友信息。

10.博主信息设置,方便及时更新博主信息。

2、搭建环境

本文以实现一个线上个人博客日志发布网站为目标,从环境搭建到编码实现全过程讲述

我们使用javaweb、J2EE来构建个人博客日志发布网站,环境使用最新版jdk和tomcat,配合mysql数据库

开发工具使用idea(也可以使用eclipse),数据库管理工具使用Navicat Premium 

开发框架使用JavaBean Servlet MVC结构;

没有使用SSH(Struts+Spring+Hibernate)或SSM(Spring+SpringMVC+MyBatis),这两个框架我们在别的项目中再介绍开发过程

在项目中会引入My97DatePicker作为前端日期时间选择工具,使用fckeditor作为富媒体编辑器(也可以使用百度的ueditor)

使用DWR(Direct Web Remoting)用于改善web页面与Java类交互,实现远程服务器端AJAX读取登录数据。

使用JSTL(Java server pages standarded tag library,即JSP标准标签库),此库是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

3、数据表结构

网站中的数据元素:

名字:博主信息

别名:consumer

描述:博主的个人信息。

定义:博主信息=帐号+密码+姓名+性别+QQ号码+个人主页+幸福爱好+邮箱号码

位置:输入到管理员浏览器(后台)

名字:文章信息

别名:article

描述:博客中文章的信息,用于对文章的确认和更新。

定义:文章信息=类型名称+分类说明

位置:输入到用户浏览器(前台)

名字:评论信息

别名:comm

描述:对已有文章进行评论。

定义:评论信息=评论题目+评论内容+评论日期

位置:输入到用户浏览器(前台)

名字:朋友圈信息

别名:friend

描述:博主的朋友信息,用于对用户的确认和更新。

定义:朋友信息=姓名+QQ号码+描述

位置:输入到管理员浏览器(后台)

                                                                 

名字:文章类型信息

别名:articleType

描述:用于对文章进行分类。

定义:文章类型信息=类型名称+分类说明

位置:输入到用户浏览器(前台)

​4、后端代码示例

package servlet;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bean.InsertUpdateDelBean;
import bean.SelectBean;

public class haoyouServlet extends HttpServlet
{
	public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException 
	{
        String type=req.getParameter("type");
		
		if(type.endsWith("userSearch"))
		{
			userSearch(req, res);
		}
		if(type.endsWith("haoyouDel"))
		{
			haoyouDel(req, res);
		}
	}
	
	public void userSearch(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException 
	{
		String name = new String(req.getParameter("name").getBytes("ISO-8859-1"),"gb2312");
        SelectBean bean=new SelectBean();
        
        int i=bean.userSearch(name);
        if(i==0)
        {
        	req.setAttribute("message", "没有此帐号");
    		req.setAttribute("path", "users/userhaoyou.jsp");
    		
            String targetURL = "/common/success.jsp";
    		dispatch(targetURL, req, res);
        }
        else
        {
        	ArrayList userlogin = (ArrayList)req.getSession().getAttribute("userlogin");
        	int id=Integer.parseInt(userlogin.get(0).toString());//dagnr
        	String sql="insert into haoyou(userid,haoyouid) values('"+id+"','"+i+"')";
        	InsertUpdateDelBean ib = new InsertUpdateDelBean();
    		int flag = ib.insertANDupdateANDdel(sql);
    		req.setAttribute("message", "添加好友成功");
    		req.setAttribute("path", "users/userhaoyou.jsp");
    		
            String targetURL = "/common/success.jsp";
    		dispatch(targetURL, req, res);
        }
		
	}
    
	
	public void haoyouDel(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException 
	{
		int haoyouId=Integer.parseInt(req.getParameter("haoyouId")); 
        
		String sql="delete from haoyou where haoyouId="+haoyouId;
		InsertUpdateDelBean ib = new InsertUpdateDelBean();
		ib.insertANDupdateANDdel(sql);
		
		req.setAttribute("message", "删除好友成功");
		req.setAttribute("path", "users/userhaoyou.jsp");
		
        String targetURL = "/common/success.jsp";
		dispatch(targetURL, req, res);
		
	}
    
	
	public void dispatch(String targetURI,HttpServletRequest request,HttpServletResponse response) 
	{
		RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);
		try 
		{
		    dispatch.forward(request, response);
		    return;
		} 
		catch (ServletException e) 
		{
                    e.printStackTrace();
		} 
		catch (IOException e) 
		{
			
		    e.printStackTrace();
		}
	}
	public void init(ServletConfig config) throws ServletException 
	{
		super.init(config);
	}
	
	public void destroy() 
	{
		
	}
}

5、前端代码示例

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<jsp:include flush="true" page="/admin/top.jsp"/>
<%
ArrayList adminlogin = (ArrayList)session.getAttribute("adminlogin");
if(adminlogin == null || adminlogin.size() == 0){
	%><script>alert('您还没有登录!');window.location.href='index.jsp';</script><%
}else{
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
<link href="images/style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
a:link {
	text-decoration: none;
	color: #000;
}
a:visited {
	text-decoration: none;
	color: #000;
}
a:hover {
	text-decoration: none;
	color: #000;
}
a:active {
	text-decoration: none;
	color: #000;
}
</style>
<script language="JavaScript">
function check()
{
	var pattern = /^[a-zA-Z0-9_]+$/;
	if (document.form1.name.value == "" ) 
	{
		alert("请输入用户名!");
		document.form1.name.focus();
		return false;
	}
	if (document.form1.name.value.length < 3 )  
	{
		alert("用户名长度最少3个字符!");
		document.form1.name.focus();
		return false;
	}
	if (!pattern.test(document.form1.name.value) )  
	{
		alert("用户名只能包含字母、数字!");
		document.form1.name.focus();
		return false;
	}
	if (document.form1.pwd.value == "" ) 
	{
		alert("请输入密码!");
		document.form1.pwd.focus();
		return false;
	}
	if (document.form1.pwd.value.length < 3 )  
	{
		alert("密码长度最少3个字符!");
		document.form1.pwd.focus();
		return false;
	}
	if (!pattern.test(document.form1.pwd.value) )  
	{
		alert("密码只能包含字母、数字!");
		document.form1.pwd.focus();
		return false;
	}
	if (document.form1.repetition.value == ""  )  
	{
		alert("请输入重复密码!");
		document.form1.repetition.focus();
		return false;
	}
	if (document.form1.repetition.value != document.form1.pwd.value  )  
	{
		alert("两次密码不一致!");
		document.form1.repetition.focus();
		return false;
	}
}
</script></head>
<%
		String message = (String) request.getAttribute("message");
		if (message == null)
		{
			message = "";
		}
		if (!message.trim().equals(""))
		{
			out.println("<script language='javascript'>");
			out.println("alert('" + message + "');");
			out.println("</script>");
		}
		request.removeAttribute("message");
	%>
    
    
    <body>

<!--top end --> 
<!--body start -->
<div id="body"> 
  <!--mid start -->





  <div id="mid960"> 
    <!--test start -->
    <div id="testMain960">
      <p class="testtop"></p>
      <div id="">
         <table width="800" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td class="border_left border_right border_bottom" height="400" valign="top" align="center">
        <table width="800" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="30" class="adminmenu" align="center">
                <%--<a href="admin/modifypwd.jsp">修改密码</a>&nbsp;&nbsp;&nbsp;
				<a href="admin/modifyname.jsp">修改用户名</a>&nbsp;&nbsp;&nbsp;--%>
				<a href="admin/addadmin.jsp">添加系统用户</a>&nbsp;&nbsp;&nbsp;
				<a href="admin/adminlist.jsp">系统用户管理</a></td>
          </tr>
        </table>
        <table border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="5"></td>
          </tr>
        </table>
		<form name="form1" method="post" action="ModifyAdminServlet?mark=insert" onSubmit="return check()">
        <table width="60%" border="1" cellspacing="1" cellpadding="0" bgcolor="#999999">
          <tr>
            <td height="25" colspan="2" align="center" bgcolor="#DEF1E3">添加系统用户</td>
		  </tr>
          <tr>
            <td width="46%" height="25" align="right" bgcolor="#DEF1E3">用&nbsp;&nbsp;户&nbsp;&nbsp;名:</td>
            <td width="54%" height="25" bgcolor="#DEF1E3">&nbsp;&nbsp;<input name="name" type="text" maxlength="10"></td>
          </tr>
          <tr>
            <td height="25" align="right" bgcolor="#DEF1E3">密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码:</td>
            <td height="25" bgcolor="#DEF1E3">&nbsp;&nbsp;<input name="pwd" type="password" maxlength="10"></td>
          </tr>
          <tr>
            <td height="25" align="right" bgcolor="#DEF1E3">重复密码:</td>
            <td height="25" bgcolor="#DEF1E3">&nbsp;&nbsp;<input type="password" name="repetition"></td>
          </tr>
          <tr>
            <td height="30" colspan="2" align="center" bgcolor="#DEF1E3"><input type="submit" value="提交数据" class="input"></td>
		  </tr>
        </table>
    </form>
        </td>
  </tr>
</table>
        
      </div>
      <p class="testBot"></p>
      <br class="spacer" />
    </div>
    <!--test end --> 
    <br class="spacer" />
  </div>











  <!--mid end --> 
  <br class="spacer" />
</div>
<!--body end --> 
  <jsp:include flush="true" page="/admin/bottom.jsp"/>
<!--footer end -->
</body>
</html>
</html>
<%} %>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ1978519681计算机程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值