MVC编写的新闻页面
1.新闻发布系统
2.架构确立
3.数据表确立
4.分层
entity
dao
BaseDao sqlserver jar包
接口层(NewsDetailDAO)
impl
(NewsDetailDAOImpl)
实现效果图:
分层架构图:
关键代码:控制台输出新闻内容
实现类:
package cn.news.impl; import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List; import org.junit.Test; import cn.news.dao.BaseDao;
import cn.news.dao.NewsDetailDao;
import cn.news.entity.NewsDetail; public class NewsDetailDaoImpl extends BaseDao implements NewsDetailDao{ @Test
public void test() throws Exception
{
List<NewsDetail> list=getAllNews();
for (NewsDetail item : list) {
System.out.println(item.getNewsContent());
} } @Override
public List<NewsDetail> getAllNews() throws Exception {
List<NewsDetail> list=new ArrayList<NewsDetail>(); String sql="select * from newsDetails"; ResultSet rs=executeQuery(sql); if(rs!=null)
{
while(rs.next())
{
NewsDetail news=new NewsDetail(); news.setNewsId(rs.getInt("newsId"));
news.setNewsTitle(rs.getString("newsTitle"));
news.setNewsContent(rs.getString("newsContent"));
news.setNewsCreateDate(rs.getDate("newsCreateDate"));
news.setNewsAuthor(rs.getString("newsAuthor"));
news.setNewsCategoryId(rs.getInt("newsCategoryId")); list.add(news);
}
}
return list;
} }
页面显示新闻标题以及时间:
新增NewsServlet类继承HttpServlet。关键代码:
package cn.news.servlet; import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import cn.news.entity.NewsDetail;
import cn.news.impl.NewsDetailDaoImpl; public class NewsServlet extends HttpServlet { /** */
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doPost(request,response); } /** */
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { //实例化dao
NewsDetailDaoImpl dao=new NewsDetailDaoImpl(); try {
List<NewsDetail> list=dao.getAllNews(); request.setAttribute("list", list);
} catch (Exception e) {
e.printStackTrace();
} request.getRequestDispatcher("/index.jsp").forward(request, response);
} }
index.jsp
<ul class="classlist"> <%
List<NewsDetail>list=(List<NewsDetail>)request.getAttribute("list"); for(NewsDetail item:list)
{ %>
<li><a href='newspages/news_read.jsp'><%=item.getNewsTitle() %></a><span><%=item.getNewsCreateDate() %></span></li> <%
} %> <p align="right"> 当前页数:[1/2] <a href="#">下一页</a> <a href="#">末页</a> </p>
</ul>
web.xml
MVC编写的新闻页面的更多相关文章
- 【JavaWeb】MVC案例之新闻列表
MVC案例之新闻列表 作者:白宁超 2016年6月6日15:26:30 摘要:本文主要针对javaweb基本开发之MVC案例的简单操作,里面涉及mysql数据库及表的创建,以及jsp页面和servle ...
- PHP基础示例:用PHP+Mysql编写简易新闻管理系统[转]
实现目标:使用php和mysql操作函数实现一个新闻信息的发布.浏览.修改和删除操作 实现步骤: 一.创建数据库和表 1.创建数据库和表:newsdb 2.创建表格:news 字段:新闻id,标题,关 ...
- PHP基础示例:用PHP+Mysql编写简易新闻管理系统
实现目标:使用php和mysql操作函数实现一个新闻信息的发布.浏览.修改和删除操作 实现步骤: 一.创建数据库和表 1.创建数据库和表:newsdb 2.创建表格:news 字段:新闻id,标题,关 ...
- CoffeeScript编写简单新闻页(仅UI)
CoffeeScript编写简单新闻页(仅UI) 1. 配置(在公司搭建好的环境下配置) omnisocials-backend/src/backend/modules/member/config/m ...
- 爬虫技术 -- 进阶学习(十)网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)
最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/Scrapy ...
- 一个App完成入门篇(五)- 完成新闻页面
本节教程将介绍如何用DeviceOne简单而高效的完成一个新闻页面. 导入项目 数据模板分离MVVM模型 自定义事件 展示新闻 九宫格展示 将要学习的demo效果图如下所示 1. 导入完整项目 本节示 ...
- 在Asp.net MVC中访问静态页面
有时候由于一些特殊的需要,我们需要在MVC中访问HTML页面,假如您将这个页面放在Views中的话,去访问将会收到一个404,但是放在Views外面的目录则不受此限制. 那么我们就来解决View里面的 ...
- 网易新闻页面信息抓取 -- htmlagilitypack搭配scrapysharp
最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/Scrapy ...
- JavaScript网站设计实践(六)编写live.html页面 改进表格显示
一.编写live.html页面,1.JavaScript实现表格的隔行换色,并且当鼠标移过时当前行高亮显示:2.是输出表格中的abbr标签的内容 实现后的效果图是这样的: 1.实现思路 在输出表格的时 ...
随机推荐
- SharePoint 2010升级到sharePoint 2013后,人员失去对网站的权限的原因及解决方法。The reason and solution for permission lost after the upgrading
昨天碰到了一个问题,一个网站在从SharePoint 2010升级到SharePoint 2013后,人员都不能登录了,必须重加赋权,人员才能登录,这样非常麻烦. 原因:是认证方式的问题.在Share ...
- Android四大组件之Activity一(组件的概念、Intent、监听)
前言知识补充: 什么是组件? 1.它的类必须实现特定接口或继承特定类 2.需要在配置文件中配置其全类名 3.它的对象不是通过new来创建的, 而是系统自动创建的 4.它的对象具有一定 ...
- linux 系统权限 数字含义
摘抄: sudo chmod XXX dir_name XXX是你要设置的权限代号,第一位代表Owner,第二位代表Group,第三位代表Others XXX中0代表什么都不可以,1代表可执行,2代表 ...
- GCD应用及其他方法
1.GCD应用 单例模式 static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ ...
- CoreData数据库迁移的操作
CoreData数据库迁移操作步骤,操作是基于Xcode7. 1.添加新的数据库.选中当前数据库版本:Editor->Add Model Verson,创建一个新的数据库版本. 2.Comman ...
- eclipse怎样在线安装hibernate tools插件并使用
不知不觉,小Alan已经将近3个月没有上班了,最近在复习一些知识,随时准备回到代码世界的战场,今天复习到了Hibernate,记录一下一点点小知识,那就是eclipse下hibernate Tools ...
- [译] MYSQL索引最佳实践
近日整理文档时发现多年前的这个文档还是蛮实用的,然后在网络搜索了一下并没有相关的译文,所以决定把它翻译过来,如有不当的地方请多包涵和指正.原文地址:https://www.percona.com/fi ...
- .Net Attribute详解(下) - 使用Attribute武装枚举类型
接上文.Net Attribute详解(上)-Attribute本质以及一个简单示例,这篇文章介绍一个非常实用的例子,相信你一定能够用到你正在开发的项目中.枚举类型被常常用到项目中,如果要使用枚举To ...
- coursera机器学习笔记-神经网络,学习篇
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- JDK7学习笔记之基础类型
printf()的基础用法: 变量的基础用法: 字符的输出: