基于jsp实现新闻管理系统 附完整源码
这篇文章主要介绍了基于jsp的新闻管理系统,具有一定的参考价值,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
很棒的新闻发布系统分享给大家,希望大家喜欢。
下面就让我们来说一说基于jsp的新闻发布系统,其中使用的技术有JavaBean、fillter、数据库等,能够实现新闻的发布功能,在发布之后能够进行对每一条新闻的删除、修改、或者继续增加新的文章,最后还能够进行查询功能,其中引用了百度编辑器,能够进行图文并茂的编辑,极大地方便用户的使用。
注:完整项目下载地址:新闻发布系统
一、效果演示
首先让我们来看一看实现的效果:
下面是登陆的首界面:
插入数据Servlet结构图
下面是InserOneNews.java代码,能够进行对数据的插入功能
[code]/* * 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"; } } [/code]
至此,我们完整的实现了插入工作 (7)现在完成删除操作,在Servlet包中建立如下所示代码,命名为DeleteOneNews.java:
[code]/* * 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> } [/code]
(8)实现查询操作,命名为a_queryNews.jsp,其代码如下所示:
[code]<%-- 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 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> </td> </tr> </table> </body> </html> [/code]
对于查询这件事,有成功,有失败,在这儿我们进行失败后文件的设置,代码如下所示,命名为a_queryNewsfailed.jsp,使用超级连接的方式,连接到主页面
[code]<%-- 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> [/code]
实现了以上显示层的操作之后,下面就是控制层的实现,命名为QueryOneNews.java,其代码如下所示:
[code]/* * 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"; } } [/code]
(9)下面实现更新数据的操作,命名为a_updateNews.jsp,其代码如下所示:
[code]<%@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" > <tr> <td width="5%">left</td> <td width="90%"> <table border="1" id="table" > <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> </td> <td> <div align="center" > <textarea id="newsEditor" name="content" ><%=newRealese.getContent() %></textarea> <br/> <input type="submit" value="发 布"> <script type="text/javascript"> UE.getEditor('newsEditor'); var content=UE.getPlainTxt();//s就是编辑器的带格式的内容 </script> </div> </td> <td> </td> </tr> </table> </form> <% } %> </body> </html> [/code]
在Servlet中进行如下代码所示配置:
[code]/* * 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"; } } [/code]
到这儿,我们已经实现了对增删改查功能的实现,当然,基本的新闻发布功能已经实现
关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持
经验分享互联网动态
更多阅读推荐