您的位置:首页 > Web前端 > JQuery

JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第四篇:前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页的实现

2014-09-21 17:01 1526 查看
上一篇介绍了JAVA_WEB项目之新闻发布管理系统第三篇:新闻发布,新闻修改,新闻删除功能的实现

下面实现前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页。

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

}
}
系统的主要源码就贴到这,接下来提供源码下载

整个项目的源码下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐