架构

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. vmware centos7虚拟机克隆系统如何修改网卡设置?

    1.克隆虚拟机,克隆前需关闭虚拟机2.克隆之后的网卡问题解决,其中需要修改HWADDR和UUID  /etc/sysconfig/network-scripts/ifcfg-ens32  uuid获取 ...

  2. 高性能高并发网站架构,教你搭建Redis5缓存集群

    一.Redis集群介绍 Redis真的是一个优秀的技术,它是一种key-value形式的NoSQL内存数据库,由ANSI C编写,遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Val ...

  3. List集合总结,对比分析ArrayList,Vector,LinkedList

    前面已经写了三篇关于Java集合的文章,包括: Java集合 ArrayList原理及使用 再说Java集合,subList之于ArrayList Java集合 LinkedList的原理及使用 关于 ...

  4. 5分钟学会Java9-Java11的七大新特性

    现在Java有多元化的发展趋势,既有JS又有C++还有C#的影子,不学习那是不行滴. 来来来,花5分钟看看Java9-Java11的七大新特性,还有代码样例. Java11 发布了,然而很多公司还在用 ...

  5. .NET架构开发应知应会

    .NET程序是基于.NET framework..NET Core.Mono.UWP[.NET实现]开发和运行的 ,定义以上[.NET实现]的标准规范称为.NET Standard L1:.NET S ...

  6. 以实现MongoDB副本集状态的监控为例,看Telegraf系统中Exec输入插件如何编写部署

    既有的Telegraf 关于MongoDB的输入插件很难实现对副本集节点状态的监控,副本集节点状态有 PRIMARY.SECONDARY.RECOVERYING.ARBITER 等.现在我们尝试通过  ...

  7. 32| 无实例无真相:基于LoadRunner实现企业级服务器端性能测试的实践(上)

  8. Nginx查看并发连接数

    Nginx查看并发连接 通过界面查看 通过界面查看通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上 --with-http_stub_status_module 然后 ...

  9. vux loadmore + axios 实现点击加载更多

    在微信项目中有应用过几个上拉加载更多的组件,但总会出现一些兼容性方面的bug,需要各种补漏(注:组件都是基于iscroll实现的, iscroll原本就有些坑).Vux也有提供Scroller组件实现 ...

  10. Python之Pandas库学习(二):数据读写

    1. I/O API工具 读取函数 写入函数 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json ...