新闻管理系统(增删改查+分页+阅读+发布评论+删除评论+数据库)

目录

一、后台管理+分页

二、新闻发布系统的阅读+浏览量

三、增加评论+显示评论+删除评论


以下是功能是后续填的功能

一、后台管理+分页

当我们的数据数量比较多的时候,页面显示不完全,需要用户拖动才能浏览更多信息,有点麻烦

,这是我们会采取我们的分页,布局清晰,数量清楚

        admin.jsp

新闻管理系统(增删改查+分页+阅读+发布评论+删除评论+数据库)_第1张图片

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>



管理后台




管理员: <%=session.getAttribute("a") %>      login out
    <% /* String str = request.getParameter("str"); if(str==null){ str = ""; } String sql = "select * from news where ntitle like '%"+str+"%' order by nid desc"; */ //连接数据库查询新闻信息 Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; Connection con = DriverManager.getConnection(url, "scott", "tiger"); //求出数据总条数 PreparedStatement ps = con.prepareStatement("select count(*) from news"); ResultSet rs = ps.executeQuery(); int count = 0; if(rs.next()){ count=rs.getInt(1); } int pageIndex = 1;//页码 //接受页码 String index = request.getParameter("pageIndex"); if(index!=null){//如果接收到页面就给pageIndex赋值 pageIndex = Integer.valueOf(index); } int pageSize = 10;//每页的数据条数 //计算最大页码 int maxPage = count/pageSize; //判断能不能整除,不能整除说明还有不够一页的数据 if(count%pageSize!=0){ maxPage++; } int start = (pageIndex-1)*pageSize+1; int end = pageIndex*pageSize; String sql = "select * from (select a.*,rownum mid from news a)b where mid>=? and mid<=?"; ps = con.prepareStatement(sql); ps.setInt(1, start); ps.setInt(2, end); rs= ps.executeQuery(); while(rs.next()){ %>
  • <%=rs.getString("ntitle") %> 作者:<%=rs.getString("nzz") %>      修改      删除
  • <%} %>

    首页 上一页  当前页数:[<%=pageIndex %>/<%=maxPage %>]  下一页 末页

二、新闻发布系统的阅读+浏览量

有时候我们需要知道某个页面的浏览次数,这时我们需要统计,并且统计的一般是用户第一次载入该网页时的访问数

read_news.jsp

新闻管理系统(增删改查+分页+阅读+发布评论+删除评论+数据库)_第2张图片

<%@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"%>




新闻中国




<%
	//接受来自主页面的admin页面
	String nid = request.getParameter("nid");
	//单个查询,找到其对应的信息并绑值
	 Class.forName("oracle.jdbc.driver.OracleDriver");
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	//创建连接
	Connection con = DriverManager.getConnection(url, "scott", "tiger");
	String sql = "select * from news where nid="+nid;
	PreparedStatement ps = con.prepareStatement(sql);
	ResultSet rs= ps.executeQuery();
	String ntitle = "";
	String nauthor = "";
	String ncontent = "";
	String ndate = "";
	int nlook = 0;
	while(rs.next()){
		ntitle = rs.getString(3);
		nauthor = rs.getString(4);
		ncontent = rs.getString(5);
		ndate = rs.getString(6);
		nlook = rs.getInt(7);
	}
	//每次在原有的基础上递增1,记得带条件
	//如果他为空,就赋值为0update news set nlook=nvl(nlook,0)+1 where nid="+nid
	sql = "update news set nlook=nlook+1 where nid="+nid;
	ps = con.prepareStatement(sql);
	int n = ps.executeUpdate();
	//关闭资源
%>
	




三、增加评论+显示评论+删除评论

当我们看完一篇新闻后可能会有一些感想,我们可以把这些发表到评论区,如果发现自己说的话不大合理的话,那么我们就可以删除自己的评论

doaddpl.jsp以及dodel.jsp

<%@page import="java.util.Date"%>
<%@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");
	//接受添加页面传过来的值
	//新闻评论pid
	int nextpid = 1;
	//作者编号uuid
	Object id = session.getAttribute("uuid");
	int uuid = (Integer)id;
	//新闻编号nid  根据name值区value值
	int nid = Integer.valueOf( request.getParameter("nid"));//隐藏域传的值
	//评论内容pnr
	String pnr = request.getParameter("ccontent");
	//评论时间ptime
	//ip地址pip
	String pip = request.getParameter("cip");
	
	//连接数据库
	Class.forName("oracle.jdbc.driver.OracleDriver");
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	Connection con = DriverManager.getConnection(url, "scott", "tiger");
	
	//获取新闻的下一个编号
	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);
	
	
	//执行sql语句
	int i = ps.executeUpdate();
	if(i>0){
		out.print("");
	}else{
		out.print("");
	}
	
%>
<%@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");
	//接受要删除的新闻编号
	String pid = request.getParameter("pid");
	String nid = request.getParameter("nid");
	//把字符串转换为整数
	//int pid = Integer.valueOf(id);
	//JDBC 删除
	Class.forName("oracle.jdbc.driver.OracleDriver");
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	Connection con = DriverManager.getConnection(url, "scott", "tiger");
	PreparedStatement ps = con.prepareStatement("delete from ptext where pid="+pid);
	int i = ps.executeUpdate();
	if(i>0){
		response.sendRedirect("read_news.jsp?nid="+nid);
	}else{
		out.print("");
	}
%>

以上就是今天的分享,后续还会添加功能,敬请期待

你可能感兴趣的:(前端,eclipse,开发语言)