自动生成静态网站页面

<body onLoad="clockon(bgclock);">
<jsp:include page="common.jsp" flush="true"></jsp:include>
<jsp:include page="top.jsp" flush="true"></jsp:include>
<jsp:include page="net_Type.jsp" flush="true"></jsp:include>

<table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="195" align="center" valign="top">
<jsp:include page="left.jsp" flush="true"></jsp:include> </td>
<td align="center" valign="top">



<table width="632" height="48" border="0" align="center" cellpadding="0" cellspacing="0" background="images/3.jpg">
<tr>
<td width="64"> </td>
<td width="568">查询新闻</td>
</tr>
</table>






<c:if test="${!empty requestScope.newsList}">
<div align="right"><a href="createNews">自动创建网站信息</a>   </div><br>
</c:if>
<table width="549" border="1" cellpadding="0" cellspacing="0">
<tr align="center">
<td width="119" height="25">新闻类型</td>
<td width="167">新闻标题</td>
<td width="140">发布时间</td>
<td width="113">操作</td>
</tr>
<c:forEach items="${requestScope.newsList}" var="news">
<tr align="center">
<td height="25">${news.type_name}</td>
<td>${news.con_title}</td>
<td>${news.con_time}</td>
<td><a href="netInformation?method=queryNewsObject&id=${news.id}">修改</a>  <a href="netInformation?method=deleteNews&id=${news.id}">删除</a></td>
</tr>
</c:forEach>

</table>

<br> </td>
</tr>
</table>
<jsp:include page="down.jsp" flush="true"></jsp:include>
</body>



function clockon(bgclock){
var now=new Date();
var year=now.getYear();
var month=now.getMonth();
var date=now.getDate();
var day=now.getDay();
var hour=now.getHours();
var minu=now.getMinutes();
var sec=now.getSeconds();
var week;
month=month+1;
if(month<10) month="0"+month;
if(date<10) date="0"+date;
if(hour<10) hour="0"+hour;
if(minu<10) minu="0"+minu;
if(sec<10) sec="0"+sec;
var arr_week=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
week=arr_week[day];
var time="";
time=year+"年"+month+"月"+date+"日 "+week+" "+hour+":"+minu+":"+sec;
if(document.all){
bgclock.innerHTML=""+time+""
}
var timer=setTimeout("clockon(bgclock)",200);
}


servlet
public class CreateNewsServlet extends HttpServlet {
private String path = null;
private Integer net_id = null;
private NetInforamtion net = null;
private Temple tem = null;
private TempleDao templeDao = null;
private NetInformationDao netInformationDao = null;
private FileOperation fileOperation = null;
private NewsDao newsDao = null;

public void doGet(HttpServletRequest request, HttpServletResponse response) {
fileOperation = new FileOperation();
path = request.getRealPath("/");
net_id = (Integer) request.getSession().getAttribute("maxId");
netInformationDao = new NetInformationDao();
net = netInformationDao.queryNetObject(net_id);
templeDao = new TempleDao();
tem = templeDao.queryTemObject(net.getNet_type());
this.createNews1(); // 第1步
this.createNews2(request, response);// 第2步
this.createNews3(request, response);// 第3步
this.createNews4(request, response);// 第4步
this.createNews5(request, response);// 第5步
this.createNews6(request, response);// 第6步
this.createNews7(request, response);// 第7步
}

// 第7步,将网站信息表中主页地址进行更改
private void createNews7(HttpServletRequest request,
HttpServletResponse response) {
try {
request.getRequestDispatcher("newsResult.jsp").forward(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}

// 第6步,将保存在session中新闻类型与所对应的链接放置于news_top.htm
private void createNews6(HttpServletRequest request,
HttpServletResponse response) {
String templatetop = path +tem.getTem_top();
fileOperation.createFile(templatetop);
byte bytes[] = fileOperation.readStream(templatetop);
String template = new String(bytes);
List<News> list = (List<News>) request.getSession().getAttribute(
"listTem");
String topArrary = "";
for (News news : list) {
topArrary = topArrary + "<a href =" + news.getAddress()
+ " target=_parent>" + news.getType_name()
+ "</a>  ";
}
template = template
.replaceAll("###netName###", net.getNet_individual());
template = template.replaceAll("###type###", topArrary);
String createNews = path + net.getNet_address();
fileOperation.writeStream(template, createNews, tem.getTem_top());
}

// 第5步,制作新闻类型页面
private void createNews5(HttpServletRequest request,
HttpServletResponse response) {
List<News> list = null;
List<News> listTem =new ArrayList<News>();
String templateType = path + tem.getTem_type();
fileOperation.createFile(templateType);
byte bytes[] = fileOperation.readStream(templateType);
String template = null;
TypeDao typeDao = new TypeDao();
NewsDao newsDao = new NewsDao();
String[] types = typeDao.queryTypeNameArray(net_id);
int j = 1;
for (String type : types) {
template = new String(bytes);
template = template.replaceAll("###type###", type);
String sql = "select * from tb_content where net_id = " + net_id
+ " and type_name = '" + type + "'";
list = newsDao.queryNewsList(sql);
String typeArray = "";
for (News news1 : list) {
String title = "<tr><td width=372><a href="
+ news1.getAddress() + " target=_blank>"
+ news1.getCon_title() + "</a></td>";
String createTime = "<td width=135>" + news1.getCon_time()
+ "</td><tr>";
typeArray = typeArray + title + createTime;
}
template = template.replaceAll("###result###", typeArray);
String createNews = path + net.getNet_address();

String type_tmp="type"+j+".html";
fileOperation.writeStream(template, createNews, type_tmp);
if (!type.equals("公告信息") && !type.equals("焦点导读")) {
News newsTem = new News();
newsTem.setType_name(type);
newsTem.setAddress(type_tmp);
listTem.add(newsTem);
}
j++;
}
request.getSession().setAttribute("listTem", listTem);
}

// 第4步,制作首页面
private void createNews4(HttpServletRequest request,
HttpServletResponse response) {
String templateIndex = path + tem.getTem_index();
fileOperation.createFile(templateIndex);
byte bytes[] = fileOperation.readStream(templateIndex);
String template = new String(bytes);
String sql = "select * from tb_content where type_name != '焦点导读' and type_name != '公告信息' and net_id ="
+ net_id + "";
NewsDao newsDao = new NewsDao();
List<News> list = newsDao.queryNewsList(sql);
String indexArray = "";
for (News news : list) {
String title = "<tr height=30><td width=372><a href="
+ news.getAddress() + " target=_blank>"
+ news.getCon_title() + "</a></td>";
String createTime = "<td width=135>" + news.getCon_time()
+ "</td></tr>";
indexArray = indexArray + title + createTime;

}
template = template.replaceAll("###result###", indexArray);

String createNews = path + net.getNet_address();
fileOperation.writeStream(template, createNews, "index.html");
}

// 第3步:生成左侧或右侧页面
private void createNews3(HttpServletRequest request,
HttpServletResponse response) {
String templateLeft = path + tem.getTem_left();
fileOperation.createFile(templateLeft);
byte bytes[] = fileOperation.readStream(templateLeft);
TypeDao typeDao = new TypeDao();
String[] types = typeDao.queryTypeNameArray(net_id);
String template = new String(bytes);
String typeArray = "";
for (String type : types) {
typeArray = typeArray + "<option value=" + type + ">" + type
+ "</option>";
}
template = template.replaceAll("###type###", typeArray);

String sql = "select * from tb_content where type_name = '公告信息' and net_id ="
+ net_id + "";
NewsDao newsDao = new NewsDao();
List<News> list = newsDao.queryNewsList(sql);
System.out.println(sql);
String afficeArray = "";
for (News news : list) {
afficeArray = afficeArray + "<a href =" + news.getAddress()
+ " target=_blank>" + news.getCon_title() + "</a><br><br>";
}
template = template.replaceAll("###afficheNews###", afficeArray);

sql = "select * from tb_content where type_name = '焦点导读' and net_id ="
+ net_id + "";
list = newsDao.queryNewsList(sql);
String focusArray = "";
for (News news : list) {
focusArray = focusArray + "<a href =" + news.getAddress()
+ " target=_blank>" + news.getCon_title() + "</a><br><br>";
}
template = template.replaceAll("###focusNews###", focusArray);
String createNews = path + net.getNet_address();
fileOperation.writeStream(template, createNews, tem.getTem_left());
}

// 第2步,根据添加的新闻内容生成新闻查看内容
private void createNews2(HttpServletRequest request,
HttpServletResponse response) {
String templateContent = path + tem.getTem_content();
fileOperation.createFile(templateContent);
byte bytes[] = fileOperation.readStream(templateContent);
String template =null;
newsDao = new NewsDao();
List<News> list = newsDao.queryNewsList(net_id);
for (News news : list) {
template = new String(bytes);
news.setAddress("content" + news.getId() + ".html");
newsDao.updateNews(news);
template = template.replaceAll("###title###", news.getCon_title());
template = template.replaceAll("###content###", news
.getCon_content());
template = template.replaceAll("###createTime###", news
.getCon_time());
String createNewsContent = path + net.getNet_address();
fileOperation
.writeStream(template, createNewsContent, news.getId());
}
}

// 第1步:将CSS样式与网站所需要的图片所在的文件夹进行拷贝指定文件夹下
private void createNews1() {
String path1 = path + net.getNet_address() + "/images";
String address = path + tem.getTem_images();
fileOperation.copyFile(address, path1);
}


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值