这篇文章主要介绍了基于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> </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> </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> </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";
}
}
到这儿,我们已经实现了对增删改查功能的实现,当然,基本的新闻发布功能已经实现
关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 |