首页 > 代码库 > 新闻发布系统项目总结

新闻发布系统项目总结

                            新闻发布系统个人总结

           每到这个时候总是会有一大批作业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=http://www.mamicode.com/"../Update/UpdateFlash-1.jsp?id=<%=t1.getId() %>"><input type="button" value=http://www.mamicode.com/"修改" class="btn_modify" /></a>                               <a href=http://www.mamicode.com/"../../Dooperate/deleteFlash.jsp?id=<%=t1.getId() %>"><input type="button" value=http://www.mamicode.com/"删除" class="btn_delete" /></a>                          </td>                        </tr>                            <%}                            %>                            <tr>                                <td  colspan="6"><a href=http://www.mamicode.com/"../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="http://www.mamicode.com/" /> </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="http://www.mamicode.com/" /> </font>                            </td>                        </tr>                        <tr>                            <td>                                <font size="-1">操作</font>                            </td>                            <td>                                <font size="-1">                                    <input type="hidden" value="http://www.mamicode.com/" id="hidden" name="hidden"/> //【【次处隐藏,这样的话通过表单传入id,这样就可以进行更新操作,更新操作的条件为这个id】】】                                    <input type="submit" value="http://www.mamicode.com/更新" 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));

 

新闻发布系统项目总结