码迷,mamicode.com
首页 > 其他好文 > 详细

新闻发布系统项目总结

时间:2014-12-29 16:46:23      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

                            新闻发布系统个人总结

           每到这个时候总是会有一大批作业and课程设计来袭,作为jsp课程,自然就会有jsp课程设计啦,~~~~(>_<)~~~~ ,不过,表示个人对jsp还是比较喜欢的,所以嘛,我肯定会认真对待啦~,长话短说,现在进入正题(ps:本篇以jsp页面中的java代码为主,网站布局,不宜详细介绍,请谅解)

-------Tips One-------

  项目要求:开发一个新闻发布系统的项目可以实现新闻的发布,新闻内容的预览,新闻的增删改,管理员信息查看等功能
      项目分析:作为新闻发布系统需要有数据库,本次设计中使用的数据库为mysql数据库,链接数据库的方法使用了JDBC+Mysql技术 ,由于小编技术有限,所以本次的后台使用了jsp页面,而没有使用什么框架或者serverlet技术什么的,因为还没学= =,所以作为初学者只能这么做啦......

  需要的方法分析:显示新闻标题的方法,显示新闻内容的方法//////新闻增加的方法,新闻删除的方法,新闻修改的方法///管理员信息显示的方法////

  系统结构:

技术分享

-------Tips Two-------

  项目前台界面:前台界面采用div+css+js进行设计,运用bootstrap框架技术进行新闻标题的显示,而且引用了百度的新闻代码,可以在自己的页面中展示百度新闻,小编技术有限,先附图,求勿喷,勿喷...

技术分享

 

---百度代码的获取地方:↓↓↓↓↓↓↓↓↓↓↓↓

技术分享

 

-------Tips Three-------

以下是后台登陆的Login界面(代码在网上找的,如有版权问题,请联系小编/wq)

技术分享

在登陆的页面中需要进行表单的数据与数据库的信息进行比对,代码如下

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
  <%
    Connection con=null;
    PreparedStatement psmt=null;
    ResultSet rs=null;
    String name=request.getParameter("username");  //获取表单中账号
    String pass=request.getParameter("password");  //获取表单中的密码

    try
    {
                Class.forName("com.mysql.jdbc.Driver");                                                    
    }catch(ClassNotFoundException e)
    {
        System.out.println("Driver Error");
    }
    
    try
    {
        con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mynews", "root", "baby123");
        String sql="select * from administrator where User=? and Password=?";
        psmt=con.prepareStatement(sql);
        psmt.setString(1,name);
        psmt.setString(2,pass);
        rs=psmt.executeQuery();
        if(rs.next())
        { 
            session.setAttribute("name",name);   //设置session对象的属性和内容,以便进行访问控制
            response.sendRedirect("../index.jsp");  //验证数据成功后登陆后台
        }else
        {
            response.sendRedirect("../Login.html");  //错误后仍旧在后台的登陆界面
        }
    }catch(SQLException e)
    {
        e.printStackTrace();
    }finally
    {
        try{
            if(rs!=null)
            rs.close();
            if(psmt!=null)
            psmt.close();
            if(con!=null)
            con.close();
    }catch(SQLException e)
    {
        e.printStackTrace();
    }
    }
 %>     

 

-------Tips Four------

  后台管理界面如下(ps:采用达内科技的模板(来源))

技术分享

界面代码不予展示

============================================================================================

首先:我们把用到的java文件予以显示:

package cn.news.bzu.dao;
import cn.news.bzu.util.*;
import java.util.Date;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import cn.news.bzu.entity.flash;

public class flashDao {
    // 获取新闻快讯的信息
    public List<flash> showFlash() {
        List<flash> list = new ArrayList<flash>(); // 创建集合
        Connection con = null;
        PreparedStatement psmt = null;
        ResultSet rs = null;

        try {
            con = DbHelper.getConnection(); // 从公共类中获取数据库的链接
            String sql = "select * from flash";
            psmt = con.prepareStatement(sql);
            rs = psmt.executeQuery();
            while (rs.next()) {
                int Id = rs.getInt("Id");
                String Creator = rs.getString("Creator");
                Date CreateTime = rs.getDate("CreateTime");
                String TitleName = rs.getString("TitleName");
                String Content = rs.getString("Content");
                flash flash = new flash(Id, TitleName, Creator, Content,
                        CreateTime);
                list.add(flash); // 把一个新闻信息加入集合
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DbHelper.closeResultSet(rs);
            DbHelper.closeStatement(psmt);
            DbHelper.closeConnection(con);
        }
        return list;
    }
    // 获取新闻快讯的信息详情
    public flash getFlashById(int  id) {
        Connection con = null;
        PreparedStatement psmt = null;
        ResultSet rs = null;
        flash flash = null;

        try {
            con = DbHelper.getConnection(); // 从公共类中获取数据库的链接
            String sql = "select * from flash where Id=?";
            psmt = con.prepareStatement(sql);
            psmt.setInt(1,id);
            rs = psmt.executeQuery();
            if (rs.next()) {
                int Id = rs.getInt("Id");
                String Creator = rs.getString("Creator");
                Date CreateTime = rs.getDate("CreateTime");
                String TitleName = rs.getString("TitleName");
                String Content = rs.getString("Content");
                flash flsh=new flash(Id, TitleName, Creator, Content, CreateTime);
                return flsh;
            } else {
                return null;
            }

        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            DbHelper.closeResultSet(rs);
            DbHelper.closeStatement(psmt);
            DbHelper.closeConnection(con);
        }
    }
    
    //根据id删除新闻信息
    public int Delete(int id) throws Exception{
        Connection con=null;
        PreparedStatement psmt=null;
        ResultSet rs=null;
        int n=0;
        try{
            con=DbHelper.getConnection();
            String sql="delete from flash where id=?";
            psmt=con.prepareStatement(sql);
            psmt.setInt(1, id);
            n=psmt.executeUpdate();
            
        }catch(SQLException e){
            e.printStackTrace();
        }finally{
            try {
                if(rs!=null){
                    rs.close();
                }
                if(psmt!=null){
                    psmt.close();
                }
                if(con!=null){
                    con.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return n;
    }
    
    //添加新闻快讯
    public int addFlash(String titleName,String Content,String Creator){
        int n=0;  //n表示返回值
        Connection con=null;
        PreparedStatement psmt=null;
        try {
            SimpleDateFormat HMFromat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
            String strCurrentTime = HMFromat.format( new Date());
            //获取系统时间添加数据库
            con=DbHelper.getConnection();
            String sql="insert into flash(TitleName,Content,Creator,CreateTime) values(?,?,?,?)";
            psmt=con.prepareStatement(sql);
            psmt.setString(1, titleName);
            psmt.setString(2, Content);
            psmt.setString(3, Creator);
            psmt.setString(4,strCurrentTime );
            n=psmt.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                if(psmt!=null){
                    psmt.close();
                }
                if(con!=null){
                    con.close();
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        return n; 
    }
     
    //通过id更新数据
    public int UpdateFlash(int id,String title,String content){
        int n=0;  //n表示返回值
        Connection con=null;
        PreparedStatement psmt=null;
        try {
//            SimpleDateFormat HMFromat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//            String strCurrentTime = HMFromat.format( new Date());
//            //获取系统时间添加数据库
            con=DbHelper.getConnection();
            String sql="Update flash set TitleName=?,Content=? where id=?";
            psmt=con.prepareStatement(sql);
            psmt.setString(1, title);
            psmt.setString(2, content);
            psmt.setInt(3, id);
            n=psmt.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                if(psmt!=null){
                    psmt.close();
                }
                if(con!=null){
                    con.close();
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        return n; 
    }
    
}

 

-------Tips Five------

由于后续的功能实现的技术都一样,所以下面以新闻列表进行展示

技术分享

jsp代码的实现:

  <table id="datalist">
                        <tr>
                            <th><font size="-1">Id</font></th>
                            <th><font size="-1">二级标题</font></th>
                            <th><font size="-1">新闻内容</font></th>
                            <th><font size="-1">创建时间</font></th>
                            <th><font size="-1">创建者</font></th>
                            <th><font size="-1">操作</font></th>
                        </tr>
                             <%
                            flashDao dao=new flashDao();
                            List<flash> list=dao.showFlash();
                            for(flash t1:list)
                            {%>        
                        <tr>
                            <td width="50""><font size="-1"><%=t1.getId() %></font></td>
                            <td><font size="-1"><%=t1.getTitleName() %></font></td>
                            <td><font size="-1"><%=t1.getContent() %></font></td>
                            <td><font size="-1"><%=t1.getCreateTime() %></font></td>
                            <td width="50"><font size="-1"><%=t1.getCreator() %></font></td>
                             <td class="td_modi">
                                <a href="../Update/UpdateFlash-1.jsp?id=<%=t1.getId() %>"><input type="button" value="修改" class="btn_modify" /></a>
                               <a href="../../Dooperate/deleteFlash.jsp?id=<%=t1.getId() %>"><input type="button" value="删除" class="btn_delete" /></a>
                          </td>
                        </tr>   
                         <%}
                            %>
                            <tr>
                                <td  colspan="6"><a href="../AddLists/AddFlash.jsp"><font size="5" color="red">添加新闻</font></a></td>
                            </tr>
                    </table>

----添加新闻显示:

技术分享

jsp【处理】代码(此处不是当前页面的代码,当前form的action="#"为处理页面的代码):

  request.setCharacterEncoding("utf-8");  //此条语句为了避乱乱码问题
   String title=request.getParameter("title");
   String content=request.getParameter("content");
   String creator=(String)session.getAttribute("name");  //通过session对象获取当前用户
    flashDao  flashDao=new flashDao();
    int result=flashDao.addFlash(title,content,creator);
    if(result>0)
     {
         response.sendRedirect("../CMSPages/NewsList/FlashNews.jsp");
     }
     else
     {
     response.sendRedirect("http://www.baidu.com");   //如果没有返回值,也就是失败,则跳转到百度的页面
        
     }

---删除新闻代码显示:

String id=request.getParameter("id");
    int ID=Integer.parseInt(id);
    flashDao dao=new flashDao();
    int result=dao.Delete(ID);
    if(result>0)
    {
        response.sendRedirect("../CMSPages/NewsList/FlashNews.jsp");
    }
    else
    {
        response.sendRedirect("http://www.baidu.com");
    }
    

ps:执行删除代码会带有一个返回值,根据是否有返回值进行页面跳转的操作

 

-----修改新闻信息:

技术分享

次处代码为:

<form action="../../Dooperate/doUpdateFlash.jsp"    method="post">
                    <table id="datalist">
                        <font size="3" color="red">[ 更新快讯新闻 ]</font>
                        <%
                    //根据id获取对应的信息,只有获取信息才能够在文本框中显示
                    flashDao flashDao = new flashDao();
                    flash ff = flashDao.getFlashById(Integer.parseInt(request.getParameter("id")));
                    if (ff != null) {
                %>
                        <tr>
                            <td>
                                <font size="-1">二级标题</font>
                            </td>
                            <td>
                                <font size="-1"><input type="text" style="width: 500px;"  name="title" id="title"   value="<%=ff.getTitleName()%>" /> </font>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <font size="-1">新闻内容</font>
                            </td>
                            <td>
                                <font size="-1"><input type="text" style="width: 500px;" name="content" id="content"   value="<%=ff.getContent()%>" /> </font>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <font size="-1">操作</font>
                            </td>
                            <td>
                                <font size="-1">
                                    <input type="hidden" value="<%=ff.getId() %>" id="hidden" name="hidden"/> //【【次处隐藏,这样的话通过表单传入id,这样就可以进行更新操作,更新操作的条件为这个id】】】
                                    <input type="submit" value="更新" class="btn_modify" /> 
                                </font>
                            </td>
                        </tr>
                        <%
                            }
                        %>
                    </table>
                </form>

处理表单传入的代码:

request.setCharacterEncoding("utf-8");  //此条语句 ,必须要写否则会出现乱码
  String id=request.getParameter("hidden");
  int yy=Integer.parseInt(id);  //id需要进行转换,转化为int型的
   String title=request.getParameter("title");
   String content=request.getParameter("content");
   String creator=(String)session.getAttribute("name");  //通过session对象获取当前用户
   flashDao  flashDao=new flashDao();
   int result=flashDao.UpdateFlash(yy,title,content);
    if(result>0)
     {
     	response.sendRedirect("../CMSPages/NewsList/FlashNews.jsp");
     }
     else
     {
 	response.sendRedirect("http://www.baidu.com");
        
     }

 ps:在修改页面时候,表单中需要隐藏个id,这个id在后续的更新是个关键!!!,还有request.getParameter("$"),这个$是个表单中的name,不是id,一定要记住,否则会出现返回值为null,~~~~(>_<)~~~~

 

//方法已附上,注意已附上,由于时间紧,所以就先这样写吧,后续将进行更新,请谅解

//项目已附上链接,(项目的修改部分只做了flash部分,由于时间紧,只有先这样啦,请亲们谅解)

//网站推荐:源码之家,懒人之家,站长工具,站长素材

//URL:(http://yunpan.cn/cyAkfeniwz2Z8 (提取码:e315));

 

新闻发布系统项目总结

标签:

原文地址:http://www.cnblogs.com/boy1025/p/4191962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!