JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第四篇:前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页的实现
2014-09-21 17:01
1526 查看
上一篇介绍了JAVA_WEB项目之新闻发布管理系统第三篇:新闻发布,新闻修改,新闻删除功能的实现。
下面实现前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页。
1、首页的jsp代码;
2、新闻分类,新闻分页的实现:
service层:
dao层:
整个项目的源码下载
下面实现前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页。
1、首页的jsp代码;
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>新闻主页</title> </head> <body align="center"> <div align="center"> <%@include file="head.jsp"%> <table style="border:6px solid #ccc" border="1px" cellspacing="0px" width="1200px" height="600px"> <tr> <td><br/><br/><br/><br/> <div style="width:300px"><img src="images/z_title.png"/></div><br/> <iframe frameborder="0" width="100%" height="100%" scrolling="no" name="all" src="${pageContext.request.contextPath}/FrontNewsAction?action=findAllNews" ></iframe></td> <td> <br/><br/><br/><br/> <div style="width:300px"><img src="images/k_title.png"/></div><br/> <iframe frameborder="0" width="100%" height="100%" scrolling="no" name="technology" src="${pageContext.request.contextPath}/FrontNewsAction?action=findAllNews&category_id=1"></iframe></td> </tr> <tr> <td> <br/><br/><br/><br/> <div style="width:300px"><img src="images/t_title.png"/></div><br/> <iframe frameborder="0" width="100%" height="100%" scrolling="no" name="popular" src="${pageContext.request.contextPath}/FrontNewsAction?action=findAllNews&category_id=2"></iframe></td> <td> <br/><br/><br/><br/> <div style="width:300px"><img src="images/y_title.png"/></div><br/> <iframe frameborder="0" width="100%" height="100%" scrolling="no" name="sports" src="${pageContext.request.contextPath}/FrontNewsAction?action=findAllNews&category_id=3" ></iframe></td> </tr> </table> </div> </body> </html>
2、新闻分类,新闻分页的实现:
package com.news.action; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.news.domain.News; import com.news.domain.PageBean; import com.news.domain.QueryInfo; import com.news.service.FrontNewsService; import com.news.utils.WebUtils; public class FrontNewsAction extends BaseAction{ public void findAllNews(HttpServletRequest request,HttpServletResponse response) throws Exception{ try{ //synchronized (this) { QueryInfo info=WebUtils.request2bean(request, QueryInfo.class); FrontNewsService service=new FrontNewsService(); String cid=request.getParameter("category_id"); int category_id=0; if(cid!=null){ category_id=Integer.parseInt(cid); } PageBean bean= service.pageQuery(info,category_id); System.out.println("大小是:"+bean.getList().size()); String jsp_Page="/news_jsps/News_All.jsp"; System.out.println(category_id); if(category_id==1){ jsp_Page="/news_jsps/News_Technology.jsp"; }else if(category_id==2){ jsp_Page="/news_jsps/News_Sports.jsp"; }else if(category_id==3){ jsp_Page="/news_jsps/News_Popular.jsp"; } request.setAttribute("pagebean", bean); request.getRequestDispatcher(jsp_Page).forward(request, response); //} }catch (Exception e) { e.printStackTrace(); request.setAttribute("message", "查看新闻列表失败!!"); request.getRequestDispatcher("/message.jsp").forward(request, response); } } public void findNewsById(HttpServletRequest request,HttpServletResponse response) throws Exception{ try{ String news_id=request.getParameter("news_id"); FrontNewsService service=new FrontNewsService(); News news= service.findNewsById(Integer.parseInt(news_id)); request.setAttribute("news", news); request.getRequestDispatcher("/news_jsps/News_Information.jsp").forward(request, response); }catch (Exception e) { e.printStackTrace(); request.setAttribute("message", "查看新闻失败!!"); request.getRequestDispatcher("/message.jsp").forward(request, response); } } }
service层:
package com.news.service; import com.news.dao.FrontNewsDao; import com.news.domain.News; import com.news.domain.PageBean; import com.news.domain.QueryInfo; import com.news.domain.QueryResult; public class FrontNewsService { FrontNewsDao dao=new FrontNewsDao(); public PageBean pageQuery(QueryInfo queryInfo,int category_id) throws Exception { //调用dao获得页面数据 QueryResult qr= dao.pageQuery(queryInfo.getStartindex(), queryInfo.getPagesize(),category_id); //把获得页面数据封装到pagebean里面 PageBean pagebean=new PageBean(); pagebean.setList(qr.getList()); pagebean.setTotalrecord(qr.getTotalrecord()); pagebean.setCurrentpage(queryInfo.getCurrentpage()); pagebean.setPagesize(queryInfo.getPagesize()); return pagebean; } public News findNewsById(int news_id) throws Exception{ return dao.findNewsById(news_id); } }
dao层:
package com.news.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import org.apache.commons.dbutils.DbUtils; import com.news.domain.Category; import com.news.domain.News; import com.news.domain.QueryResult; import com.news.utils.JdbcUtils; public class FrontNewsDao { public QueryResult pageQuery(int startindex,int pagesize,int category_id) throws Exception { Connection conn=null; PreparedStatement st=null; ResultSet rs=null; QueryResult qr=new QueryResult(); try { conn=JdbcUtils.getConnection(); String sql="select * from tb_news order by id desc limit ?,?"; System.out.println("分类id:"+category_id); if(category_id>0){ sql="select * from tb_news where category_id=? order by id desc limit ?,? "; } st=conn.prepareStatement(sql); if(category_id>0){ st.setInt(1,category_id ); st.setInt(2, startindex); st.setInt(3, pagesize); }else{ st.setInt(1, startindex); st.setInt(2, pagesize); } rs=st.executeQuery(); List list=new LinkedList(); while(rs.next()) { News n=new News(); n.setTitle(rs.getString("title")); n.setContent(rs.getString("content")); n.setNews_id(rs.getInt("id")); n.setDate(rs.getDate("date")); n.setCategory(new Category(rs.getInt("category_id"),null)); list.add(n); } if(category_id>0){ sql="select count(*) from tb_news where category_id=?"; }else{ sql="select count(*) from tb_news"; } st=conn.prepareStatement(sql); if(category_id>0){ st.setInt(1,category_id ); } rs=st.executeQuery(); if(rs.next()) { qr.setTotalrecord(rs.getInt(1)); } qr.setList(list); return qr; } catch (Exception e) { // TODO Auto-generated catch block throw new Exception(e); }finally{ DbUtils.closeQuietly(conn, st, rs); } } public News findNewsById(int news_id) throws Exception{ Connection conn=null; PreparedStatement st=null; ResultSet rs=null; try { conn=JdbcUtils.getConnection(); String sql="select * from tb_news where id=?"; st=conn.prepareStatement(sql); st.setInt(1, news_id); rs=st.executeQuery(); News n=new News(); if(rs.next()) { n.setTitle(rs.getString("title")); n.setContent(rs.getString("content")); n.setNews_id(rs.getInt("id")); n.setDate(rs.getDate("date")); n.setCategory(new Category(rs.getInt("category_id"),null)); } return n; } catch (Exception e) { // TODO Auto-generated catch block throw new Exception(e); }finally{ DbUtils.closeQuietly(conn, st, rs); } } }工具类:
package com.news.utils; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; import com.mchange.v2.c3p0.DataSources; public class JdbcUtils implements ServletContextListener{ private static ComboPooledDataSource ds=null; static{ try{ ds=new ComboPooledDataSource(); }catch (Exception e) { // TODO: handle exception throw new ExceptionInInitializerError(e); } } public static DataSource getDateSource(){ return ds; } public static Connection getConnection() throws SQLException{ return ds.getConnection(); } public static void release(Connection conn,Statement st,ResultSet rs) { if(rs!=null) { try{ rs.close(); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); } rs=null; } if(st!=null) { try{ st.close(); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); } st=null; } if(conn!=null){ try{ conn.close(); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); } conn=null; } } public void contextDestroyed(ServletContextEvent arg0) { // TODO Auto-generated method stub System.out.println("���"); try { DataSources.destroy(ds); } catch (Exception e) { e.printStackTrace(); } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } public void contextInitialized(ServletContextEvent arg0) { // TODO Auto-generated method stub } }系统的主要源码就贴到这,接下来提供源码下载
整个项目的源码下载
相关文章推荐
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第一篇:前期环境准备
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第三篇:新闻发布,新闻修改,新闻删除功能的实现
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第二篇:登陆和注销功能实现
- CMS内容管理系统开发- Java Web开发及发布实例(2)—使用JSP实现动态数据交互
- JSP+Servlet培训班作业管理系统[23] -番外篇之Java Web日志
- Java Web 图片管理与分享系统(Struts2+Hibernate+JSP实现)
- Java Web开发-项目部分(中国移动科技综合管理系统)视频――私塾在线提供
- Java项目 1 - 学生成绩管理系统---采用 Servlet+Jsp+JavaBean+MySql 设计方式,
- 图书管理系统【JavaWeb:部署开发环境、解决分类、图书、前台页面模块】
- Servlet与Jsp的结合使用实现信息管理系统二
- Java Web 文章管理系统(Jsp+Ajax+JDBC+MySql实现)
- [java源码] Java Web 文章管理系统(Jsp+Ajax+JDBC+MySql实现)
- java web 项目 图书管理系统的设计与实现
- [J2EE]UEditor编辑器实现新闻发布系统[jsp版]
- java web 项目 图书管理系统的设计与实现
- JSP+Servlet技术实现分页 首页 下一页 每一页显示10条页码 下一页 尾页 第页/共页 (利用PageBean实现)
- Java Web 文章管理系统(Jsp+Ajax+JDBC+MySql实现)
- JavaWeb物流管理项目开发(JSP、Servlet、JDBC):3、环境搭建
- Servlet与Jsp的结合使用实现信息管理系统二
- Servlet与Jsp的结合使用实现信息管理系统一