新闻发布系统架构

实现效果图:

分层架构图:

关键代码:控制台输出新闻内容

实现类:

package cn.news.impl;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

import cn.news.dao.BaseDao;
import cn.news.dao.NewsDetailDao;
import cn.news.entity.NewsDetail;

public class NewsDetailDaoImpl extends BaseDao implements NewsDetailDao{

    @Test
    public void test() throws Exception
    {
        List<NewsDetail> list=getAllNews();
        for (NewsDetail item : list) {
            System.out.println(item.getNewsContent());
        }

    }

    @Override
    public List<NewsDetail> getAllNews() throws Exception {
        List<NewsDetail> list=new ArrayList<NewsDetail>();

        String sql="select * from newsDetails";

        ResultSet rs=executeQuery(sql);

        if(rs!=null)
        {
            while(rs.next())
            {
                NewsDetail news=new NewsDetail();

                news.setNewsId(rs.getInt("newsId"));
                news.setNewsTitle(rs.getString("newsTitle"));
                news.setNewsContent(rs.getString("newsContent"));
                news.setNewsCreateDate(rs.getDate("newsCreateDate"));
                news.setNewsAuthor(rs.getString("newsAuthor"));
                news.setNewsCategoryId(rs.getInt("newsCategoryId"));

                list.add(news);
            }
        }
        return list;
    }

}

页面显示新闻标题以及时间:

新增NewsServlet类继承HttpServlet。关键代码:

package cn.news.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

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

import cn.news.entity.NewsDetail;
import cn.news.impl.NewsDetailDaoImpl;

public class NewsServlet extends HttpServlet {

    /**

     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request,response);

    }

    /**

     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        //实例化dao
        NewsDetailDaoImpl dao=new NewsDetailDaoImpl();

        try {
            List<NewsDetail> list=dao.getAllNews();

            request.setAttribute("list", list);
        } catch (Exception e) {
            e.printStackTrace();
        }

        request.getRequestDispatcher("/index.jsp").forward(request, response);
    }

}

index.jsp

      <ul class="classlist">

      <%
      List<NewsDetail>list=(List<NewsDetail>)request.getAttribute("list");

      for(NewsDetail item:list)
      {

      %>
      <li><a href=‘newspages/news_read.jsp‘><%=item.getNewsTitle() %></a><span><%=item.getNewsCreateDate() %></span></li>

      <%
      }

      %>

    <p align="right"> 当前页数:[1/2]&nbsp; <a href="#">下一页</a> <a href="#">末页</a> </p>
      </ul>

web.xml

时间: 2024-10-14 11:09:38

新闻发布系统架构的相关文章

浅谈牛腩新闻发布系统

结束了漫长的C/S之旅,跨入B/S的学习,一切又是崭新的,充满希望. B/S的学习首先接触的便是牛腩老师的新闻发布系统,看了这么多年的网页终于要自己来编写一个网页了着实还是让我小小激动了一把.但是敲这个系统的时候总是有一种走迷宫,迷迷茫茫的感觉,什么跟什么啊... 于是,我机智的决定我要先把视频看一遍,至少要看一多半,至少得让我直到这个系统大概的框架吧.看了一半多终于形成了一个模糊的框架: 牛腩新闻发布系统分为前台和后台两部分,个人理解其实就像我们机房收费的UI层和B,D层的关系,前台负责显示给

点滴的积累---牛腩新闻发布系统总结

最近学习状态一直都不错,最近敲完牛腩新闻发布系统后又看了看<培养计划6.0>发现"牛腩新闻发布系统"的作用其实就是一个成语--抛砖引玉.在该新闻发布系统中基本上涉及到了B/S开发所需要具备的知识模块(HTML.Asp.net.XML.JavaScript.CSS.DIV.JQuery.AJAX).通过这个小的系统我的学习也将从C/S转移到B/S上,当然这个小的系统带给我的远远不止这些. 一.重新认识了软件开发的流程. 之前虽然学习过UML.软件工程等也算对系统开发有了初步的

牛腩新闻发布系统后台开发总结

在牛腩的前1-17集视频中,详细讲述了新闻发布系统的开发流程,在视频中还实现了代码的编写和调试.就我自己的感受来看,视频中讲的内容都在机房收费系统中运用或见识过,不是新的东西.但是以前对这些知识的理解都是阶段式的,在牛腩视频中,把这些知识都串联了起来,形成了一个整体,即为融会贯通,总结为下图: 这里面既有软件工程的内容,也有数据库的知识,开发新闻发布系统用的是三层的架构,ASP.NET的编程语言,在视频中还用到了简单工厂设计模式,这些都是学过的知识,是对CS知识的总结和运用,理解起来也没有什么问

牛腩新闻发布系统(一)

结束了软件工程的学习,开始学习牛腩的时候也就意味着我们的知识体系从C/S向B/S开始转化了.这里已没有具体的窗体,开始面向web开发. 一.软件工程过渡到牛腩新闻发布系统 在听牛腩讲解新闻发布从无到有,从最初只是一个需求,到系统初步成型,给我的感觉就是,软件不管是C/S还是B/S软件开发都还是一样的. 根据之前的机房收费系统的经验和牛腩详细讲解,我看到了更多地相似和曾经.后面一点点才是新的知识. 牛腩开始新闻发布系统的时候顺序也是根据需求写一个需求文档,然后画类图,设计数据库,画系统原型,回顾一

牛腩新闻发布系统之总结篇

经过20多天的艰苦奋斗,这篇牛腩新闻发布系统的总结终于来到了.20天来,几乎都是在和"牛"老师度过的,当牛老师讲到最后还真是有点舍不得.牛老师的幽默和细心也算是深深感染了我.虽然漫长的63集教程,但是我发现没有了预先的那些抵触.也不知道是自己的成长还是牛老师的高明.63集视频没有一丝快进和不耐烦,一鼓作气将新闻发布系统呈现在自己的眼前.略微有那么一点成就感.好了,下面我就来总结一下自己的成长之路吧! 知识篇: 牛腩发布系统是我开始的第一个B/S项目,算是一个非常棒的入门经典教学.跟着牛

基于J2EE新闻发布系统的设计与实现——论文随笔(十四)

一.基本信息 标题:基于J2EE新闻发布系统的设计与实现 时间:2010-10 出版源:南昌大学 领域分类:系统架构和设计 二.研究背景 问题定义:很多企业都没重视前期的市场调查 , 导致许多低质量或者说是不符合要求的新闻发布系统出现 , 因此在建新闻发布系统前进行市场分析就显得更重要了 , 只有了解好企业所在的市场才能结合自身现状建设出高水准的新闻发布系统来 . 相关工作:本文提出开发一个新闻发布系统的想法 ,基于J2EE设计方法设计. 三.创新方法 1.all in one 的J2EE的设计

新闻发布系统,添加新闻+++文件上传

1.新闻发布系统 2.文件上传+++ ①首先在index.jsp的界面上初始化一个表单. <body> <form enctype="multipart/form-data" action="<%=path%>/1.jsp" method="post"> 姓名:<input type="text" name="username"/> 选择文件:<inpu

安卓项目-利用Sqlite数据库,开发新闻发布系统

本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基于上篇文章基础之上进行深入学习的.程序员带你学习安卓开发-XML文档的创建与解析 Sqlite数据库: Sqlite数据库是在安卓中使用较广泛的数据库.其为简单.轻巧的Sql类文件型数据库.因以简单的文本形式保存,所以安全性不是很高.只要拿到sqlite数据库文件就可以得到数据.所以这就决定了sql

牛腩新闻发布系统---外键约束下如何删除记录

一.为什么使用外键? 查了些资料,八个字"保持完整性.一致性",结合我之前做的重构机房收费系统,我的理解是"防止相关表中数据没有关联而变得孤立,最终导致数据冗余",得出这个结论是上次让贾丽敏帮忙点系统时候我最深刻的感受,因为我的数据库关系图中辣么多张表却没有丝毫关系-- 既然官方解释是"完整性和一致性",就先来说明一下: 对于完整性和一致性,不少人都混为一谈了. 完整性(integrity)更多是针对实际业务来说的,比如说一个职员ID,不能在一个