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 = ; 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简单内容管理系统的更多相关文章
- Orchard是一个了不起CMS(内容管理系统)
在这个系列中,我们将共同经历从头开始构建一个Orchard模块的过程! 虽然Orchard是一个了不起CMS(内容管理系统),有着强大的功能和令人振奋的架构,可以无限的扩展,但它可能需要花费一定时间, ...
- CMS (内容管理系统)
ylbtech-Miscellaneos:CMS (内容管理系统) CMS是"Content Management System"的缩写,意为"内容管理系统". ...
- 项目视频讲解_[HeyJava][尚学堂][CMS文章内容管理系统]
[HeyJava][尚学堂][CMS文章内容管理系统] http://pan.baidu.com/s/1c0imHrE
- Dede cms文章内容管理系统安全漏洞!如何有效防止DEDE织梦系统被挂木马安全设置
第一.安装Dede的时候数据库的表前缀,最好改一下,不要用dedecms默认的前缀dede_,可以改成ljs_,随便一个无规律的.难猜到的前缀即可. 第二.后台登录一定要开启验证码功能,将默认管理员a ...
- 【Web探索之旅】第二部分第三课:框架和内容管理系统
内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库 第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby ...
- 开源丨CloudBase CMS 内容管理系统!简单易用企业内容管理流
背景 云开发CloudBase CMS 是云开发推出的一站式云端内容管理系统,助力企业的数据运营管理工作. 开发者可以直接在云开发扩展能力中一键安装 CloudBase CMS,免费使用 CloudB ...
- 30 个很棒的 PHP 开源 CMS 内容管理系统
本文汇集了30个优秀的开源CMS建站系统,采用PHP开发.以下列表不分先后顺序. 1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳 ...
- django的CMS系统(内容管理系统)
一.什么是CMS系统 CMS具有许多基于模板的优秀设计,可以减少开发的成本. CMS的功能并不只限于文本处理,它也可以处理图片.Flash动画.声像流.图像甚至电子邮件档案. CMS还分各个平台脚本种 ...
- 贝云cms内容管理系统(thinkphp5.0开源cms管理系统)
byCms包含文章,图片,下载,视频模型,基于thinkphp5.0.9,可无缝升级至thinkphp.1.0,是一套简单,易用的内容管理系统,旨在帮助开发者节约web应用后台开发时间和精力,以最快的 ...
随机推荐
- vmware centos7虚拟机克隆系统如何修改网卡设置?
1.克隆虚拟机,克隆前需关闭虚拟机2.克隆之后的网卡问题解决,其中需要修改HWADDR和UUID /etc/sysconfig/network-scripts/ifcfg-ens32 uuid获取 ...
- 高性能高并发网站架构,教你搭建Redis5缓存集群
一.Redis集群介绍 Redis真的是一个优秀的技术,它是一种key-value形式的NoSQL内存数据库,由ANSI C编写,遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Val ...
- List集合总结,对比分析ArrayList,Vector,LinkedList
前面已经写了三篇关于Java集合的文章,包括: Java集合 ArrayList原理及使用 再说Java集合,subList之于ArrayList Java集合 LinkedList的原理及使用 关于 ...
- 5分钟学会Java9-Java11的七大新特性
现在Java有多元化的发展趋势,既有JS又有C++还有C#的影子,不学习那是不行滴. 来来来,花5分钟看看Java9-Java11的七大新特性,还有代码样例. Java11 发布了,然而很多公司还在用 ...
- .NET架构开发应知应会
.NET程序是基于.NET framework..NET Core.Mono.UWP[.NET实现]开发和运行的 ,定义以上[.NET实现]的标准规范称为.NET Standard L1:.NET S ...
- 以实现MongoDB副本集状态的监控为例,看Telegraf系统中Exec输入插件如何编写部署
既有的Telegraf 关于MongoDB的输入插件很难实现对副本集节点状态的监控,副本集节点状态有 PRIMARY.SECONDARY.RECOVERYING.ARBITER 等.现在我们尝试通过 ...
- 32| 无实例无真相:基于LoadRunner实现企业级服务器端性能测试的实践(上)
- Nginx查看并发连接数
Nginx查看并发连接 通过界面查看 通过界面查看通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上 --with-http_stub_status_module 然后 ...
- vux loadmore + axios 实现点击加载更多
在微信项目中有应用过几个上拉加载更多的组件,但总会出现一些兼容性方面的bug,需要各种补漏(注:组件都是基于iscroll实现的, iscroll原本就有些坑).Vux也有提供Scroller组件实现 ...
- Python之Pandas库学习(二):数据读写
1. I/O API工具 读取函数 写入函数 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json ...