架构

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. 一文详解 LVS、Nginx 及 HAProxy 工作原理( 附大图 )

    当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器 ...

  2. C# 设计模式,工厂方法

    C#工厂方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...

  3. SkyWorking基础:6.2版本安装部署

    就在今天,SkyWorking发布了6.2版本. 概述 什么是SkyWorking SkyWalking是观察性分析平台和应用性能管理系统. 提供分布式追踪.服务网格遥测分析.度量聚合和可视化一体化解 ...

  4. meta 详解

    对meta标签用处的介绍,meta常用于定义页面的说明,关键字,最后修改日期,和其它的元数据.这些元数据将服务于浏览器(如何布局或重载页面),搜索引擎和其它网络服务. 组成 meta标签共有两个属性, ...

  5. IAR for STM8的简介、下载、安装及注册教程

    一.简介 1.关于IAR for STM8 IAR for STM8 是一个嵌入式工作平台,主要应用于STM8 系列芯片的开发,现在(2018年3.10版本)能够支持市面上所有的STM8芯片. 个人认 ...

  6. flask 高级编程 上下文与栈(转)

    转: https://www.cnblogs.com/wangmingtao/p/9372611.html 22.上下文与出入栈 22.1 请求过程 请求过来,flask会实例化一个Request C ...

  7. 如何正确使用Profibus插头以及终端电阻

    插头与终端电阻在Profibus通讯中有着非常重要的作用,它们使用起来非常简单,没有很多复杂的设置:但是正是由于使用简单,使得很多工程师在使用当中忽略了一些细节,导致很多通讯问题. 1 Profibu ...

  8. android网络编程-socket基础

    转载http://www.eoeandroid.com/thread-61727-1-1.html 一.Socket通讯机制1. TCP连接: 面向连接的可靠传输协议,具有数据确认和数据重传机制,保证 ...

  9. MyBatis从入门到精通:第一章配置MyBatis

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...

  10. [记录]inotifywait+rsync脚本和sersync2服务检测的脚本

    1)inotifywait+rsync脚本: #!/bin/bash src=/data/ # 需要同步的源路径 des=data # 目标服务器上 rsync --daemon 发布的名称,rsyn ...