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应用后台开发时间和精力,以最快的 ...
随机推荐
- 高性能嵌入式核心板新标杆!米尔推出基于NXP i.MX8M处理器的MYC-JX8MX核心板
随着嵌入式及物联网技术的飞速发展,高性能计算的嵌入式板卡已经成为智能产品的基础硬件平台.为响应行业应用和满足客户需求,米尔电子推出基于NXP公司i.MX8M系列芯片的开发平台MYD-JX8MX系列开发 ...
- export命令的使用
一:export将环境变量昭告天下 1.直接输入export会将显示bash下的所有环境变量 2.env/set/export/declare都可以显示shell的变量 ...
- 【设计模式】行为型07备忘录模式(Memento Pattern)
参考地址:http://www.runoob.com/design-pattern/memento-pattern.html 对原文总结调整,以及修改代码以更清晰的展示: 备忘录模式(快照模式): ...
- 【小记整理】mybatis配置多个扫描路径写法
百度得到,但是很乱,稍微整理下: 最近拆项目,遇到个小问题,稍微记录下: <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> <bean id ...
- Java web环境的搭建
学习java web 首先得要能够在自己的电脑上配置环境,经查阅资料后了解,需要装java EEEclipse ,即企业版的,还有就是tomcat服务器. 第一步,从网上下载,eclipse 企业版的 ...
- 解读TIME_WAIT--你在网上看到的大多数帖子可能都是错误的
由于TCP协议整个机制也非常复杂我只能尽可能的在某一条线上来说,不可能面面俱到,如果有疏漏或者对于内容有异议可以留言.谢谢大家. 查看服务器上各个状态的统计数量: netstat -ant | awk ...
- Log2Net日志查询网站代码解析
在前面的几节中,我们介绍了Log2Net的使用方法和代码设计.使用这个组件,我们可以方便地将日志记录到数据库中,那么,我们怎么能看到这些日志呢?于是,日志查询网站应运而生.效果图如下: 该代码已开源, ...
- 微信小程序map组件z-index的层级问题
说起微信小程序的map组件,可以说是良心之作了,一个组件解决了所以接入地图的所有麻烦,但是在实际小程序的试用过程中还是存在点问题的.如下情景:刚开始接入map组件的时候是在微信开发工具的模拟器上预览的 ...
- java虚拟机-程序计数器PC Register
什么是程序计数器? 程序计数器是一块 较小 的内存空间,它可以看做是当前线程所执行的字节码的 行号指示器 :在虚拟机的概念模型里(仅仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解 ...
- 设计模式-观察者模式(Observer)
观察者模式是行为模式的一种,它的作用是当一个对象的状态发生变化时,能够自动通知关联对象,自动刷新对象状态. 观察者模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步. ...