精华内容
下载资源
问答
  • http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ... 无标题文档 ...修改新闻动态 请输入要修改学生的学号: 请输入要修改学生的姓名: $link=mysql_connect('localhost','root','123'

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>

    <body bgcolor="#FFCC99">
    <center>
    <br /><br /><br /><br /><br />
    <h1>修改新闻动态</h1>
    <form action="update.php" method="post">
    <font size="+1">请输入要修改学生的学号:</font><input type="text" width="80px;" height="20px;"name="id" />
    <font size="+1">请输入要修改学生的姓名:</font><input type="text" width="80px;" height="20px;"name="name" />
    <input type="hidden" name="update" value="update" />
    <input type="submit" value="查询" />
    </form>
    <?php
    $link=mysql_connect('localhost','root','123') or die('失败!');
    mysql_select_db('news',$link) or die('连接数据库失败!');
    if(@$_POST["update"]=='update'){
    $q="select *from stu_news where id='".$_POST["id"]."' and name='".$_POST["name"]."'";
    $result=mysql_query($q);
    $row=mysql_fetch_row($result);
    }
    ?>
    <form action="chuli.php" method="post"><br /><br />
    <font size="+2">学生学号:</font><input type="text" name="id" height="20px;" value="<?php echo $row[0]?>"/><br />
    <br /><font size="+2">学生姓名:</font><input type="text" height="20px;" name="name" value="<?php echo $row[1]?>"/><br />
    <br /><font size="+2">学生年龄:</font><input type="text" name="age" height="20px;" value="<?php echo $row[2]?>"/><br /><br />
    <font size="+2">学生生日:</font><input type="text" name="birthday" height="20px;" value="<?php echo $row[3]?>"/><br /><br />
    <input type="hidden" name="hidden" value="3" />
    <input type="submit" value="提交" />
    <input type="reset" value="重置" />
    </form>
    </center>
    </body>
    </html>

    //----------------------------------------------------------------------以上是update修改数据库信息的页面-------------------------------------------------------------------------

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML .0 Transitional//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml-transitional.dtd">
    <html xmlns="http://www.w3.org/999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>

    <body bgcolor="#FFCC99">
    <br /><br /><br /><br /><br />
    <center>
    <h1>增加新闻动态</h1>
    <form action="chuli.php" method="post"><br />
    <font size="+2">学生学号:</font><input type="text" name="id" height="20px;"/><br />
    <br /><font size="+2">学生姓名:</font><input type="text" height="20px;" name="name" /><br />
    <br /><font size="+2">学生年龄:</font><input type="text" name="age" height="20px;"/><br />
    <br /><font size="+2">学生生日:</font><input type="text" name="birthday" height="20px;"/><br /><br /><br />
    <input type="hidden" name="hidden" value="1"/>
    <input type="submit" value="提交" />
    <input type="reset" value="重置" />
    </form>
    </center>
    </body>
    </html>

    //------------------------------------------------------------------以上是add页面添加数据的前台页面----------------------------------------------------------------------------------

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>

    <body bgcolor="#FFCC99">
    <center>
    <br /><br /><br /><br /><br />
    <font size="+4">删除学生全部信息</font>
    <br /><br /><br /><br />
    <form action="chuli.php" method="post">
    <font size="+2">请输入要删除的学号:</font>
    <input type="text" height="40px;" name="id"/><br /><br /><br />
    <font size="+2">请输入要删除的姓名:</font>
    <input type="text" height="40px;" name="name"/><br />
    <br /><br /><br />
    <input type="hidden" name="hidden" value="2" />
    <input type="submit" value="提交" />
    <input type="reset" value="重置" />
    </form>
    </center>
    </body>
    </html>

    //--------------------------------------------------------------以上是delete删除数据库信息的前台页面----------------------------------------------------------------

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>

    <body bgcolor="#FF9900">
    <?php
    $link=mysql_connect('localhost','root','123') or die('失败!');
    mysql_select_db('news',$link) or die('连接数据库失败!');
    if($_POST["hidden"]==1){
    $q="insert into stu_news values('".$_POST["id"]."','".$_POST["name"]."','".$_POST["age"]."','".$_POST["birthday"]."')";
    mysql_query($q);
    if(mysql_affected_rows()>0){
     echo "<br /><br /><br /><br /><center><font size='+3'>成功添加了数据!!!</font></center>";
     }
    }
    elseif($_POST["hidden"]==2){
     $q="delete from stu_news where id='".$_POST["id"]."' and name='".$_POST["name"]."'";
     mysql_query($q);
     if(mysql_affected_rows()>0){
     echo "<br /><br /><br /><br /><center><font size='+3'>成功删除了数据!!!</font></center>";
     }
    }
    elseif($_POST["hidden"]==3){
     $q="update stu_news set name='".$_POST["name"]."',age='".$_POST["age"]."',birthday='".$_POST["birthday"]."' where id='".$_POST["id"]."'";
     mysql_query($q);
     if(mysql_affected_rows()>0){
     echo "<br /><br /><br /><br /><center><font size='+3'>成功修改了数据!!!</font></center>";
     }
     }
    ?>
    </body>
    </html>

    //以上是比较精华的地方,这个页面时处理页面,将add  update   delete  页面搭建数据库是实现真删改查的基本页面,

    //注意这里面巧妙的运用<input type="hidden" name="" value="" />来实现各种情况的判断

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>

    <body>
    <table border="8" cellpadding="0" cellspacing="0" width="500px;" height="134" bordercolor="#FF3300">
    <th height="65">学号</th><th>姓名</th><th>年龄</th><th>出生日期</th>
    <{foreach from=$connect item=value}>
    <tr>
    <{foreach from=$value item=values}>
    <td height="67"><{$values}></td>
    <{/foreach}>
    </tr>
    <{/foreach}>
    </table>
    <a href="main.php?act=5" target="mainframe">更多</a>
    </body>
    </html>

    //以上是smarty模板实现的一个数据库的数据前台页面显示


     

    展开全文
  • 基于jsp+jQuery+javaBean+tomcat实现简单的数据库增删改查(新闻管理系统) 用到的软件:JavaEE- -jspStudy(tomcat)- -mySQL数据库- -DW(前期可用DW写页面布局,当然在eclipse中也可以写布局,但是没有代码提示和...

    基于jsp+jQuery+javaBean数据封装+tomcat实现简单的数据库增删改查(新闻管理系统)

    1. 用到的软件:JavaEE- -jspStudy(tomcat)- -mySQL数据库- -DW(前期可用DW写页面布局,当然在eclipse中也可以写布局,但是没有代码提示和时时视图!)
      eclipse页面
      在这里插入图片描述
      数据库页面
      在这里插入图片描述

    2. 实现功能:注册管理员,管理员登录,显示新闻,添加新闻,删除新闻,修改新闻,查询新闻(根据数据库字段模糊查询)
      实现功能中,前3个不进行数据封装操作,后面的进行数据封装,便于读者比较,进行深刻理解

    3. 注册管理员

    <!-- zhuce.jsp  -->
    <!-- 管理员注册页面  -->
    <!-- 用户注册的验证规则可百度自行搜索书写  -->
    <body>
    <form id="form1" action="zhuceOk.jsp" method="post">
         <h1>昭文天下,乐在沟通!</h1>
         <br/>
         <div id="main">
         用户昵称:<input type="text" id="name1" name="username" value=""><br/>
         密 &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;码:<input type="password"
        id="password1" name="passWord"><br /> <br /> 确认密码:<input
        type="password" id="password2" name="password2"><br /> <br />
        电子邮件:<input type="text" id="emain" name="email"><br /> <br />
       性 &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;别:<input id="input2" type="radio"
        id="sex" name="gender" value="male" checked="checked">男 <input
        input id="input2" type="radio" name="gender" value="female">女
       <br /> <br /> 
       年 &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 龄:<select
        name="age">
        <option vale="0">0-30</option>
        <option vale="1">31-60</option>
        <option vale="2">60-100</option>
       </select><br /> <br /> <br /> <br /> <input id="input1" type="submit"
        value="注册" />
         </div>
         </form>
    </body>
    
    <!-- zhuceOk.jsp  -->
    <!-- 注册成功页面  -->
    <body>
    <%
        request.setCharacterEncoding("utf-8");
     String username=request.getParameter("username");<!-- 获取输入的账户有  -->
     String passWord=request.getParameter("passWord");
    %>
    用户账户:<%=username%><br/>     <!-- 显示获取到的账户  -->
    用户密码:<%=passWord%><br/>
    <form action="index.jsp" method="post">  <!-- 表单操作,用于页面跳转 -->
     <input type="submit" value="提交" >
             <input type="reset" value="取消" >
    </form>
    <!-- 数据库操作  -->
    <%
        Class.forName("com.mysql.jdbc.Driver");
           Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/user","root","root");    <!-- 数据库账户和密码  -->
        PreparedStatement pstmt = conn.prepareStatement("INSERT INTO denglu(username,passWord) VALUES (?, ?)");
        pstmt.setString(1, username);<!-- 把账户插入到数据库中字段为1的表中 -->
        pstmt.setString(2, passWord);
        pstmt.executeUpdate();
        if(pstmt!=null)pstmt.close();
        if(conn!=null)conn.close(); 
      %><br/>
    </body>
    
    
    1. 管理员登录
    <!-- index.jsp  -->
    <!-- 登录页面   我的登录页面就是主界面,如第一张图片所示,下面代码实现登录验证(是否与数据库中的账户密码一致)-->
    <!-- denglu.jsp  -->
    <body>
    <%
           request.setCharacterEncoding("utf-8");
           String username = request.getParameter("username").trim();
           String passWord = request.getParameter("passWord").trim();  
        Class.forName("com.mysql.jdbc.Driver");
           Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/user","root","root");
           Statement st = conn.createStatement();
           ResultSet rs = st.executeQuery("select * from denglu");   
        while(rs.next()){
           if(username.equals(rs.getString(2)) && passWord.equals(rs.getString(3)))
              response.sendRedirect("dengluOk.jsp");<!--判断输入的账户和密码与数据库中的账户和密码是否一致  -->
           }
             out.print("用户名或密码有错!");
         %>
         <a href="index.jsp">重新登录</a>
    </body>
    

    5.显示新闻

    <!-- dengluOk.jsp  -->
    <!-- 登录成功页面   登录成功后显示数据库中的新闻  -->
    <body>
      <form id="form0" action="search.jsp" method="post">
         <span><input type="search" name="goodsName" id="search" value=""/></span>
         <span><input type="submit" id="btn" value="搜索"/></span>
      </form> 
        <%
        //1. 加载数据库驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2. 创建连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/user", "root", "root");
        //3. 获取statement对象
        Statement st = conn.createStatement();
        //4. 查询则返回结果集
        ResultSet rs = st.executeQuery("select * from news");
        %>
         <table border="1">
            <tr>
               <th>新闻ID</th><th>新闻标题</th><th>作者</th><th>新闻类别</th><th>发布时间</th>   
            </tr>
         <%
        //5. 显示新闻
          while(rs.next()){
           %>
           <tr>
            <td><%=rs.getInt(1)%></td><td><%=rs.getString(2)%></td>
            <td><%=rs.getString(3)%></td><td><%=rs.getString(4)%></td>
            <td><%=rs.getString(5)%></td>
            <td> 
                    <a href="delNewsDo.jsp?id=<%=rs.getInt(1)%>">删除</a>
                 <a href="update.jsp?id=<%=rs.getInt(1)%>">修改</a>     
                    <%-- <input type="button" value="删除" onclick="myAction('<%=rs.getInt(1)%>')"/> --%>
                </td>
           </tr>
          <%
           }
         //6. 关闭连接
           if(rs!=null) rs.close();
           if(st!=null) st.close();
           if(conn!=null) conn.close();
          %>
        </table>
        <form action="addNews.jsp" method="post" >
        <input type="submit" value="添加新闻"></input>
        </form>
      </body>
    

    6.用JavaBean对数据封装,封装账户和密码(com.lw.pj5.beans.User),封装数据库方法(com.lw.pj5.dao.DBUtil),封装的增删改查方法(com.lw.pj5.dao.newsDAO)如第一张图所示
    数据封装java包名字必须com开头,不然tomcat不识别

    <!-- User.java    封装账户和密码-->
    package com.lw.pj5.beans;
    public class User {
      private int id;
      private String title;
      private String writer;
      private String classify;
      private String time;
    }
    
     public int getId() {
      return id;
     }
     public void setId(int id) {
      this.id = id;
     }
     public String getTitle() {
      return title;
     }
     public void setTitle(String title) {
      this.title = title;
     }
     public String getWriter() {
      return writer;
     }
     public void setWriter(String writer) {
      this.writer = writer;
     }
     public String getClassify() {
      return classify;
     }
     public void setClassify(String classify) {
      this.classify = classify;
     }
     public String getTime() {
      return time;
     }
     public void setTime(String time) {
      this.time = time;
     }
    
    <!-- DBUtil.java     封装数据库方法-->
    package com.lw.pj5.dao;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class DBUtil {
        private static String DriverName = "com.mysql.jdbc.Driver";
        private static String url = "jdbc:mysql://127.0.0.1:3306/user";
        private static String user = "root";
        private static String password = "root";
        private static Connection conn = null;
        //创建连接
     public static Connection getConnection(){
         try {
       Class.forName(DriverName);
       conn = DriverManager.getConnection(url, user, password);
      } catch (ClassNotFoundException e) {
        e.printStackTrace();
      } catch (SQLException e) {
       e.printStackTrace();
      }
            return conn;
        }
     //关闭连接
     public static void colseConnction(){
      if(conn!=null){
       try {
        conn.close();
       } catch (SQLException e) {
        e.printStackTrace();
       }
      }
     }
    }
    
    <!-- newsDAO.java     封装的增删改查方法-->
    package com.lw.pj5.dao;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    import com.lw.pj5.beans.User;
    public class newsDAO {
     private Connection conn = null;
     private String sql = null;
     private PreparedStatement ps = null;
     private ResultSet rs = null;
     private String info = null;
     public newsDAO(){
      conn = DBUtil.getConnection();
     }
     //添加商品
     public String addNews(User news){
      sql = "insert into news(title,writer,classify,time) values(?, ?, ?, ?)";
      int i = 0;
      try {
       ps = conn.prepareStatement(sql);
       ps.setString(1,news.getTitle());
       ps.setString(2,news.getWriter());
       ps.setString(3,news.getClassify());
       ps.setString(4,news.getTime());
       i = ps.executeUpdate();
      } catch (SQLException e) {
       e.printStackTrace();
      }
      if(i==1){
        info = "添加成功!";
      }else{
           info = "添加失败!"; 
      }
      return info;
     }
     //删除商品
     public String delNews(int id){
      sql = "delete  from news where id = ?";
      int i = 0;
      try {
       ps = conn.prepareStatement(sql);
       ps.setInt(1, id);
       i = ps.executeUpdate();
      } catch (SQLException e) {
       e.printStackTrace();
      }
      if(i==1){
        info = "删除成功!";
      }else{
           info = "删除失败!"; 
      }
      return info;
     }
            //修改商品
    public String updateNews(User user){
       sql = "UPDATE news SET name=?, number=?, price=?, depict=? WHERE id=? ";
       int i = 0;
       try {
        ps = conn.prepareStatement(sql);
        ps.setInt(1,user.getId());
        ps.setString(2,user.getTitle());
        ps.setString(3,user.getWriter());
        ps.setString(4,user.getClassify());
        ps.setString(5, user.getTime());
        i = ps.executeUpdate();
       } catch (SQLException e) {
        e.printStackTrace();
       }
       if(i==1){
         info = "修改成功!";
       }else{
            info = "修改失败!"; 
       }
       return info;
      }
    //按商品名称模糊查询     
    public  List<User> search(String name){
     sql = "select * from news where title like ?";
        try {
       ps = conn.prepareStatement(sql);
       ps.setString(1, "%"+name+"%");
       rs = ps.executeQuery();
     } catch (SQLException e) {
       e.printStackTrace();
     }
        List<User> someGoods = Collections.synchronizedList(new ArrayList<User>());
     try {
        while(rs.next()){
        User user = new User();
        user.setId(rs.getInt(1));
        user.setTitle(rs.getString(2));
        user.setWriter(rs.getString(3));
        user.setClassify(rs.getString(4));
        user.setTime(rs.getString(5));
        someGoods.add(user);
        }
     } catch (SQLException e) {
       e.printStackTrace();
     }
       return someGoods;
    }  
    }
      //查询所有商品
    /* public  List<Goods> queryAllGoods(){
       sql = "select * from goods ";
       try {
        ps = conn.prepareStatement(sql);
        rs = ps.executeQuery();
       } catch (SQLException e) {
        e.printStackTrace();
       }
       List<Goods> allGoods =Collections.synchronizedList(new ArrayList<Goods>());
       try {
        while(rs.next()){
         Goods goods = new Goods();
         goods.setId(rs.getInt(1));
         goods.setName(rs.getString(2));
         goods.setNumber(rs.getInt(3));
         goods.setPrice(rs.getDouble(4));
         goods.setDepict(rs.getString(5));
         allGoods.add(goods);
        }
       } catch (SQLException e) {
        e.printStackTrace();
       }
       return allGoods;
      } 
      //按ID值查询指定的商品
      public  Goods queryGoodsById(int id){
       sql = "select * from goods where id = ? ";
       Goods goods = null ;
       try {
        ps = conn.prepareStatement(sql);
        ps.setInt(1, id);
        rs = ps.executeQuery();
       } catch (SQLException e) {
        e.printStackTrace();
       }
       try {
        while(rs.next()){
            goods = new Goods();
         goods.setId(rs.getInt(1));
         goods.setName(rs.getString(2));
         goods.setNumber(rs.getInt(3));
         goods.setPrice(rs.getDouble(4));
         goods.setDepict(rs.getString(5));
           }
       } catch (SQLException e) {
          e.printStackTrace();
       }
        return goods;
      } 
      //按指定SQL语句查商品
      public  List<Goods> queryGoodsBySQL(String sql){
        try {
         ps = conn.prepareStatement(sql);
         rs = ps.executeQuery();
       } catch (SQLException e) {
         e.printStackTrace();
       }
        List<Goods> someGoods = Collections.synchronizedList(new ArrayList<Goods>());
       try {
          while(rs.next()){
          Goods goods = new Goods();
          goods.setId(rs.getInt(1));
          goods.setName(rs.getString(2));
          goods.setNumber(rs.getInt(3));
          goods.setPrice(rs.getDouble(4));
          goods.setDepict(rs.getString(5));
          someGoods.add(goods);
          }
       } catch (SQLException e) {
         e.printStackTrace();
       }
         return someGoods;
       } 
    }*/
    

    7.添加新闻(3个页面)

    <!-- addNews.jsp  -->
    <%@ page import="java.util.*" pageEncoding="utf-8" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE>
    <html>
      <head>
       <title>添加新闻信息</title>
      </head>
     <body>
      <form action="<%=basePath%>admin/addNewsInfo.jsp" method="post">
        新闻标题:<input name="title" placeholder="请填写新闻标题" required><br/>
        作者:<input name="writer" placeholder="请填写作者" required><br/>
        新闻类别:<input name="classify" placeholder="请填写新闻类别" required><br/>
        发布时间:<input name="time" placeholder="请填写发布时间"><br/>  
       <input type="submit" value="添加"><input type="reset" value="取消">
       </form>
      </body>
      </html>
    
    <!-- addNewsInfo.jsp  -->
    %@page import="com.lw.pj5.beans.User"%>
    <%@ page import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE>
    <html>
      <head>
       <title>添加新闻信息</title>
      </head>
      <body>
     <%
      request.setCharacterEncoding("utf-8");
     %>
     <jsp:useBean id="news" class="com.lw.pj5.beans.User" scope="session"></jsp:useBean>s
     <jsp:setProperty property="*" name="news"/>   
     您添加的新闻信息:<br/>
        新闻标题: ${news.title}<br/>
        作者: ${news.writer}<br/>
        新闻类别: ${news.classify}<br/>
        发布时间: ${news.time}<br/> 
     <a href="<%=basePath%>admin/addNewsDo.jsp">填写正确,添加商品</a><br/>
     <a href="<%=basePath%>admin/addNews.jsp">填写有误,返回</a><br/>
      </body>
    </html>
    
    <!-- addNewsDo.jsp  -->
    <%@ page language="java" contentType="text/html; charset=utf-8" import = "com.lw.pj5.beans.User,
    com.lw.pj5.dao.newsDAO" pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%
    User user = (User)session.getAttribute("news");
    newsDAO newsDao = new newsDAO();
    String info = newsDao.addNews(user);
    System.out.println(info);
    if(info.equals("添加成功!")){
     response.sendRedirect("dengluOk.jsp");
    }else if(info.equals("添加失败!")){
        response.sendRedirect("addNews.jsp");
    }
    %>
    </body>
    </html>
    
    

    8.删除新闻

    <!-- delNewsDo.jsp  -->
    <%@ page language="java" contentType="text/html; charset=utf-8" import = "com.lw.pj5.beans.User,
    com.lw.pj5.dao.newsDAO" pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>删除新闻</title>
    </head>
    <body>
    <% 
    request.setCharacterEncoding("UTF-8");
    newsDAO newsDao = new newsDAO(); 
    int id=Integer.parseInt(request.getParameter("id")); 
    String msg="操作出问题了,请稍后重试,或联系管理员"; 
    String info = newsDao.delNews(id);
    msg="恭喜你,操作成功,成功删除id为"+id+"的数据";
    /* System.out.println(info);
     if(info.equals("添加成功!")){  
     response.sendRedirect("dengluOk.jsp");
     }else if(info.equals("删除失败!")){
         response.sendRedirect("addNews.jsp");
     }  */
    %>
    <script type="text/javascript">
     alert("<%=msg%>");
     location.href="dengluOk.jsp";
    </script>
    </body>
    </html>
    
    

    9.查询新闻

    <!-- search.jsp  -->
    <%@ page language="java" contentType="text/html; charset=utf-8" import = "java.util.*,com.lw.pj5.beans.User,
    com.lw.pj5.dao.newsDAO" pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Insert title here</title>
    </head>
    <body>
    <!-- <form action = "search.jsp" method="post">
        请输入要查询的货物名称:<input type="text" name="goodsName">
        <input type="submit" value = "查询">
        </form> -->
        <%
        request.setCharacterEncoding("utf-8");
        String goodsName = request.getParameter("goodsName");
        newsDAO newsDao = new newsDAO();
        /* out.print(goodsName); */
        List goodsList = newsDao.search(goodsName);
     %>
        <table border="1">
           <tr>
              <th>ID</th><th>新闻标题</th><th>新闻作者</th><th>新闻类别</th><th>发布时间</th>
           </tr>
        <%
       //5. 显示商品
       int i = 0;
         while(i < goodsList.size()){
          User user =(User) goodsList.get(i);     
          %>
          <tr>
           <td><%= user.getId() %></td><td><%= user.getTitle() %></td>
           <td><%= user.getWriter() %></td><td><%= user.getClassify() %></td>
           <td><%= user.getTime() %></td>
          </tr>
         <%
         i++;
      }  
         %>
    </table>
    </body>
    </html>
    
    

    好了,代码写到这儿写就差不多完成了,界面美化还需自己动手完成,如有不懂的可以留言,互相探讨!

    展开全文
  • 新闻管理界面显示所有已发布的新闻集合 可以在列表中对所需要的新闻根据分类和标签进行筛选搜索 可以对已有新闻删除 首先要显示所有新闻,就要从数据库中查找: 1 在dao层接口 @Query("select n from News n ...

    要达到的效果:

    • 在新闻管理界面显示所有已发布的新闻集合
    • 可以在列表中对所需要的新闻根据分类和标签进行筛选搜索
    • 可以对已有新闻删除

    首先要显示所有新闻,就要从数据库中查找:

    1 在dao层接口

    @Query("select n from News n where n.recommend=true")
        List<News> findTop(Pageable pageable);
    

    2 Service层条件查找

    在Service层中,对新闻根据标签进行筛选:
    这里从前端页面获取查询,用find方法进行条件查找,这里用了一个匿名内部类,根据查到的数据Type、Tag、title是否和页面询问的一致来构建predict参数,进行查询。

    @Override
        public Page<News> listNew(Pageable pageable, NewQuery newQuery) {
            return newRepository.findAll(new Specification<News>() {
                @Override
                public Predicate toPredicate(Root<News> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
                    List<Predicate> predicates=new ArrayList<>();
                    if(!"".equals(newQuery.getTitle()) && newQuery.getTitle()!=null){
                        predicates.add(cb.like(root.<String>get("title"),"%"+newQuery.getTitle()+"%"));
                    }
                    if(newQuery.getTypeId()!=null){
                        predicates.add(cb.equal(root.get("type").get("id"),newQuery.getTypeId()));
                    }
                    if(newQuery.isRecommend()){
                        predicates.add(cb.equal(root.get("recommand"),newQuery.isRecommend()));
                    }
                    cq.where(predicates.toArray(new Predicate[predicates.size()]));
                    return null;
                }
            },pageable);
        }
    

    3 Controller层调用方法,传递给前端

    两个方法,news是显示当前所有类型以供用户选择、同时分页显示所有新闻。
    search方法用来响应搜索请求。

     @GetMapping("/news")
        public String news(@PageableDefault(size=3,sort = {"updateTime"},direction = Sort.Direction.DESC)
                                   Pageable pageable, NewQuery newQuery, Model model){
            model.addAttribute("types",typeService.listType());
            model.addAttribute("page",newService.listNew(pageable,newQuery));
            return LIST;
        }
    
        @PostMapping("/news/search")
        public String search(@PageableDefault(size=3,sort = {"updateTime"},direction = Sort.Direction.DESC)
                                   Pageable pageable, NewQuery newQuery, Model model){
            model.addAttribute("page",newService.listNew(pageable,newQuery));
            return "admin/news :: newsList";
        }
    

    4 前端编写

    用jquery获取页面中的参数。

    function loaddata() {
          $("#table-container").load(/*[[@{/admin/news/search}]]*/"/admin/news/search",{
            title : $("[name='title']").val(),
            typeId : $("[name='typeId']").val(),
            recommend : $("[name='recommend']").prop('checked'),
            page : $("[name='page']").val()
          });
        }
    

    用th循环显示文章内容:

     <tr th:each="news,iterStat : ${page.content}">
                <td th:text="${iterStat.count}">1</td>
                <td th:text="${news.title}">刻意练习清单</td>
                <td th:text="${news.type.name}">认知升级</td>
                <td th:text="${news.recommend} ? '是':'否'"></td>
                <td th:text="${news.published} ? '发布':'草稿'">草稿</td>
                <td th:text="${news.updateTime}">2017-10-02 09:45</td>
                <td>
                  <a href="#" th:href="@{/admin/news/{id}/toUpdate(id=${news.id})}" class="ui mini teal basic button">编辑</a>
                  <a href="#" th:href="@{/admin/news/{id}/delete(id=${news.id})}" class="ui mini red basic button">删除</a>
                </td>
              </tr>
    

    5 演示

    在这里插入图片描述

    展开全文
  • 【MySQL】新闻发布系统数据库设计

    千次阅读 2019-09-03 23:20:56
    新闻发布系统所要实现的功能具体包括:新闻信息添加、新闻信息修改新闻信息删除、显示全部新闻信息、按类别显示新闻信息、按关键字查询新闻信息、按关键字进行站内查询。 本站为一个简单的新闻信息...

    新闻发布系统数据库设计

    1.系统概述
    本文介绍的是一个小型新闻发布系统,管理员可以通过该系统发布新闻信息,管理新闻信息。 一个典型的新闻发布系统网站至 少应该包含新闻信息管理、新闻信息显示和新闻信息查询三种功能。
    新闻发布系统所要实现的功能具体包括:新闻信息添加、新闻信息修改、新闻信息删除、显示全部新闻信息、按类别显示新闻信息、按关键字查询新闻信息、按关键字进行站内查询。
    本站为一个简单的新闻信息发布系统,该系统具有以下特点。

    • 实用:系统实现了一个完整的信息查询过程。
    • 简单易用:为使用户尽快掌握和使用整个系统,系统结构简单但功能齐全,简洁的页面设计使操作起来非常简便。
    • 代码规范:作为一个实例,文中的代码规范简洁、清晰易懂。

    本系统主要用于发布新闻信息、管理用户、管理权限、管理评论等功能。这些信息的录入、查询、修改和删除等操作都是该系统重点解决的问题。
    本系统主要功能包括以下几点:
    (1)具有用户注册及个人信息管理功能。
    (2)管理员可以发布新闻、删除新闻。
    (3)用户注册后可以对新闻进行评论、发表留言。
    (4)管理员可以管理留言和对用户进行管理。

    2.系统功能

    新闻发布系统分为5 个管理部分,即用户管理、管理员管理、权限管理、新闻管理和评论管理。本系统的功能模块如图所示。

    在这里插入图片描述
    模块的详细介绍如下。

    (1)用户管理模块:实现新增用户,查看和修改用户信息功能。
    (2)管理员管理模块:实现新增管理员,查看、修改和删除管理员信息功能。
    (3)权限管理模块:实现对管理员、对管理的模块和管理的评论赋权功能。
    (4)新闻管理模块:实现有相关权限的管理员对新闻的增加、查看、修改和删除功能。
    (5)评论管理模块: 实现有相关权限的管理员对评论的审核和删除功能。

    3.数据库设计和实现
    数据库设计是开发管理系统的最重要的一个步骤。如果数据库设计得不够合理,将会为后续的开发工作带来很大的麻烦。

    3.1 设计表(这里直接使用Navicat for MySQL设计表)
    本系统所有的表都放在wehnews数据库F.创建和选择webnews数据库的SQL代码如下:

    CREATE DATABASE webnews;
    USE webnews;
    

    在这个数据库下总共存放9张表,分别是user、 admin、roles、news、 category、comment、admin_Roles、news_Comment 和users_Comment.

    1. 用户user表
      表中存储用户ID、用户名、密码和用户Emii地址。
      在这里插入图片描述
    2. 管理员admin表
      在这里插入图片描述
    3. 权限信息roles表
      在这里插入图片描述
    4. 新闻信息news表
      在这里插入图片描述
    5. 栏目信息category表
      在这里插入图片描述
    6. 评论信息comment表
      在这里插入图片描述
    7. 管理员_权限admin_Roles表
      在这里插入图片描述
    8. 新闻_评论news_Comment表
      在这里插入图片描述
    9. 用户_评论user_Comment表
      在这里插入图片描述

    3.2 设计索引
    索引是创建在表上的,是对数据库中一列或多列的值进行排序的一种结构。索引可以提高查询的速度。新闻发布系统需要查询新闻的信息,这就需要在某些特定字段上建立索引,以便提高查询速度。

    1. 在news表上建立索引
      新闻发布系统中需要按照newsTitle字段、newsDate字段和newsRate字段查询新闻信息。本将使用CREATE INDEX语句和ALTER TABLE语句创建索引。

      下面使用CREATE INDEX语句在newTitle字段上创建名为index_new_title的索引。SQL语句如下:
      CREATE INDEX index_new_title ON news (newsTitle);

      然后再使用CREATE INDEX语句在newsDate字段上创建名为index_ new_date 的索引。SQL语句如下:

      CREATE INDEX index_new_ date ON news (newsDate);
      最后,再使用ALTER TABLE语句在newsRate 字段上创建名为index_new_ rate 的索引。SQL语句如下:

      ALTER TABLE news ADD INDEX index_new_ rate(newsRate) ;

    2. 在categroy表上建立索引
      新闻发布系统中需要通过栏目名称查询该栏目下的新闻,因此需要在这个字段上创建索引。创建索引的语句如下:

      CREATE INDEX index_categroy_name ON categroy (categroyName);

    3. 在comment表上建立索引
      新闻发布系统需要通过cmmenTnte字段和commenDatc字段查询评论内容。因此可以在这两个字段上创建索引。创建索引的语句如下:

      CREATE INDEX index_ comment_title ON comment(commrntTitle);
      CREATE INDEX index_ comment_date ON comment(commentDate);

    3.3 设计视图

    视图是由数据库中一个表或者多个表导出的虚拟表。其作用是方便用户对数据的操作。在这个新闻发布系统中,也设计了一个视图改善直询操作。

    在新闻发布系统中,如果直接查询news_Comment表,显示信息时会显示新闻编号和评论编号。这种显示不直观,为了以后查询方面,可以建立一个视图news_view。这个视图显示评论编号、新闻编号、新闻级别、新闻标题、新闻内容和新闻发布时间。创建视图的SOL代码如下:

    CREATE VIEW news view
    AS   
    SELECT c.commentID,n.newsID,n.newsRate,n.newsTitle,n.newsContent,n.newsDate
    FROM news_Comment c, news n
    WHERE news_Comment.newsID=news.newsID;
    

    news_Comment表的别名为c,news表的别名为n,这个视图从这两个表中取出相应的字段视图创建完成后,可以使用SHOW CREATE VIEW语句直看news_view 视图的详细信息。

    3.4 设计触发器

    触发器是由INSERT、UPDATE和DELETE等事件来触发某种特定的操作。满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样做可以保证某些操作之间的一致性。为了使新闻发布系统的数据更新更加快速和合理,可以在数据库中设计几个触发器。

    1. 设计UPDATE触发器
      在设计表时,news 表和news_Comment表的newsID字段的值是一样的。 如果news表中的newslD字段的值更新了,那么news_Comment表中的newsID字段的值也必须同时更新。这可以通过一个UPDATE触发器来实现。创建UPDATE触发器update newsID的SQL代码如下:
    DELIMITER &&
    CREATE TRIGGER update_newsID AFTER UPDATE ON news FOR EACH ROW 
    BEGIN
     UDATE news_Coment SET newsID=NEW.newsID 
     END
     &&
    DELIMITER;
    

    其中NEW.newsID 表示enws表中更新的记录的newsID值。

    1. 设计DELETE触发器
      如果从user表中删除一个用户的信息,那么这个用户在users_Comment表中的信息也必须同时删除。这也可以通过触发器来实现。在user表上创建delete_user触发器,只要执行DELETE操作,那么就删除users_Cmment表中相应的记录。创建delete_user触发器的SQL语句如下:
    DELIMITER &&
    CREATE TRIGGER delete _user AFTER
    DELETE
    ON user FOR EACH ROW
    BEGIN
     DELETE FROM users_Comment WHERE userID=OLD.userID
    END
    &&
    DELIMITER;
    

    其中,OLD.userID表示新删除的记录的userID值。


    展开全文
  • 系统将分为管理员和业主两个角色,其中系统管理员部分的主要功能包括修改登录密码、业主信息管理、楼盘信息管理、小区概况管理、报修信息管理、信息发布管理新闻资讯管理以及留言信息管理这几大模块,业主部分的...
  • 新闻管理 发布新闻 对新闻修改管理 对新闻评论管理 网站信息 统计 概 述:可以实现在网上轻松的销售宠物,抢占激烈的市场竞争。 主要功能:宠物的信息浏览,宠物出售(管理员操作),宠物用品信息浏览,宠物新闻...
  • javaweb新闻管理系统

    2019-03-12 15:06:02
    新闻管理系统提供以下功能: 1. 查看所有新闻:管理员可以浏览存放在数据库内的所有新闻,包括新闻的ID、标题、内容以及发布的时间。 2. 添加新闻:管理员可以将最新的新闻添加进数据库,供用户浏览。 3. 修改...
  • 答:划分项目模块,确定角色权限功能,以及各模块界面(3) oracle中,导入数据库表如何操作?答:在oracle数据库中点击导入,选择导入文件,确认即可2. 项目入门-搭建项目框架(1) 根据MVC原理,OA项目如何进行分层?答:分为...
  • 亲测绝对可用,带数据库、前台、后台管理一体化,且可以再次基础上进行二次开发,代码全部开源。使用C#,HTML,初学者必备,vs打开即可运行,无需修改代码。
  • jsp新闻管理系统

    2021-01-09 00:30:15
    新闻管理系统 (jsp+javabean+mysql) 1.解压缩 (如解压缩到D: omcat4webappsROOT ews目录下); 2.进入classes目录,打开news.txt。 修改mysql.url(数据库联接地址及数据库名),mysql.user(用户名),mysql....
  • 【牛腩新闻发布系统】 需求分析 & 数据库设计

    千次阅读 热门讨论 2016-04-24 21:26:16
    需求分析   1.用例图   2.简单说明  浏览者的需求有:  · 搜索新闻 ... · 浏览新闻 ... · 对新闻类别进行增加、删除、修改  · 对具体新闻进行增加、删除、修改  · 对评论进行删除 3.小
  • <p align="center"><b>修改新闻</font></b> </td> 编号: <td ><input type="text" name="newsid" size="10" value = ("news_id")%> disabled> 标题: <td ><input type="text" name="title...
  • 第2章 mysql基础介绍MySQL的安装及配置,使用Navicat 和 phpMyAdmin 进行图形化管理数据库。然后讲解SQL基础,重点包括建表、建库语句,新增、修改、删除、查询语句等重点知识。为了巩固基础,在此处安排了一个...
  • 简单新闻管理系统(jsp)

    万次阅读 多人点赞 2017-04-24 22:50:31
    简单新闻管理系统(jsp)一、构思 主页中有添加,删除,修改新闻功能,分别跳转处理,跟数据库连接
  • ssh完成的新闻管理系统

    热门讨论 2013-01-11 14:09:33
    同时也要为新闻中心后台管理管理员提供对应的新闻信息维护及管理的功能,包括添加新的新闻、编辑修改新闻、删除新闻等功能。 根据企业商务新闻的基本要求,本系统需要完成如下的主要任务: (1)新闻标题信息分类...
  • 实验室网站管理系统主要分为...后台管理员实现的功能有:系统管理、新闻管理、研究成果管理、注册会员管理。 表5 Document研究成果 字段名称 自动增长 字段大小 字段类型...
  • 16.修改班级新闻功能:该功能只有系统管理员才能使用,用于修改新闻内容。 17.删除班级新闻功能:该功能只有系统管理员才能使用,用于删除系统中的旧新闻。 18.添加教师功能:该功能只有系统管理员才能使用,用于...
  • 二手藏酒回收网站管理...后台管理员实现的功能有:系统管理、新闻管理、藏酒管理、注册会员管理。 表4 guestbook 留言板 字段名称 自动增长 字段大小 字段类型 ...
  • 下面就让我们来说一说基于jsp的新闻发布系统,其中使用的技术有JavaBean、fillter、数据库等,能够实现新闻的发布功能,在发布之后能够进行对每一条新闻的删除、修改、或者继续增加新的文章,最后还能够进行查询功能...
  • 下面就让我们来说一说基于jsp的新闻发布系统,其中使用的技术有JavaBean、fillter、数据库等,能够实现新闻的发布功能,在发布之后能够进行对每一条新闻的删除、修改、或者继续增加新的文章,最后还能够进行查询功能...
  • 由于之前系统出现部分问题,特做了修改,编辑器请使用idea,请附带下载相关jar包,操作放法见文章。数据库只需去文章中找到数据库文件,复制以后使用数据库可视化工具运行即可
  • 阅读: 134 评论: 0 作者: 金色海洋(jyk) 发表于 2009-11-27 20:09 原文链接 ... 发表评论新闻频道:柳传志:并购 IBM PC部门收获三样东西推荐链接:Windows 7专题发布网站导航:博客园首页个人主页新闻社区博问...
  • 下面就让我们来说一说基于jsp的新闻发布系统,其中使用的技术有JavaBean、fillter、数据库等,能够实现新闻的发布功能,在发布之后能够进行对每一条新闻的删除、修改、或者继续增加新的文章,最后还能够进行查询功能...
  • 使用的技术有JavaBean、fillter、数据库等,能够实现新闻的发布功能,在发布之后能够进行对每一条新闻的删除、修改、或者继续增加新的文章,最后还能够进行查询功能,其中引用了百度编辑器,能够进行图文并茂的编辑
  • 烈火新闻管理系统3.0

    2010-12-22 01:13:36
    系统版本:烈火新闻管理系统3.0版 版权所有: 烈火工作室 www.strongfire.cn 系统简介:本系统采用二级分类,界面简洁大方,功能简单易用,可远程自动上传图片 删除文章后,文章相关图片也一并删除减少垃圾文件的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 962
精华内容 384
关键字:

数据库修改新闻管理