0
点赞
收藏
分享

微信扫一扫

JavaWEB(评论管理&include指令)

青青子衿谈育儿 2022-04-06 阅读 62
eclipse

用户发布评论&显示发布的评论 及删除发布的评论
新闻详情页面

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    //定义变量
    String ntitle = "";
    String ndate = "";
    String nauthor = "";
    String nsummary = "";
    String ncontent = "";
    int ncount = 0;
 
    //设置编码
    request.setCharacterEncoding("utf-8");
    //获取参数
    String id = request.getParameter("nid");
    int nid = 0;
    if (id != null) {
        nid = Integer.valueOf(id);
    }
    String username = request.getParameter("username");
    //数据库交互
    //加载驱动
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //建立连接
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "triger");
    //sql语句
    String sql = "select * from tb_t281_news where nid = " + nid;
    PreparedStatement ps = conn.prepareStatement(sql);
    //返回结果集对象
    ResultSet rs = ps.executeQuery();
    //遍历
    if (rs.next()) {
        ntitle = rs.getString(3);
        nauthor = rs.getString(4);
        nsummary = rs.getString(5);
        ncontent = rs.getString(6);
        ndate = rs.getString(8);
        ncount = rs.getInt(9);
    }
    sql = "update tb_t281_news set ncount=ncount+1 where nid="+nid;
    ps = conn.prepareStatement(sql);
    int n = ps.executeUpdate();
%>
 
<!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>
<link rel="stylesheet" type="text/css" href="admin/css/read.css" />
<script type="text/javascript">
    function check() {
        var cauthor = document.getElementById("cauthor");
        var content = document.getElementById("ccontent");
        if (cauthor.value == "") {
            alert("用户名不能为空!!");
            return false;
        } else if (content.value == "") {
            alert("评论内容不能为空!!");
            return false;
        }
        return true;
    }
</script>
</head>
<body>
    <div id="header">
        <div id="top_login">
            <span style="font-size: 14px; cursor: pointer; font-weight: bold;">卓京教育新闻网首页</span>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
            【<a href="">请注册</a>】 【<a href="">登录</a>】 <a href="index.html"
                class="login_link">返回首页</a> <img src="admin/images/friend_logo.gif"
                alt="Google" id="friend_logo" />
        </div>
        <div id="nav">
            <div id="logo">
                <img src="admin/images/logo.jpg" alt="新闻中国" />
            </div>
            <div id="a_b01">
                <img src="admin/images/a_b01.gif" alt="" />
            </div>
            <!--mainnav end-->
        </div>
    </div>
    <div id="container">
        <div class="sidebar">
            <h1>
                <img src="admin/images/title_1.gif" alt="国内新闻" />
            </h1>
            <div class="side_list">
                <ul>
                    <li><a href='#'><b>国内新闻1</b></a></li>
                    <li><a href='#'><b>国内新闻2</b></a></li>
                    <li><a href='#'><b>国内新闻3</b></a></li>
                </ul>
            </div>
            <h1>
                <img src="admin/images/title_2.gif" alt="国际新闻" />
            </h1>
            <div class="side_list">
                <ul>
                    <li><a href='#'><b>国际新闻1</b></a></li>
                    <li><a href='#'><b>国际新闻2</b></a></li>
                    <li><a href='#'><b>国际新闻3</b></a></li>
                    <li><a href='#'><b>国际新闻4</b></a></li>
                </ul>
            </div>
            <h1>
                <img src="admin/images/title_3.gif" alt="娱乐新闻" />
            </h1>
            <div class="side_list">
                <ul>
                    <li><a href='#'><b>娱乐新闻1</b></a></li>
                    <li><a href='#'><b>娱乐新闻2</b></a></li>
                    <li><a href='#'><b>娱乐新闻3</b></a></li>
                    <li><a href='#'><b>娱乐新闻4</b></a></li>
                </ul>
            </div>
        </div>
        <div class="main">
            <div class="class_type">
                <img src="admin/images/class_type.gif" alt="新闻中心" />
            </div>
            <div class="content">
                <ul class="classlist">
                    <table width="80%" align="center">
                        <tr width="100%">
                            <td colspan="2" align="center">新闻标题:<%=ntitle%></td>
                        </tr>
                        <tr>
                            <td colspan="2">
                                <hr />
                            </td>
                        </tr>
                        <tr>
                            <td style="text-align: left;">发布时间:<%=ndate%></td>
                            <td style="text-align: left;">作者:<%=nauthor%>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;访问量<%=ncount %></td>
                        </tr>
                        <tr>
                            <td colspan="2" align="center"></td>
                        </tr>
                        <tr>
                            <td colspan="2">内容:<br/><%=ncontent%></td>
                        </tr>
                        <tr>
                            <td colspan="2">
                                <hr />
                            </td>
                        </tr>
                    </table>
                </ul>
                <ul class="classlist">
                    <table width="80%" align="center">
                    <!-- 显示所有评论,否则显示暂无评论 -->
                    <%
                    int nidCount = 0;
                    //根据新闻编号 查找评论表中的记录是否存在数据
                    sql = "select count(*) from tb_t281_news_comment where cnid = ?";
                    ps = conn.prepareStatement(sql);
                    ps.setInt(1, nid);
                    rs = ps.executeQuery();
                    if(rs.next()){
                        nidCount = rs.getInt(1);
                    }
                    if(nidCount>0){
                        sql = "select * from tb_t281_news_comment where cnid = ?";
                        ps = conn.prepareStatement(sql);
                        ps.setInt(1, nid);
                        rs = ps.executeQuery();
                        while(rs.next()){
                            String uname = null;
                            sql = "select * from tb_t281_news_users where userid = ?";
                            PreparedStatement ps2 = conn.prepareStatement(sql);
                            ps2.setInt(1, rs.getInt(2));
                            ResultSet rs2 = ps2.executeQuery();
                            if(rs2.next()){
                                uname = rs2.getString(2);
                            }
                            out.println("用户:"+uname);
                            out.println("<br>评论内容:"+rs.getString(5));
                            out.println("<br>评论时间:"+rs.getString(6));
                            //判断只有当前用户所评论的内容才会显示删除按钮
                            if(uname.equals(username)){
                             out.println("<a href = 'doDelComment.jsp?cid="+rs.getInt(1)+"&cnid="+rs.getInt(3)+"&username="+username+"'>删除</a><br/>");
                            }
                        }
                    }else{
                        out.println("<td colspan='6'>暂无评论!</td>");
                    }
                    %>
                        <tr>
                            <td colspan="6">
                                <hr />
                            </td>
                        </tr>
                    </table>
                </ul>
                <ul class="classlist">
                    <form action='doComment.jsp' method="post"
                        onsubmit="return check()">
                        <input type="hidden" name="nid" value="<%=nid%>">
                        <table width="80%" align="center">
                            <tr>
                                <td>评 论</td>
                            </tr>
                            <tr>
                                <td>用户名:</td>
                                <td><input id="cauthor" name="cauthor"
                                    value="<%=username%>" /> IP: <input name="cip"
                                    value="127.0.0.1" readonly="readonly" /></td>
                            </tr>
                            <tr>
                                <td colspan="2"><textarea name="ccontent" cols="70"
                                        rows="10"></textarea></td>
                            </tr>
                            <td><input name="submit" value="发  表" type="submit" /></td>
                        </table>
                    </form>
                </ul>
            </div>
        </div>
    </div>
    <%@ include file = "index_foot1.jsp" %>
</body>
</html>

发布评论

<%@page import="java.util.Date"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
    //设置编码
    request.setCharacterEncoding("utf-8");
    //获取参数
    int cid = 0;
    //加载驱动
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //建立连接
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "triger");
    //返回执行对象
    String sql = "select nvl(max(cid),0) from tb_t281_news_comment";
    PreparedStatement ps = conn.prepareStatement(sql);
    //结果集
    ResultSet rs = ps.executeQuery();
    if (rs.next()) {
        cid = rs.getInt(1) + 1;
    }
    //用户编号
    int cuserid = 0;
    String username = request.getParameter("cauthor");
    //交互 根据username获取用户的编号
    sql = "select * from tb_t281_news_users where username = ?";
    ps = conn.prepareStatement(sql);
    ps.setString(1, username);
    rs = ps.executeQuery();
    if(rs.next()){
        cuserid = rs.getInt(1);
    }
    //新闻编号
    int cnid = 0;
    String id = request.getParameter("nid");
    if(id != null){
        cnid = Integer.valueOf(id);
    }
    //ip地址
    String cip = request.getParameter("cip");
    //内容 
    String ccontent = request.getParameter("ccontent");
    //时间
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String cdate = sdf.format(date);
    
    //数据交互
    sql = "insert into tb_t281_news_comment values(?,?,?,?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'))";
    ps = conn.prepareStatement(sql);
    //给占位符赋值
    ps.setInt(1, cid);
    ps.setInt(2, cuserid);
    ps.setInt(3, cnid);
    ps.setString(4, cip);
    ps.setString(5, ccontent);
    ps.setString(6, cdate);
    //返回所影响的行数
    int n = ps.executeUpdate();
    if(n>0){
        out.println("<script>alert('评论成功');location.href='news_read.jsp?username="+username+"&nid="+cnid+"'</script>");
    }else{
        out.println("<script>alert('评论失败');location.href='news_read.jsp?username="+username+"&nid="+cnid+"'</script>");
    }
    %>


删除所发布的评论

<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
    //定义
    int cid = 0;
    int cnid = 0;
    //设置编码
    request.setCharacterEncoding("utf-8");
    //获取
    String username = request.getParameter("username");
    String id = request.getParameter("cid");
    String nid = request.getParameter("cnid");
    if(id != null && nid != null){
        cid = Integer.parseInt(id);
        cnid = Integer.parseInt(nid);
    }
    //加载驱动
      Class.forName("oracle.jdbc.driver.OracleDriver");
      //建立连接
      Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "triger");
      //返回执行对象
      String sql = "delete from tb_t281_news_comment where cid = "+cid;
      PreparedStatement ps = conn.prepareStatement(sql);
      //返回所影响的行数
      int n = ps.executeUpdate();
      if(n>0){
          out.println("<script>alert('删除成功');location.href='news_read.jsp?username="+username+"&nid="+cnid+"'</script>");
      }else{
          out.println("<script>alert('删除失败');location.href='news_read.jsp?username="+username+"&nid="+cnid+"'</script>");
      }
    %>


include指令

1.include指令属于jsp的三大指令之一

2.三大指令:page/include/taglib

3.include指令作用:引入页面
<%@ include file = "指定页面名称"%>

实际使用
include指令使用 : 引入页面
 

//include指令使用 引入页面
<%@ include file = "index_foot1.jsp" %>


文件地址页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    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>
<div id="friend">
        <h1 class="friend_t">
            <img src="admin/images/friend_ico.gif" alt="合作伙伴" />
        </h1>
        <div class="friend_list">
            <ul>
                <li><a href="#">中国政府网</a></li>
                <li><a href="#">中国政府网</a></li>
                <li><a href="#">中国政府网</a></li>
                <li><a href="#">中国政府网</a></li>
                <li><a href="#">中国政府网</a></li>
                <li><a href="#">中国政府网</a></li>
                <li><a href="#">中国政府网</a></li>
            </ul>
        </div>
    </div>
    <div id="footer">
        <p class="">
            24小时客户服务热线:010-68988888 &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a>
            &#160;&#160;&#160;&#160; 新闻热线:010-627488888 <br />
            文明办网文明上网举报电话:010-627488888 &#160;&#160;&#160;&#160; 举报邮箱: <a href="#">jubao@jb-aptech.com.cn</a>
        </p>
        <p class="copyright">
            Copyright &copy; 1999-2009 News China gov, All Right Reserver <br />
            新闻中国 版权所有
        </p>
    </div>
</body>
</html>
举报

相关推荐

0 条评论