当前位置: 首页 > article >正文

基于SSM+MySQL的的新闻发布系统设计与实现

目录

项目简介

项目技术栈

项目运行环境

项目截图

代码截取

源码获取


项目简介

新闻发布系统是一款基于Servlet+jsp+jdbc的网站应用程序,旨在提供一个全面且高效的新闻发布平台。该系统主要包括后台管理和前台新闻展示两个平台,涵盖了新闻稿件的撰写、审核、发布以及用户浏览等功能。

后台管理平台是系统的核心,分为三个角色:编辑、主编和管理员。编辑角色负责新闻稿件的撰写,通过界面友好的编辑器,编辑人员可以方便地输入新闻内容、上传图片、设置关键词等。主编则负责对编辑用户的新闻稿进行审核,确保新闻稿的准确性和合规性。一旦新闻稿通过审核,管理员将负责将其发布到前台展示平台上。

前台新闻展示平台是系统向用户展示新闻内容的界面,用户可以根据自己的兴趣和需求选择不同类别的新闻进行浏览。该平台支持按照时间、热度、关键词等进行排序和搜索,以便用户快速找到感兴趣的内容。此外,用户还可以通过分享、评论等功能与其他用户互动,增加用户参与度和社交性。

JSP新闻发布系统的技术实现基于Servlet+jsp+jdbc,这种组合能够有效地实现动态网页的生成和数据库的操作。通过Servlet技术,系统能够响应用户请求、处理业务逻辑,并返回生成的动态网页;jsp技术则提供了简化界面开发的便利,使得页面的呈现更加灵活、易于维护;jdbc技术则实现了与MySQL数据库的连接和交互,确保数据的安全存储。

项目技术栈

  • Servlet:用于响应用户请求、处理业务逻辑,并返回生成的动态网页。

  • JSP:提供了简化界面开发的便利,使得页面的呈现更加灵活、易于维护。

  • JDBC:实现了与MySQL数据库的连接和交互,确保数据的安全存储。

  • MySQL:作为系统底层数据库,保证了数据的存储安全和可靠性。

  • JSTL(JSP Standard Tag Library):JSTL是一组自定义标签,用于简化在JSP页面中的常见任务,如迭代、条件判断、格式化等。它提供了一种简洁、可重用的方式来编写和管理JSP页面的逻辑。

项目运行环境

  • 操作系统:Windows、Linux、Unix等。

  • Web服务器:Tomcat、Jetty等。

  • JDK版本:JDK 1.8或以上。

  • 数据库:MySQL数据库。

  • 浏览器:IE9及以上、Chrome、Firefox等现代浏览器。

项目截图

代码截取

package com.news.controller;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Timestamp;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.democxyso.utils.Page;
import org.democxyso.utils.PropertiesUtil;

import com.news.bean.NewsType;
import com.news.dao.NewsTypeDao;
import com.news.service.NewsTypeService;
import com.news.service.impl.NewsTypeServiceImpl;


@WebServlet("/newsType")
public class NewsTypeController extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	private String contextPath = "";
	
	NewsTypeDao newsTypeDao=new NewsTypeDao();
	NewsTypeService newsTypeService = new NewsTypeServiceImpl();
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		contextPath = request.getServletContext().getContextPath();
		String method = request.getParameter("method");
		if ("save".equals(method)) {
			save(request,response);
		}else if ("delete".equals(method)) {
			delete(request, response);
		}else if ("list".equals(method)) {
			list(request, response);
		}else if ("form".equals(method)) {
			form(request, response);
		}
		
	}
	
	//删除
	private void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id = request.getParameter("id");
		newsTypeService.delete(id);
		response.sendRedirect(contextPath+"/newsType?method=list");
	}
	
	//修改
	private void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id = request.getParameter("id");
		String name = request.getParameter("name");
		String sort = request.getParameter("sort");
		String remark = request.getParameter("remark");
		NewsType newsType = new NewsType();
		newsType.setId(id);
		newsType.setName(name);
		newsType.setSort(Integer.parseInt(sort));
		newsType.setRemark(remark);
		if (newsType.getId()!=null && !"".equals(newsType.getId())) {
   			newsTypeService.update(newsType);
   		}else{
   			newsTypeService.add(newsType);
   		}
		response.sendRedirect(contextPath+"/newsType?method=list");
	}
	
	//列表查询
	private void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.err.println("---开始查询---");
		NewsType newsType = new NewsType();
		//分页有关
		Page<NewsType> page = new Page<NewsType>();
		//设置查询页
		String pageNoStr = request.getParameter("pageNo");
		if (pageNoStr != null && pageNoStr != "") {
			page.setPageNo(Integer.parseInt(pageNoStr));
		}
		//设置查询条件
		String name = request.getParameter("name");
		if (name != null && name != "") {
			newsType.setName(name);
			request.setAttribute("name", name);
		}
		
		//判断提示信息
		Object msg = request.getSession().getAttribute("msg");
		if (msg != null) {
			request.setAttribute("msg", msg.toString());
			request.getSession().removeAttribute("msg");
		}
		
		page = newsTypeService.page(newsType, page);
		request.setAttribute("page", page);
		request.getRequestDispatcher("/views/system/newsTypeList.jsp").forward(request, response);
	}
	
	//form跳转页面
	private void form(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id = request.getParameter("id");
		NewsType newsType = new NewsType();
		if (id!=null && id!="") {
			newsType = newsTypeService.getById(id);
		}
		request.setAttribute("newsType", newsType);
		request.getRequestDispatcher("/views/system/newsTypeForm.jsp").forward(request, response);
	}
	
}

源码获取

https://download.csdn.net/download/qinluyu111/88801283

源码19.9元一份,在我的资源里下载,与文章标题一模一样,非诚勿扰。如需搭建视频40元一份,远程搭建+源码修改指导100元一次,压缩包的解压密码(S019010101)


http://www.kler.cn/a/228366.html

相关文章:

  • Docker网段和服务器ip冲突导致无法访问网络的解决方法
  • 论文笔记(六十二)Diffusion Reward Learning Rewards via Conditional Video Diffusion
  • yolov11 pose 推理代码
  • linux-ubuntu学习笔记碎记
  • 在 vscode + cmake + GNU 工具链的基础上配置 JLINK
  • 顺序表和链表(详解)
  • SQL Server 函数参考手册(SQL Server 数值函数)
  • idea 快捷键ctrl+shift+f失效的解决方案
  • 【目标跟踪】相机运动补偿
  • 从[redis:LinkedList]中学习链表
  • LlamaIndex 入门实战
  • 力扣_字符串3—通配符匹配
  • 机器学习复习(8)——基本概念
  • kubesphere部署k8s-v1.23.10
  • 2024美赛数学建模C题完整论文教学(含十几个处理后数据表格及python代码)
  • 机器学习本科课程 实验4 支持向量机
  • 视频融合平台EasyCVR推流成功但平台显示不在线是什么原因?
  • HarmonyOS ArkTS Button基本使用(十八)
  • 【go】结构体切片去重
  • 【Node系列】node中的流(Stream)
  • 16-Verilog实现二线制I2C CMOS串行EEPROM的读写操作
  • 【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
  • ArrayList和LinkedList的区别是什么
  • ASP.NET Core 预防开放式重定向攻击
  • JAVA斗地主逻辑-控制台版
  • 动态颗粒背景,适合VUE、HTML前端显示