架构

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 = ; 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 = ; i < objs.length; i++) {
stat.setObject(i + , 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();
} }

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

  1. Orchard是一个了不起CMS(内容管理系统)

    在这个系列中,我们将共同经历从头开始构建一个Orchard模块的过程! 虽然Orchard是一个了不起CMS(内容管理系统),有着强大的功能和令人振奋的架构,可以无限的扩展,但它可能需要花费一定时间, ...

  2. CMS (内容管理系统)

    ylbtech-Miscellaneos:CMS (内容管理系统) CMS是"Content Management System"的缩写,意为"内容管理系统". ...

  3. 项目视频讲解_[HeyJava][尚学堂][CMS文章内容管理系统]

    [HeyJava][尚学堂][CMS文章内容管理系统] http://pan.baidu.com/s/1c0imHrE

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

    第一.安装Dede的时候数据库的表前缀,最好改一下,不要用dedecms默认的前缀dede_,可以改成ljs_,随便一个无规律的.难猜到的前缀即可. 第二.后台登录一定要开启验证码功能,将默认管理员a ...

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

    内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库   第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby ...

  6. 开源丨CloudBase CMS 内容管理系统!简单易用企业内容管理流

    背景 云开发CloudBase CMS 是云开发推出的一站式云端内容管理系统,助力企业的数据运营管理工作. 开发者可以直接在云开发扩展能力中一键安装 CloudBase CMS,免费使用 CloudB ...

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

    本文汇集了30个优秀的开源CMS建站系统,采用PHP开发.以下列表不分先后顺序. 1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳 ...

  8. django的CMS系统(内容管理系统)

    一.什么是CMS系统 CMS具有许多基于模板的优秀设计,可以减少开发的成本. CMS的功能并不只限于文本处理,它也可以处理图片.Flash动画.声像流.图像甚至电子邮件档案. CMS还分各个平台脚本种 ...

  9. 贝云cms内容管理系统(thinkphp5.0开源cms管理系统)

    byCms包含文章,图片,下载,视频模型,基于thinkphp5.0.9,可无缝升级至thinkphp.1.0,是一套简单,易用的内容管理系统,旨在帮助开发者节约web应用后台开发时间和精力,以最快的 ...

随机推荐

  1. IOS 数据存储(NSKeyedArchiver 归档篇)

    什么是归档 当遇到有结构有组织的数据时,比如字典,数组,自定义的对象等在存储时需要转换为字节流NSData类型数据,再通过写入文件来进行存储. 归档的作用 之前将数据存储到本地,只能是字符串.数组.字 ...

  2. 使用Visual Studio Code进行MicroPython编程

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 Visual Studio Code(以下简称VSC ...

  3. 10分钟实现Typora(markdown)编辑器

    本章主要内容: 介绍我们将在接下来的几章中构建的应用程序 配置我们的CSS样式表,使其看起来更像一个本机应用程序 回顾在Electron中主进程和渲染器进程之间的关系 为我们的主进程和渲染器进程实现基 ...

  4. HBase 学习之路(一)—— HBase简介

    一.Hadoop的局限 HBase是一个构建在Hadoop文件系统之上的面向列的数据库管理系统. 要想明白为什么产生HBase,就需要先了解一下Hadoop存在的限制?Hadoop可以通过HDFS来存 ...

  5. Java NIO 学习笔记(三)----Selector

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  6. git的基本指令

    更多详情请看廖雪峰官方网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1.删 ...

  7. JBuss--为所有JFinal开发者提供二次开发的后台管理系统

    百度搜索:JBuss 或jfinal.com官网https://www.jfinal.com/share/1704 JBuss背景: 2018年6月1日,作者“为道日损”从上海一家xxx公司离职,那时 ...

  8. 巧妙解决element-ui下拉框选项过多的问题

    1. 场景描述 不知道你有没有这样的经历,下拉框的选项很多,上万个选项甚至更多,这个时候如果全部把数据放到下拉框中渲染出来,浏览器会卡死,体验会特别不好 用人会说element-ui的select有一 ...

  9. 02(d)多元无约束优化问题-拟牛顿法

    此部分内容接<02(a)多元无约束优化问题-牛顿法>!!! 第三类:拟牛顿法(Quasi-Newton methods) 拟牛顿法的下降方向写为: ${{\mathbf{d}}_{k}}= ...

  10. intel FPGA CLKn pin 是否能直接进PLL?

    原创 by DeeZeng FPGA的时钟需要从专用的时钟管脚输入,那CLKn 作为Single-End时钟pin时是否能直接进 PLL呢? 通过查看对应FPGA型号的手册,得出以下结论 1. Cyc ...