优化新闻管理系统(分层)+代码封装

目录

一:新闻发布系统

                1,界面图

                2,代码实例

一、新闻发布系统

1.界面图

                             登陆界面:login.jsp

主页面admin.jap新闻阅读页面 news_news.jsp

游客页面index.jsp

添加页面add_rom.jsp

   这是我写项目用到的类

 

2,代码实例 

       登陆:

<%
	//接收要删除的新闻编号
	int nid = Integer.valueOf(request.getParameter("nid"));
	News ss = new News();
	NewsDao ssi = new NewsDao();
int i=ssi.delete(nid);
	if (i > 0) {
		out.print("<script>alert('删除成功!');location.href='admin.jsp'</script>");
	} else {
		out.print("<script>alert('删除失败!');location.href='admin.jsp'</script>");
	}
%>

 login.jsp&&dologin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
<link href="images/login.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
	//产生随机数
	var str = "qwertyupasdfghjkzxcvbnmQWERTYUPASDFGHJKLZXCVBNM23456789";
	
	//验证函数
	function yz() {
		//随机出4个0-字符串长度之间的数字 做为下标
		yzmStr="";
		for(var i=1;i<=4;i++){
			//substr:从指定位置截取到最后
			//Math.round();取整,四舍五入
			//产生验证码范围在数字-字母((str.length-1))之间的随机数
			//Math.round(Math.random()*(str.length-1));
			yzmStr+=str.substr(Math.round(Math.random()*(str.length-1)),1);
		}
		//把验证码赋值到页面
		document.getElementById("syzm").innerHTML=yzmStr;
	}
	
	function $(id) {
		return document.getElementById(id);
	}
	
	//登录验证函数
	function login_yz() {
		//验证 用户名 和 密码不能为空 
		//获取用户名
		var uname = $("uname").value;	
		if(uname.length==0){
			alert("用户名不能为空!");
			return false;
		}
		
		//获取密码
		var upwd = $("upwd").value;
		if(upwd.length==0){
			alert("密码不能为空!");
			return false;
		}
		
		//获取验证码:判断和电脑的验证码是否相等
		//PS:自己实现-输入的验证码不区分大小写-大小写转换
		var yzm = $("uyzm").value;
		if(yzm!=yzmStr){
			alert("验证码输入错误,请重新输入");
			//清空输入的验证码
			$("uyzm").value="";
			重新生成验证码
			yz();
			return false;
		}
		//输入的验证码不区分大小写-大小写转换
		/*var yzm = $("uyzm").value;
		if(yzm.toUpperCase()==yzmStr){
			alert("验证码不区分大小写!");
			//清空输入的验证码
			$("uyzm").value="";
			//重新生成验证码
			yz();
			return false;
		}
		*/
	}
</script>
</head>
<body onload="yz()">
	<div id="login">
		<div id="top">
			<div id="top_left">
				<img src="images/login_03.gif" />
			</div>
			<div id="top_center"></div>
		</div>

		<div id="center">
			<div id="center_left"></div>
			<div id="center_middle">
			<form action="dologin.jsp" onsubmit="return login_yz()">
				<div id="user">
					用 户 <input type="text" id="uname" name="textfield" />
				</div>
				<div id="password">
					密 码 <input type="password" id="upwd" name="textfield2" />
				</div>
				
				<div id="yzm">
					验证码 <input id="uyzm" style="width: 50px;" type="text" name="textfield3" />
					<span id="syzm" onclick="yz()"></span>
				</div>
				<div id="btn">
					<input type="submit" value="登录">
					<input type="reset" value="清空">
				</div>
			</form>
			</div>
			<div id="center_right"></div>
		</div>
		<div id="down">
			<div id="down_left">
				<div id="inf">
					<span class="inf_text">版本信息</span> <span class="copyright">管理信息系统
						2008 v2.0</span>
				</div>
			</div>
			<div id="down_center"></div>
		</div>
	</div>
</body>
</html>`

主页面admin.jsp


<%@page import="zking.entity.News"%>
<%@page import="java.util.ArrayList"%>
<%@page import="zking.dao.NewsDao"%>
<%@page import="zking.entity.User"%>
<%@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"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加主题--管理后台</title>
<link href="CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<%
	//判断用户是不是为空
	Object obj = session.getAttribute("u");
	if(obj==null){
	out.print
	("<script>alert('同志请先登录!');location.href='login.jsp'</script>");
	}
%>
<div id="header">
  <div id="welcome">欢迎使用新闻管理系统!</div>
  <div id="nav">
    <div id="logo"><img src="images/logo.jpg" alt="新闻中国" /></div>
    <div id="a_b01"><img src="images/a_b01.gif" alt="" /></div>
  </div>
</div>
<div id="admin_bar">
  <div id="status">管理员:<%=((User)session.getAttribute("u")).getUname() %> &#160;&#160;&#160;&#160; <a href="login.jsp">login out</a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="newspages/add_news.jsp">添加新闻</a></li>
      <li><a href="#">编辑新闻</a></li>
      <li><a href="index.jsp">查看新闻</a></li>
      <li><a href="newspages/add_sub.jsp">添加主题</a></li>
      <li><a href="newspages/update_sub.jsp">编辑主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <script language="javascript">
	function clickdel(){
		return confirm("删除请点击确认");
	}
	
</script>
	<form action="admin.jsp" align="center">
		<input type="text" name="str">
		<input type="submit" value="查询">
	</form>
    <ul class="classlist">
     <%
     //获取模糊查询的关键字
     String str = request.getParameter("str");
     if(str==null){
    	 str = "";
     }
   
 	
 	int pageIndex=1;//页码
 	//接收页码
 	String index = request.getParameter("pageIndex");
 	if(index!=null){//如果接收到页码,就给页码pageIndex赋值
 		pageIndex = Integer.valueOf(index);
 	}
 	
 	int pageSize=5;//每页的数据条数,每页6条数据
 	
 	
 	
 	
	//实例化NewsDao
 	NewsDao nd= new NewsDao();
 	int maxPage =nd.getMaxPage(pageSize);//调用求 最大页面方法 获取最大页面
 	//调用分页查询方法
 	ArrayList<News> nlist=nd.pageNews(pageIndex, pageSize);
 	
 	
 	//遍历集合
 	for(News n:nlist){
     %>
      <li> 
      	<a href="newspages/read_news.jsp?nid=<%=n.getNid()%>">
      		<%=n.getNtitle() %> 
      	</a>
      <span> 作者:<%=n.getNzz() %>                                           
       &#160;&#160;&#160;&#160; <a href='newspages/update_news.jsp?nid=<%=n.getNid() %>'>修改</a>
       &#160;&#160;&#160;&#160;<a href='dodelnews.jsp?nid=<%=n.getNid()%>' onclick='return clickdel()'>删除</a> </span> </li>
      <li class='space'></li>
      <%} %>
      <p align="right"> 
      	<a href="admin.jsp">首页</a> 
      	<a href="admin.jsp?pageIndex=<%=pageIndex>1?pageIndex-1:1 %> ">上一页</a> 
      	<!-- 当前页面/最大页面 -->
      	&nbsp;当前页数:[<%=pageIndex %>/<%=maxPage %>]&nbsp; 
      	<a href="admin.jsp?pageIndex=<%=pageIndex<maxPage?pageIndex+1:maxPage%>">下一页</a> 
      	<a href="admin.jsp?pageIndex=<%=maxPage%>">末页</a> 
      	</p>
    </ul>
  </div>
</div>
<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </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>

添加新闻add_news.jsp&&doadd_news.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="zking.entity.Subject"%>
<%@page import="zking.dao.SubjectDao"%>
<%@page import="zking.entity.User"%>
<%@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"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加新闻--管理后台</title>
<link href="../CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!-- 
<%
	//判断用户是不是为空
	Object obj = session.getAttribute("uname");
	if(obj==null){
	out.print
	("<script>alert('同志请先登录!');location.href='../login.jsp'</script>");
	}
%>
 -->
<div id="header">
  <div id="welcome">欢迎使用新闻管理系统!</div>
  <div id="nav">
    <div id="logo"><img src="../images/logo.jpg" alt="新闻中国" /></div>
    <div id="a_b01"><img src="../images/a_b01.gif" alt="" /></div>
  </div>
</div>
<div id="admin_bar">
  <div id="status">管理员:<%=((User)session.getAttribute("u")).getUname() %>&#160;&#160;&#160;&#160;<a href="login.jsp">login out</a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="add_news.jsp">添加新闻</a></li>
      <li><a href="../admin.jsp">编辑新闻</a></li>
      <li><a href="#">查找新闻</a></li>
      <li><a href="topic_add.jsp">添加主题</a></li>
      <li><a href="#">编辑主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <h1 id="opt_type"> 添加新闻: </h1>
 <img alt="" src="onload/by.jpg">
	<hr>
    <form action="doadd_news.jsp" enctype="multipart/form-data" method="post">
      <p>
        <label> 主题 </label>
        <select name="ntid">
          <%
        	//调用dao类方法
        	SubjectDao sd = new SubjectDao();
          	//调用查询所有新闻主题方法
          	ArrayList<Subject> sli = sd.getAll();
          	//遍历集合
          	for(Subject s: sli){
       	%>
       		<option value='<%=s.getTid()%>'><%=s.getTname()%></option>
       	<%} %>
       	
        </select>
      </p>
      <p>
        <label> 标题 </label>
        <input name="ntitle" type="text" class="opt_input" />
      </p>
      <p>
        <label> 作者 </label>
        <input name="nauthor" type="text" class="opt_input" />
      </p>
      <p>
        <label> 摘要 </label>
        <textarea name="nsummary" cols="40" rows="3"></textarea>
      </p>
      <p>
        <label> 内容 </label>
        <textarea name="ncontent" cols="70" rows="10"></textarea>
      </p>
      <p>
        <label> 上传图片 </label>
        <input name="file" type="file" class="opt_input" />
      </p>
      <input name="action" type="hidden" value="addnews">
      <input type="submit" value="提交" class="opt_sub" />
      <input type="reset" value="重置" class="opt_sub" />
    </form>
  </div>
</div>
<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </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>

<%@page import="zking.entity.News"%>
<%@page import="zking.dao.NewsDao"%>
<%@page import="com.jspsmart.upload.Request"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="com.jspsmart.upload.File"%>
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%> 
<%
	//创建SmartUpload对象
	SmartUpload su = new SmartUpload();
	//初始化
	su.initialize(pageContext);
	//声明一个File对象 用来接收上传的文件
	File file = null;
	//设置允许上传的文件类型
	su.setAllowedFilesList("jpg,png,gif,jpeg");
	//设置不允许上传的文件类型
	su.setDeniedFilesList("bat,exe,mp4");
	//设置单文件大小
	su.setMaxFileSize(400000);
	//设置总文件大小
	su.setTotalMaxFileSize(500000);
	//设置编码
	su.setCharset("utf-8");
	//开始上传
	su.upload();	
	//获取文件集合中的第一个文件
	file = su.getFiles().getFile(0);
	//要上传的图片
	String filePath = "";
	if(!file.isMissing()){
		//拼接文件上传到服务器的 路径
		filePath ="onload/"+file.getFileName();
		//上传到服务器 保存到指定路径
		file.saveAs(filePath,SmartUpload.SAVE_VIRTUAL);
	}
	
	Request req = su.getRequest();
	request.setCharacterEncoding("utf-8");
	response.setCharacterEncoding("utf-8");

//接受添加界面的数据
int tid=Integer.valueOf(req.getParameter("ntid"));
String ntitle=req.getParameter("ntitle");
String nzz=req.getParameter("nauthor");
String nzy=req.getParameter("nsummary");
String nnr=req.getParameter("ncontent");
News x= new News(ntitle,nzz,nzy,nnr);
NewsDao nd = new NewsDao();
int i = nd.addNews(x);
	if(i>0){
		out.print("<script>alert('添加成功!');location.href='../admin.jsp'</script>");
	}else{
		out.print("<script>alert('添加失败!');location.href='add_news.jsp'</script>");
	}
	
%>

 修改新闻update_news.jsp&&doupdate_news.jsp

<%@page import="zking.entity.News"%>
<%@page import="zking.dao.NewsDao"%>
<%@page import="zking.entity.Subject"%>
<%@page import="java.util.ArrayList"%>
<%@page import="zking.dao.SubjectDao"%>
<%@page import="zking.entity.User"%>
<%@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"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改新闻--管理后台</title>
<link href="../CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!-- 
<%
	//判断用户是不是为空
	Object obj = session.getAttribute("uname");
	if(obj==null){
	out.print
	("<script>alert('同志请先登录!');location.href='../login.jsp'</script>");
	}
%>
 -->
	<div id="header">
		<div id="welcome">欢迎使用新闻管理系统!</div>
		<div id="nav">
			<div id="logo">
				<img src="../images/logo.jpg" alt="新闻中国" />
			</div>
			<div id="a_b01">
				<img src="../images/a_b01.gif" alt="" />
			</div>
		</div>
	</div>
	<div id="admin_bar">
		<div id="status">
			管理员:<%=((User)session.getAttribute("u")).getUname() %> &#160;&#160;&#160;&#160;<a href="login.jsp">login out</a>
		</div>
		<div id="channel"></div>
	</div>
	<div id="main">
		<div id="opt_list">
			<ul>
				<li><a href="add_news.jsp">添加新闻</a></li>
				<li><a href="update_news.jsp">编辑新闻</a></li>
				<li><a href="#">查找新闻</a></li>
				<li><a href="topic_add.jsp">添加主题</a></li>
				<li><a href="#">编辑主题</a></li>
			</ul>
		</div>
		<div id="opt_area">
			<h1 id="opt_type">修改新闻:</h1>
		<%
		
		NewsDao as= new NewsDao();
		ArrayList<News> slit=as.getAll();
		  //遍历集合
	    for(News n:slit){
	      %>
	        <li> <a href='newspages/news_read.jsp?nid=<%=n.getTid()%>'><b><%=n.getNtitle() %></b></a> </li>
	        
		<form action="doupdate_news.jsp" method="post">
			<p>
				<label> 主题 </label> 
				<select name="ntid">
					  <%
        	//调用dao类方法
        	SubjectDao sd = new SubjectDao();
          	//调用查询所有新闻主题方法
          	ArrayList<Subject> sli = sd.getAll();
          	//遍历集合
          	for(Subject s: sli){
       	%>
       		<option value='<%=s.getTid()%>
       		
       		<%
				//判断新闻主题,设置被选中
				if (s.getTid() ==n.getTid()){
				
				out.print("selected='selected'");
				} 
			%>
       		'><%=s.getTname()%></option>
       	<%} %>
				</select>
			</p>
			<p>
				<label> 标题 </label> 
				<input name="ntitle" type="text" value="<%=n.getNtitle() %>" class="opt_input" />
			</p>
			<p>
				<label> 作者 </label> 
				<input name="nauthor" type="text" value="<%=n.getNzz()%>" class="opt_input" />
			</p>
			<p>
				<label> 摘要 </label>
				<textarea name="nsummary" cols="40" rows="3">
					<%=n.getNzy() %>
				</textarea>
			</p>
			<p>
				<label> 内容 </label>
				<textarea name="ncontent" cols="70" rows="10">
					<%=n.getNnr() %>
				</textarea>
			</p>
			<p>
				<label> 上传图片 </label> <input name="file" type="file"
					class="opt_input" />
			</p>
			<input name="nid" type="hidden" value="<%=n.getNid()%>">
			<input type="submit" value="提交修改" class="opt_sub" /> 
			<input type="reset" value="重置" class="opt_sub" />
			//利用隐藏标签传值,无视觉效果,但可以传值。有value属性值,可以绑定值
		</form>
			 <%} %>
		</div>
	</div>
	<div id="site_link">
		<a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span>
		<a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span>
		<a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span>
		<a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span>
		<a href="#">留言反馈</a>
	</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>
<%
	//设置编码格式
	request.setCharacterEncoding("utf-8");
	//获取修改页面的数据,把字符串转换为整数编号(新闻主题编号)
	int tid = Integer.valueOf(request.getParameter("ntid"));
	//获取隐藏标签的值(分类编号)
	int nid = Integer.valueOf(request.getParameter("nid"));
	//获取修改页面的数据(新闻标题、新闻作者、新闻摘要、新闻内容)
	String ntitle = request.getParameter("ntitle");
	String nzz = request.getParameter("nauthor");
	String nzy = request.getParameter("nsummary");
	String ncontent = request.getParameter("ncontent");
	News news= new News(ntitle,nzz,nzy,ncontent);
	NewsDao nd = new NewsDao();

	int i=nd.upNews(nid, news);
	if(i>0){
		out.print("<script>alert('修改成功!');location.href='../admin.jsp'</script>");
	}else{
		out.print("<script>alert('修改失败!');location.href='update_news.jsp?nid="+nid+"'</script>");
	}
	
%>

游客页面index.jsp

<%@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"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>新闻中国</title>
<link href="CSS/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
  <div id="top_login">
    <label> 登录名 </label>
    <input type="text" id="uname" value="" class="login_input" />
    <label> 密&#160;&#160;码 </label>
    <input type="password" id="upwd" value="" class="login_input" />
    <input type="button" class="login_sub" value="登录" onclick="login()"/>
    <label id="error"> </label>
    <img src="images/friend_logo.gif" alt="Google" id="friend_logo" /> </div>
  <div id="nav">
    <div id="logo"> <img src="images/logo.jpg" alt="新闻中国" /> </div>
    <div id="a_b01"> <img src="images/a_b01.gif" alt="" /> </div>
    <!--mainnav end-->
  </div>
</div>
<div id="container">
  <div class="sidebar">
    <h1> <img src="images/title_1.gif" alt="国内新闻" /> </h1>
    <div class="side_list">
      <ul>
        <li> <a href='#'><b> 重庆涉黑富豪黎强夫妇庭审答辩言辞相互矛盾 </b></a> </li>
        <li> <a href='#'><b> 发改委:4万亿投资计划不会挤占民间投资空间 </b></a> </li>
        <li> <a href='#'><b> 河南2个乡镇政绩报告内容完全一致引关注 </b></a> </li>
      </ul>
    </div>
    <h1> <img src="images/title_2.gif" alt="国际新闻" /> </h1>
    <div class="side_list">
      <ul>
        <li> <a href='#'><b> 日本首相鸠山首次全面阐述新政府外交政策 </b></a> </li>
        <li> <a href='#'><b> 黎巴嫩以色列再次交火互射炮弹 </b></a> </li>
        <li> <a href='#'><b> 伊朗将于30日前就核燃料供应方案作出答复 </b></a> </li>
        <li> <a href='#'><b> 与基地有关组织宣称对巴格达连环爆炸负责 </b></a> </li>
      </ul>
    </div>
    <h1> <img src="images/title_3.gif" alt="娱乐新闻" /> </h1>
    <div class="side_list">
      <ul>
        <li> <a href='#'><b> 施瓦辛格启动影视业回迁计划 推进加州经济复苏 </b></a> </li>
        <li> <a href='#'><b> 《沧海》导演回应观众质疑 自信能超越《亮剑》 </b></a> </li>
        <li> <a href='#'><b> 《海角七号》导演新片开机 吴宇森等出席 </b></a> </li>
        <li> <a href='#'><b> 《四大名捕》敦煌热拍 八主演飙戏火花四溅 </b></a> </li>
      </ul>
    </div>
  </div>
  <div class="main">
    <div class="class_type"> <img src="images/class_type.gif" alt="新闻中心" /> </div>
    <div class="content">
      <ul class="class_date">
        <li id='class_month'> 
        <%
     	 //注册驱动类
   		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 * from subject");
     	ResultSet rs = ps.executeQuery();
     	while(rs.next()){
        %>
        <a href='index.jsp?tid=<%=rs.getInt(1)%>'><b> <%=rs.getString(2) %> </b></a> 
        <%} %>
        </li>
      </ul>
      <ul class="classlist">
      	<%
      		//接收新闻主题
      		String id = request.getParameter("tid");
      		String countSql = "select count(*) from news";
      		String pageSql = "select * from (select a.*,rownum mid from news a)b where mid>=? and mid<=?";
      		int tid = 1;
      		if(id!=null){//要执行 根据主题查询的分页
      			tid = Integer.valueOf(id);
      			countSql = "select count(*) from news where tid="+tid;
      			pageSql = "select * from (select a.*,rownum mid from news a where tid="+tid+")b where mid>=? and mid<=?";
      		}
      		
      		//查询新闻总条数
      		ps = con.prepareStatement(countSql);
      		rs = ps.executeQuery();
      		int count = 0;
      		if(rs.next()){
      			count = rs.getInt(1);
      		}
      		
      		//获取页码
      		String index = request.getParameter("pageIndex");
      		int pageIndex = 1;//页码
      		if(index!=null){//如果接收到页码,就给页码pageIndex赋值
      			pageIndex = Integer.valueOf(index);
      		}
      		//
      		//查询新闻
      		int pageSize = 8;//每页的数据条数,每页6条数据
      		//求出最大的页码
      		int maxPage = count/pageSize;
      		if(count%pageSize!=0){
      			maxPage++;//此时为最大页码
      		}
      		int start = (pageIndex-1)*pageSize+1;
      	 	int end = pageIndex*pageSize;
      	 	
      		ps = con.prepareStatement(pageSql);
      		ps.setInt(1, start);
      		ps.setInt(2, end);
      		//执行sql语句
      		rs = ps.executeQuery();
      		while(rs.next()){
      	%>
        <li>
        <a href='newspages/news_add.html'><%=rs.getString("ntitle") %> </a>
        <span> <%=rs.getDate("ndate") %> </span>
        </li>
        <li class='space'></li>
        <%} %>
        <p align="right"> 
        	<a href="index.jsp<%
        		if(id!=null){
            		out.print("?tid="+tid);
            	}
        	%>">首页</a> 
        	<a href="index.jsp?pageIndex=<%=pageIndex>1?pageIndex-1:1%><%
        			if(id!=null){
            			out.print("&tid="+tid);
            		}
        	%>">上一页</a> 
        	&nbsp;当前页数:[<%=pageIndex %>/<%=maxPage %>]&nbsp; 
        	<a href="index.jsp?pageIndex=<%=pageIndex<maxPage?pageIndex+1:maxPage%><%
        		if(id!=null){
        			out.print("&tid="+tid);
        		}
        	%>">下一页</a> 
        	<a href="index.jsp?pageIndex=<%=maxPage%><%
        		if(id!=null){
            		out.print("&tid="+tid);
            	}
        	%>">末页</a> 
        </p>
      </ul>
    </div>
    <div class="picnews">
      <ul>
        <li> <a href="#"><img src="images/Picture1.jpg" width="249" alt="" /> </a><a href="#">幻想中穿越时空</a> </li>
        <li> <a href="#"><img src="images/Picture2.jpg" width="249" alt="" /> </a><a href="#">国庆多变的发型</a> </li>
        <li> <a href="#"><img src="images/Picture3.jpg" width="249" alt="" /> </a><a href="#">新技术照亮都市</a> </li>
        <li> <a href="#"><img src="images/Picture4.jpg" width="249" alt="" /> </a><a href="#">群星闪耀红地毯</a> </li>
      </ul>
    </div>
  </div>
</div>
<div id="friend">
  <h1 class="friend_t"> <img src="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>

添加主题add_rom.jsp&&doadd_rom.jsp

<%@page import="zking.entity.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加主题--管理后台</title>
<link href="../CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!-- 
<%
	//判断用户是不是为空
	Object obj = session.getAttribute("uname");
	if(obj==null){
	out.print
	("<script>alert('同志请先登录!');location.href='../login.jsp'</script>");
	}
%>
 -->
<div id="header">
  <div id="welcome">欢迎使用新闻管理系统!</div>
  <div id="nav">
    <div id="logo"><img src="../images/logo.jpg" alt="新闻中国" /></div>
    <div id="a_b01"><img src="../images/a_b01.gif" alt="" /></div>
  </div>
</div>
<div id="admin_bar">
  <div id="status">管理员: <%=((User)session.getAttribute("u")).getUname() %> &#160;&#160;&#160;&#160;<a href="#">login out</a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="newspages/add_news.jsp">添加新闻</a></li>
      <li><a href="../admin.jsp">编辑新闻</a></li>
      <li><a href="#">查找新闻</a></li>
      <li><a href="newspages/add_sub.jsp">添加主题</a></li>
      <li><a href="#">编辑主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <h1 id="opt_type"> 添加主题: </h1>
    <form action="doadd_sub.jsp" method="post">
      <p>
        <label> 主题: </label>
        <input name="nauthor" type="text" class="opt_input" />
      </p>
      <input type="submit" value="提交" class="opt_sub" />
      <input type="reset" value="重置" class="opt_sub" />
    </form>
  </div>
</div>
<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </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>
<%@page import="zking.entity.Subject"%>
<%@page import="zking.dao.SubjectDao"%>
<%@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");
	//接收新添加主题
	String nzt = request.getParameter("nauthor");

	Subject sd= new Subject(nzt);
	SubjectDao zt= new SubjectDao();
	int i=zt.addsubj(sd);
	
	if(i>0){
		out.print("<script>alert('添加主题成功!');location.href='../admin.jsp'</script>");
	}else{
		out.print("<script>alert('添加主题失败!');location.href='../admin.jsp'</script>");
	}
	
%>

修改主题updarom_jsprom.jsp&&doupdarom_jsprom.jsp

<%@page import="zking.entity.Subject"%>
<%@page import="java.util.ArrayList"%>
<%@page import="zking.dao.SubjectDao"%>
<%@page import="zking.entity.User"%>
<%@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"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改主题--管理后台</title>
<link href="../CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!-- 
<%
	//判断用户是不是为空
	Object obj = session.getAttribute("uname");
	if(obj==null){
	out.print
	("<script>alert('同志请先登录!');location.href='../login.jsp'</script>");
	}
%>
 -->
<div id="header">
  <div id="welcome">欢迎使用新闻管理系统!</div>
  <div id="nav">
    <div id="logo"><img src="../images/logo.jpg" alt="新闻中国" /></div>
    <div id="a_b01"><img src="../images/a_b01.gif" alt="" /></div>
  </div>
</div>
<div id="admin_bar">
  <div id="status">管理员: <%=((User)session.getAttribute("u")).getUname() %>   &#160;&#160;&#160;&#160;<a href="login.jsp">login out</a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="newspages/add_news.jsp">添加新闻</a></li>
      <li><a href="../admin.jsp">编辑新闻</a></li>
      <li><a href="#">查找新闻</a></li>
      <li><a href="newspages/add_sub.jsp">添加主题</a></li>
      <li><a href="newspages/update_sub.jsp">编辑主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <h1 id="opt_type"> 修改主题: </h1>
    <form action="doupdate_sub.jsp" method="post">
    	主题:<select name="tid">
    	
   
      <%
        SubjectDao fd=new SubjectDao();
        ArrayList<Subject>li=fd.getAll();
	for(Subject c:li){
		
			%>
			<option value="<%=c.getTid()%>"><%=c.getTname() %></option>
		
        <% }%>
       </select>
      <p>
        <label> 修改后: </label>
        <input name="tname" type="text" class="opt_input" />
      </p>
      <input name="action" type="hidden" value="addnews">
      <input type="submit" value="提交修改" class="opt_sub" />
      <input type="reset" value="重置" class="opt_sub" />
    </form>
  </div>
</div>
<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </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>
<%@page import="zking.entity.Subject"%>
<%@page import="zking.dao.SubjectDao"%>
<%@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 tid = Integer.valueOf(request.getParameter("tid"));
	//接收要修改的主题名称
	String tname = request.getParameter("tname");

	Subject s = new Subject(tname);

	SubjectDao tt = new SubjectDao();

	int i=tt.update(s, tid);
	if (i > 0) {
		out.print("<script>alert('修改主题成功!');location.href='../admin.jsp'</script>");
	} else {
		out.print("<script>alert('修改主题失败!');location.href='update_sub.jsp'</script>");
	}
%>

删除评论dodel_pl.jsp

<%@page import="zking.dao.PtextDao"%>
<%@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 id=request.getParameter("pid");
	Object ids = session.getAttribute("nid");
	int nid = (Integer)ids;//强转
	int snid=Integer.valueOf(id);
	PtextDao fd=new PtextDao();
	int i=fd.delte(snid);
	if(i>0){
		out.print("<script>alert('删除成功');location.href='read_news.jsp?nid="+nid+"'</script>");
	}else{
		out.print("<script>alert('删除失败');location.href='read_news.jsp?nid="+nid+"'</script>");
	}
%>

添加评论add_pl.jsp

<%@page import="zking.entity.Ptext"%>
<%@page import="zking.dao.PtextDao"%>
<%@page import="zking.entity.User"%>
<%@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 uuid = ((User)session.getAttribute("u")).getUuid();//强转
	//评论人的IP
	String pip = request.getParameter("cip");
	//接收新闻编号(给哪一篇新闻评论)
	int nid = Integer.valueOf(request.getParameter("nid"));
	session.setAttribute("nid", nid);
	//评论内容
	String pnr = request.getParameter("str");
	//实例化PtextDao对象
	PtextDao d=new PtextDao();
	//实例化Ptext对象
	Ptext ds=new Ptext(uuid,nid,pnr,pip);
	//调用添加评论方法
	int i = d.addptext(ds);
	if(i>0){
		out.print("<script>alert('评论成功');location.href='read_news.jsp?nid="+nid+"'</script>");
	}else{
		out.print("<script>alert('评论失败');location.href='read_news.jsp?nid="+nid+"'</script>");
	}
%>

删除新闻del_news.jsp

<%@page import="zking.dao.NewsDao"%>
<%@page import="zking.entity.News"%>
<%@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 nid = Integer.valueOf(request.getParameter("nid"));
	News ss = new News();
	NewsDao ssi = new NewsDao();
int i=ssi.delete(nid);
	if (i > 0) {
		out.print("<script>alert('删除成功!');location.href='admin.jsp'</script>");
	} else {
		out.print("<script>alert('删除失败!');location.href='admin.jsp'</script>");
	}
%>

大致的类就在这里了主题主题增删改新闻增删改(封装)😘

里面还有实体类Dao类明天给哥及个补上另外再给da大家参照一个新闻管理系统表分析,​​​大家一起努力(喜欢的朋友点个赞收藏免得下次找不到了)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值