CMS简单内容管理系统

架构

NewsDaoSQLServerImpl

public class NewsDaoSQLServerImpl extends BaseDao implements NewsDao {

    public void testSelect() throws Exception {
        List<News> list = getAllNews();
        for (News news : list) {
            System.out.println(news.getTITLE());
            System.out.println(news.getAUTHOR());
            System.out.println(news.getCREATETIME());
            System.out.println(news.getCONTENT());
        }
    }

    @Override
    public List<News> getAllNews() throws Exception {
        List<News> list = new ArrayList<News>();
        String sql = "select * from book";
        // 读取器
        ResultSet rs = executeQuery(sql);
        if (rs != null) {
            while (rs.next()) {
                // 如果有数据,数据表中的每条记录对应实体类的一个实例
                News news = new News();
                news.setAUTHOR(rs.getString("AUTHOR"));//作家
                news.setCREATETIME(rs.getString("CREATETIME"));//创建时间
                news.setTITLE(rs.getString("TITLE"));//标题
                news.setCONTENT(rs.getString("CONTENT"));//内容
                list.add(news);
            }
        }
        return list;
    }

}

NewsDao

public interface NewsDao {
    // 读取所有新闻列表的方法
    public List<News> getAllNews() throws Exception;
}

NewsManager

public class NewsManager {

    public void toHtml() throws Exception {
        // 读取模板文件内容,返回文件内容的字符串
        FileIO fileio = new FileIO();
        String templaterstr = fileio.readFile("E:\\news\\news.template");
        // 读取数据库表,获取新闻列表
        NewsDao newsdao = new NewsDaoSQLServerImpl();
        List<News> newslist = newsdao.getAllNews();
        // 替换模板文件,为每一条新闻创建一个HTML文件显示其信息
        for (int i = 0; i < newslist.size(); i++) {
            // 获取一条新闻
            News news = newslist.get(i);
            // 使用该条新闻信息替换对应的占位符
            String replacestr = new String();
            replacestr = templaterstr;
            replacestr = replacestr.replace("{title}", news.getTITLE());
            replacestr = replacestr.replace("{author}", news.getAUTHOR());
            replacestr = replacestr.replace("{createtime}", news.getCREATETIME());
            replacestr = replacestr.replace("{content}", news.getCONTENT());
            // 为该条新闻生成HTML文件
            String filePath = "E:\\news\\news" + i + ".html";
            fileio.writeFile(filePath, replacestr);
        }
    }
}

News

public class News {
    // ID, TITLE, AUTHOR, CREATETIME, CONTENT
    private int ID;// 新闻的ID
    private String TITLE;// 新闻标题
    private String AUTHOR;// 新闻的作者
    private String CREATETIME;// 时间
    private String CONTENT;// 新闻的内容

    public int getID() {
        return ID;
    }

    public void setID(int iD) {
        ID = iD;
    }

    public String getTITLE() {
        return TITLE;
    }

    public void setTITLE(String tITLE) {
        TITLE = tITLE;
    }

    public String getAUTHOR() {
        return AUTHOR;
    }

    public void setAUTHOR(String aUTHOR) {
        AUTHOR = aUTHOR;
    }

    public String getCREATETIME() {
        return CREATETIME;
    }

    public void setCREATETIME(String cREATETIME) {
        CREATETIME = cREATETIME;
    }

    public String getCONTENT() {
        return CONTENT;
    }

    public void setCONTENT(String cONTENT) {
        CONTENT = cONTENT;
    }

}

BaseDao

public class BaseDao {
    // 定义四个静态常量,保存数据连接信息
    private static  String driver="com.mysql.jdbc.Driver";
    private static  String url="jdbc:mysql://localhost:3306/newsmgr";
    private static  String username="root";
    private static  String password = "";

    Connection con;
    PreparedStatement stat;

    // 获取连接对象的方法
    public Connection getConnection() throws Exception {
        Class.forName(driver);
        if (con == null || con.isClosed()) {
            con = DriverManager.getConnection(url, username, password);
        }
        return con;
    }

    // 对所有select语句执行的方法
    public ResultSet executeQuery(String sql, Object... objs) throws Exception {
        con = getConnection();
        stat = con.prepareStatement(sql);
        for (int i = 0; i < objs.length; i++) {
            stat.setObject(i + 1, objs[i]);
        }
        ResultSet rs = stat.executeQuery();
        return rs;
    }
}

Test

public class Test {

    public static void main(String[] args) throws Exception {
        NewsManager num = new NewsManager();
        num.toHtml();
    }

}

原文地址:https://www.cnblogs.com/SFHa/p/9195407.html

时间: 2024-10-12 20:30:13

CMS简单内容管理系统的相关文章

Dede cms文章内容管理系统安全漏洞!如何有效防止DEDE织梦系统被挂木马安全设置

第一.安装Dede的时候数据库的表前缀,最好改一下,不要用dedecms默认的前缀dede_,可以改成ljs_,随便一个无规律的.难猜到的前缀即可. 第二.后台登录一定要开启验证码功能,将默认管理员admin删除,改成一个自己专用的,复杂点的账号,管理员密码一定要长,至少8位,而且字母与数字混合. 第三.装好程序后务必删除install目录!!! 第四.将dedecms后台管理默认目录名dede改掉,随便改个不好猜的没规律的. 第五.用不到的功能一概关闭,比如会员.评论等,如果没有必要通通在后台

【Web探索之旅】第二部分第三课:框架和内容管理系统

内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库 第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby,C#等. 这一课我们来学习基于这些语言衍生出来的框架(Framework),然后我们再来看看什么是内容管理系统(CMS). 框架(Framework) 什么是Framework(框架)呢?要给出一个准确的定义很难.因为它有不少不同的定义.可以自行参看这个百度百科: http://baike.baidu

PHP一个最简单的CMS内容管理系统

博客是一般程序员的入手戏,写得好写不好,有没有兴趣,逻辑性够不够都从这个里面入手 我现在摒弃前台.重点讲解下如何开发一个简单的CMS系统所需要的步骤: 1.清楚流程 1--------登录后台 2--------登录成功后可以进行管理权限的判断,然后进行管理信息的分配 3--------管理信息分为: 添加信息    进行单条信息的修改     删除信息(单条,多条)   查询信息 4--------数据库的设计,用户表  信息内容表 ,栏目表(进行查询后分类,最好做成无限栏目分类) 5----

30 个很棒的 PHP 开源 CMS 内容管理系统

本文汇集了30个优秀的开源CMS建站系统,采用PHP开发.以下列表不分先后顺序. 1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳,提供简单的扩展定制途径,一个简单而且功能强大的模板系统,以及更多很有用的功能. 2. OneCMS OneCMS是一个适合管理游戏的内容管理系统.它可以很容易的通过自己的一些功能诸如额外的论坛软件,定制区域,定制分类等等来管理站点内的内容.游戏. 3. Pluck Pluck 是一个小型而且简单的

支撑电子政务平台的CMS内容管理系统

随着政府信息化的逐步深入,基层(包括县乡以及政府各部门)的电子政务平台建设开始演绎主角.电子政务平台正从“面”渗透到“点”,数据中心平台正从中大型应用转向基层中小型应用,电子政务云平台的发展推动了政务信息的互联互通.信息共享.业务协同,强化了信息资源的整合,规范了采集和发布,加强了社会综合开发利用. 建设电子政务公共平台是电子政务发展到深化应用.突出实效阶段的重要举措,未来一段时间内,应以省级平台为主建设统一的电子政务公共平台,带动市(区.县)的电子政务公共平台建设,让政府部门在体验“云”的便捷

最近发现国内有一款很不错的基于Java的CMS内容管理系统推荐给大家,希望能给你带来帮助

雷铭内容管理系统LMCMS 雷铭CMS是一款Java内容管理系统,基于JAVAEE主流架构模式, Spring+SpringMvc+Hibernate+Freemarker+bootstrap结构,让开发变得更简单易维护,采用高性能稳定的网络技术架构实现访问请求动静分离以及结合多级缓存机制,保证网站的快速访问,承受较大用户并发.SEO高强度内聚及个性维护,为推广助一臂之力! JAVA是一种高安全.易维护.跨操作系统.面向对象的高级语言,是一种软件开发的国际性标准语言体系,我们将采用此语言以最低的

ThinkPHP项目CMS内容管理系统开发视频教程【20课】(3.02GB)

ThinkPHP背景介绍:     ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业级应用开发而诞生的.拥有众多的优秀功能和特性,经历了三年多发展的同时,在社区团队的积极参与下,在易用性.扩展性和性能方面不断优化和改进,众多的典型案例确保可以稳定用于商业以及门户级的开发.教程目录:第1讲ThinkPHP搭建CMS项目设计01.rmvb 123.2MB第2讲ThinkPHP搭建CMS项目设计02.rmv

CMS: 内容管理系统

CMS是Content Management System的缩写,意为"内容管理系统". 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场.业界公认的国内比较权威的产品有思拓合众CmsTop.PHPCMS.TurboCMS.对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解. 产生: 随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间.人力和物力来处理信息更新和维护工作:遇到网站扩充的时候,整合内外网

初次认识dedecms和帝国cms内容管理系统

近乎完美的内容模块管理 强大的内容管理系统,细致入微 其原理都是 先建立一个 模板系统 然后动态生成静态页面 注意各个板块和栏目的设置  在迁移网站的时候 尤其需要注意的是 系统参数的 根目录 需要及时变更和设置 否则在生成静态页面的 时候 页面的 变量不会随着后台的改变而更新内容 若有时间可以把这个好好熟悉下,学习更多的标签以及主题模板制作