推扬网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
推扬网 门户 经验分享 查看内容

基于jsp实现新闻管理系统 附完整源码

2020-4-11 13:55| 发布者: admin| 查看: 663| 评论: 0

这篇文章主要介绍了基于jsp的新闻管理系统,具有一定的参考价值,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

很棒的新闻发布系统分享给大家,希望大家喜欢。

下面就让我们来说一说基于jsp的新闻发布系统,其中使用的技术有JavaBean、fillter、数据库等,能够实现新闻的发布功能,在发布之后能够进行对每一条新闻的删除、修改、或者继续增加新的文章,最后还能够进行查询功能,其中引用了百度编辑器,能够进行图文并茂的编辑,极大地方便用户的使用。

:完整项目下载地址:新闻发布系统

一、效果演示

首先让我们来看一看实现的效果:

下面是登陆的首界面:

插入数据Servlet结构图

下面是InserOneNews.java代码,能够进行对数据的插入功能 

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package servlet;

import dao.NewsRealeseDao;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InsertOneNews extends HttpServlet {
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html;charset=UTF-8");
 try (PrintWriter out = response.getWriter()) {
 ArrayList addnews_list = new ArrayList();
 NewsRealeseDao newsRealeseDao = new NewsRealeseDao();
 addnews_list.add(0, request.getParameter("newsid"));
 addnews_list.add(1, request.getParameter("classid"));
 addnews_list.add(2, request.getParameter("kindid"));
 addnews_list.add(3, request.getParameter("myother"));
 addnews_list.add(4, request.getParameter("headtitle"));
 addnews_list.add(5, request.getParameter("content"));
 addnews_list.add(6, request.getParameter("connectrealtive"));
 addnews_list.add(7, request.getParameter("author"));
 addnews_list.add(8, request.getParameter("editor"));
 addnews_list.add(9, request.getParameter("newsfrom"));
 addnews_list.add(10, request.getParameter("top"));
 addnews_list.add(11, request.getParameter("newstime"));
 addnews_list.add(12, request.getParameter("hits"));
 addnews_list.add(13, request.getParameter("state"));
 addnews_list.add(14,request.getParameter("tag"));
 try {
 String newsRealese = newsRealeseDao.insertOneNews(addnews_list);
 System.out.println("String:"+newsRealese);
 if (newsRealese!= null) {
 response.sendRedirect("adminManager.jsp");
 } else {
 response.sendRedirect("a_addNews.jsp");
 }
 } catch (Exception ex) {
 Logger.getLogger(checkLogin.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 }
 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }
 @Override
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }
 @Override
 public String getServletInfo() {
 return "Short description";
 }
}

至此,我们完整的实现了插入工作 (7)现在完成删除操作,在Servlet包中建立如下所示代码,命名为DeleteOneNews.java:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package servlet;
import dao.NewsRealeseDao;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DeleteOneNews extends HttpServlet {
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html;charset=UTF-8");
 try (PrintWriter out = response.getWriter()) {
 String str_id=request.getParameter("newsid");
 int newsid_int=Integer.valueOf(str_id);
 NewsRealeseDao newsRealeseDao=new NewsRealeseDao();
 try {
 String newsRealese = newsRealeseDao.deleteOneNews(newsid_int);
 System.out.println("String:"+newsRealese);
 if (newsRealese!= null) {
 response.sendRedirect("adminManager.jsp");
 } else {
 response.sendRedirect("a_addNews.jsp");
 }
 } catch (Exception ex) {
 Logger.getLogger(checkLogin.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 }
 
 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }

 /**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
 @Override
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }

 /**
 * Returns a short description of the servlet.
 *
 * @return a String containing servlet description
 */
 @Override
 public String getServletInfo() {
 return "Short description";
 }// </editor-fold>

}

(8)实现查询操作,命名为a_queryNews.jsp,其代码如下所示:

<%-- 
 Document : a_queryNews
 Created on : 2016-5-18, 17:08:40
 Author : Administrator
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>查询页面</title>
 </head>
 <body>
 <table style="width:100%;height:100%" border="0">
 <tr>
 <td>
 <form action="QueryOneNews" method="post" target="_blank" >
 请输入新闻编号:<input type="text" name="query">
 <input type="submit" value="查询" ><br>
 </form>
 <hr></td>
 </tr>
 <tr>
 <td>&nbsp;</td>
 </tr>
 </table>

 </body>
</html>

对于查询这件事,有成功,有失败,在这儿我们进行失败后文件的设置,代码如下所示,命名为a_queryNewsfailed.jsp,使用超级连接的方式,连接到主页面 

<%-- 
 Document : a_queryNeesfailed
 Created on : 2016-6-6, 8:43:35
 Author : Administrator
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>查询失败</title>
 </head>
 <body>
 <h1>没有找到你要查找的内容,但是你可以进入</h1>
 <a href="index.html">主页进行查看</a>
 </body>
</html>

实现了以上显示层的操作之后,下面就是控制层的实现,命名为QueryOneNews.java,其代码如下所示:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package servlet;
import dao.NewsRealeseDao;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class QueryOneNews extends HttpServlet {
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html;charset=UTF-8");
 try (PrintWriter out = response.getWriter()) {
 String str_id=request.getParameter("query");
 int newsid_int=Integer.valueOf(str_id);
 NewsRealeseDao newsRealeseDao=new NewsRealeseDao();
 try {
 ArrayList newsRealese = newsRealeseDao.queryOneNews(newsid_int);
 char [] s1=newsRealese.toString().toCharArray();
 System.out.println("String+newsRealese:"+newsRealese);
 System.out.println("String+newsRealese:"+s1[0]+" -------"+s1[1]);
 if(s1[0]=='['&&s1[1]==']')
 {
 response.sendRedirect("a_queryNewsfailed.jsp");
 
 } 
 else
 {
 response.sendRedirect("newRealese_detail.jsp?newsid="+str_id); 
 } 
 } catch (Exception ex) {
 Logger.getLogger(checkLogin.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 }
 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }
 @Override
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }
 @Override
 public String getServletInfo() {
 return "Short description";
 }

}

(9)下面实现更新数据的操作,命名为a_updateNews.jsp,其代码如下所示:

<%@page contentType="text/html" import="java.util.*,java.sql.*" pageEncoding="UTF-8" language="java"%>
<%@page import="com.lut.beans.NewsRealese" %>
<%@page import="dao.NewsRealeseDao" %>
<!DOCTYPE html>
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>更改新闻-</title>
 <!-- 配置文件 -->
 <script type="text/javascript" src="./ueditor/ueditor.config.js"></script>
 <!-- 编辑器源码文件 -->
 <script type="text/javascript" src="./ueditor/ueditor.all.js"></script>
 <link rel="stylesheet" type="text/css" href="./udeditor/themes/default/css" />
 <link type="text/css" rel="stylesheet" href="newsRealese.css"/>
 </head>
 <body id="body">
 <%
 NewsRealeseDao newsRealeseDao=new NewsRealeseDao();
 String newsid_s=request.getParameter("newsid");
 int news_int=Integer.valueOf(newsid_s);
 
 ArrayList news_list=newsRealeseDao.queryOneNews(news_int);
 %>
 <%
 for(int i=0;i<news_list.size();i++)
 {
 NewsRealese newRealese=(NewsRealese)news_list.get(i); 
 %>
 <form action="UpdateOneNews" method="post">
 <table border="0" id="table" style="width:95%">
 <tr>
 <td width="5%">left</td>
 <td width="90%"> 
 <table border="1" id="table" style="width:100%">
 <tr > 
 <tr>
 <td >新闻编号</td> <td><input type="text" width="100%" name="newsid" value="<%=newRealese.getNewsId() %>"></td>
 <td>所属新闻栏目编号</td> <td><input type="text" width="100%" name="classid" value="<%=newRealese.getClassId() %>"></td>
 </tr>
 <tr>
 <td>所属新闻分类编号</td> <td><input type="text" width="100%" name="kindid" value="<%=newRealese.getKindId() %>"></td>
 <td>原创或转载</td> <td><input type="text" width="100%" name="myother" value="<%=newRealese.getMyOther() %>"></td>
 </tr>
 <tr>
 <td>新闻标题</td> <td><input type="text" width="100%" name="headtitle" value="<%=newRealese.getHeadTitle()%>"></td>
 <td>相关文章</td> <td><input type="text" width="100%" name="connectrealtive" value="<%=newRealese.getConnectRealtive()%>"></td>
 </tr>
 <tr>
 <td>作者</td> <td><input type="text" width="100%" name="author" value="<%=newRealese.getAuthor() %>"></td>
 <td>编辑</td> <td><input type="text" width="100%" name="editor" value="<%=newRealese.getEditor() %>"></td>
 </tr>
 <tr>
 <td>出处</td> <td><input type="text" width="100%" name="newsfrom" value="<%=newRealese.getNewsFrom() %>"></td>
 <td>是否置顶</td> <td><input type="text" width="100%" name="top" value="<%=newRealese.getTop() %>"></td>
 </tr>
 <tr>
 <td>新闻发布时间</td> <td><input type="text" width="100%" name="newstime" value="<%=newRealese.getNewsTime() %> "></td>
 <td>新闻点击次数</td> <td><input type="text" width="100%" name="hits" value="<%=newRealese.getHits() %>"></td>
 </tr>
 <tr>
 <td>新闻状态</td> <td><input type="text" name="state" width="100%" value="<%=newRealese.getState() %>"></td>
 <td>新闻标记</td> <td><input type="text" width="100%" name="tag" value="<%=newRealese.getTag() %>"></td> 
 </tr>
 <tr>
 </table>
 </td>
 <td width="5%">right</td>
 </tr>
 <tr>
 <td>&nbsp;</td>
 <td>
 <div align="center" style="width:80%"> 
 <textarea id="newsEditor" name="content" style="height: 80%"><%=newRealese.getContent() %></textarea> 
 <br/> 
 <input type="submit" value="发 布"> 
 <script type="text/javascript"> 
 UE.getEditor('newsEditor'); 
 var content=UE.getPlainTxt();//s就是编辑器的带格式的内容
 </script> 
 </div> 
 </td>
 <td>&nbsp;</td>
 </tr>
</table> 
 </form>
 <%
 }
 %>
</body>
</html>

在Servlet中进行如下代码所示配置:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package servlet;

import dao.NewsRealeseDao;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UpdateOneNews extends HttpServlet {
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html;charset=UTF-8");
 try (PrintWriter out = response.getWriter()) {
 ArrayList addnews_list = new ArrayList();
 NewsRealeseDao newsRealeseDao = new NewsRealeseDao();
 addnews_list.add(0, request.getParameter("newsid"));
 addnews_list.add(1, request.getParameter("classid"));
 addnews_list.add(2, request.getParameter("kindid"));
 addnews_list.add(3, request.getParameter("myother"));
 addnews_list.add(4, request.getParameter("headtitle"));
 addnews_list.add(5, request.getParameter("content"));
 addnews_list.add(6, request.getParameter("connectrealtive"));
 addnews_list.add(7, request.getParameter("author"));
 addnews_list.add(8, request.getParameter("editor"));
 addnews_list.add(9, request.getParameter("newsfrom"));
 addnews_list.add(10, request.getParameter("top"));
 addnews_list.add(11, request.getParameter("newstime"));
 addnews_list.add(12, request.getParameter("hits"));
 addnews_list.add(13, request.getParameter("state"));
 addnews_list.add(14,request.getParameter("tag"));
 try {
 String newsRealese = newsRealeseDao.updateOneNews(addnews_list);
 System.out.println("String:"+newsRealese);
 if (newsRealese!= null) {
 response.sendRedirect("adminManager.jsp");
 } else {
 response.sendRedirect("a_addNews.jsp");
 }
 } catch (Exception ex) {
 Logger.getLogger(checkLogin.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 }
 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }
 @Override
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }
 @Override
 public String getServletInfo() {
 return "Short description";
 }
}

到这儿,我们已经实现了对增删改查功能的实现,当然,基本的新闻发布功能已经实现 

关于管理系统的更多内容请点击《管理系统专题》进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持


鲜花

握手

雷人

路过

鸡蛋

最新评论

精选推荐

    广告服务|投稿要求|禁言标准|版权说明|免责声明|手机版|小黑屋|推扬网 ( 粤ICP备18134897号 )|网站地图 | 邮箱:vayae@hotmail.com

    GMT+8, 2025-6-15 23:10 , Processed in 0.214735 second(s), 28 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    返回顶部