继上面功能之后的新功能
一、添加评论
首先是我们的admin界面展示
其次是我们的read_news界面展示
a、首先从read_news界面的from表单跳转至doadd_ptext界面。
<form action="doadd_ptext.jsp" method="post"
onsubmit="return check()">
b、然后接收评论人的编号、评论人的ip、评论新闻的编号、评论内容、还有评论主键编号这几个元素,然后连接数据库,又因为oracle数据库中没有主键自增,所以需找到最大的主键编号,然后如果是第一次添加的花,就主键编号上只能默认为1,如果sql语句有结果集就在最大编号的结果上加一,如没有找到结果集就默认为第一次添加编号就为1。
doadd_ptext源代码展示:
<%@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");
//接收用户编号
Object id = session.getAttribute("uuid");
int uuid = (Integer)id;
//评论人的IP
String pip = request.getParameter("cip");
//接收新闻编号
int nid = Integer.valueOf(request.getParameter("nid"));
//评论内容
String pnr = request.getParameter("ccontent");
//评论主键编号
int nextPid = 1;
//连接数据库
Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "1234");
PreparedStatement ps = con.prepareStatement("select max(pid) from ptext");
ResultSet rs = ps.executeQuery();
if(rs.next()){
nextPid = rs.getInt(1)+1;
}
//连接数据库,添加评论
ps = con.prepareStatement("insert into ptext values(?,?,?,?,sysdate,?)");
ps.setInt(1, nextPid);
ps.setInt(2, uuid);
ps.setInt(3, nid);
ps.setString(4, pnr);
ps.setString(5, pip);
int i = ps.executeUpdate();
if(i>0){
out.print("<script>alert('评论成功');location.href='read_news.jsp?nid="+nid+"'</script>