怎样实现新闻推送
通过Javabean+JSP+Servlet实现
- 首先要给新闻设置一个值来记录他的浏览量,然后要实现此功能就要让新闻在被查看之后浏览量增加。
- 其次在点击查看新闻时,获取此新闻的基本信息,然后look++,将变化后的look值更新到数据库。
- 最后在显示的页面通过查询数据库中look值最大的新闻,将其基本信息显示在页面中。
在显示页面的中:
```javascript
<div id="content">
<font size="6px" color="blue">热点新闻</font><hr>
<%
News news1=new News();
News news2=NewsDAO.retrievemax(news1);
news1.setCont(news2.cont);
news1.setTitle(news2.title);
news1.setPerson(news2.person);
news1.setAddtime(news2.addtime);
news1.setLook(news2.look);
%>
<table id="news" width="40%" border="5" cellpadding="0" cellspacing="1" style="background-color:#FFFFFF" align="center">
<tr height="40">
<td>新闻标题:<%=news1.getTitle() %></td>
</tr>
<tr height="100">
<td><%=news1.getCont() %></td>
</tr>
<tr height="30">
<td>发布者:<%=news1.getPerson() %> 发布时间:<%=news1.getAddtime() %></td>
</tr>
</table>
<font size="6px" color="blue">新闻</font><hr>
<% ArrayList nn=NewsDAO.retrieveAll();
if(nn==null||nn.size()==0){
out.print("目前没有新闻可显示!");
}
else{
for(int i=nn.size()-1;i>=0;i--){
News news=(News)nn.get(i);
%>
<table id="news" width="40%" border="5" cellpadding="0" cellspacing="1" style="background-color:#FFFFFF" align="center">
<tr height="40">
<td>新闻标题:<%=news.getTitle() %></td>
</tr>
<tr height="100">
<td><%=news.getCont() %></td>
</tr>
<tr height="30">
<td>发布者:<%=news.getPerson() %> 发布时间:<%=news.getAddtime() %>
<a href="Watch?ino=<%=news.getIno() %>&tag1=1&look=<%=news.getLook() %>">进入查看</a></td>
</tr>
</table>
<%}
} %>
</div>
在点击进入查看之后,跳转到Servlet里:
```javascript
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int ino=Integer.parseInt(request.getParameter("ino").toString());
int look=Integer.parseInt(request.getParameter("look").toString());
int tag1=Integer.parseInt(request.getParameter("tag1").toString());
look++;
News news=new News();
news.setIno(ino);
news.setLook(look);
news.setTag1(tag1);
News news1=NewsDAO.retrievelook(news);
news.setCont(news1.cont);
news.setTitle(news1.title);
news.setPerson(news1.person);
news.setAddtime(news1.addtime);
int n=0;
try {
n=NewsDAO.update(news);
} catch (SQLException e) {
// TODO Auto-generated