新闻的数据维护(连接数据库版本的增删改查)

首先分为如下几点:

1、登录界面

1、登录界面的展示(login.jsp)

2、表单验证代码展示

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; 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++) {
			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;
		}

	}
</script>

3、登录界面的代码展示 :

</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>

4、连接数据库验证界面(dologin.jsp)

<%
    /*
		内置对象:
			request:请求
			接收数据
			request.getParameter("name属性");
	*/
   //接收页面提交过来的数据,根据name属性获取标签的值
	String uname=request.getParameter("textfield");
    //密码
	String upwd=request.getParameter("textfield2");
    //注册驱动类
	Class.forName("oracle.jdbc.OracleDriver");
    //连接数据库
	String url="jdbc:oracle:thin:@localhost:1521:ORCL";
	Connection con=DriverManager.getConnection(url, "scott", "1234");
    //定义那个对象,用来执行sql语句
	PreparedStatement ps=con.prepareStatement("select * from T277 where uname=? and upwd=?"); 
    //给占位符赋值
	ps.setString(1, uname);
	ps.setString(2, upwd);
    //执行sql语句
	ResultSet rs=ps.executeQuery();
    //处理结果
	if(rs.next()){//成功就跳转到主页面
		request.getRequestDispatcher("admin.jsp").forward(request, response);
	}else{//错误就回到登录页面
		out.print("<script>alert('用户名或密码错误,请重新登陆');location.href='login.jsp'</script>");
	}
%>

2、给页面绑定数据

                当表单验证完成时,会自动跳转到admin.jsp页面,而我们的主页面需要绑定我们数据库的数据。代码如下:

</script>
			<from action="" align="center" >
				<input type="text" name="str">
				<input type="submit" value="查询">
			</from>
			<ul class="classlist">
				<%
					//连接数据库,查询新闻
					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 * from news order by nid desc");
					ResultSet rs = ps.executeQuery();
					while (rs.next()) {
				%>
				<li>
				<a href="#"> <%=rs.getString("ntitle")%>
				</a> 
				<span> 作者:<%=rs.getString("nzz")%> &#160;&#160;&#160;&#160;
						<a href='newspages/update_news.jsp?nid=<%=rs.getInt(1)%>'>修改</a>
						&#160;&#160;&#160;&#160; <a
						href='dodelnews.jsp?nid=<%=rs.getInt(1)%>'
						onclick='return clickdel()'>删除</a>
				</span></li>
				<li class='space'></li>
				<%
					}
				%>

源代码如下(包括body部分):

<%@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"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加主题--管理后台</title>
<link href="CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
	<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">
			管理员: 登录 &#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="#">编辑新闻</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">
			<script language="javascript">
				function clickdel() {
					return confirm("删除请点击确认");
				}
			</script>
			<from action="" align="center" >
				<input type="text" name="str">
				<input type="submit" value="查询">
			</from>
			<ul class="classlist">
				<%
					//连接数据库,查询新闻
					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 * from news order by nid desc");
					ResultSet rs = ps.executeQuery();
					while (rs.next()) {
				%>
				<li>
				<a href="#"> <%=rs.getString("ntitle")%>
				</a> 
				<span> 作者:<%=rs.getString("nzz")%> &#160;&#160;&#160;&#160;
						<a href='newspages/update_news.jsp?nid=<%=rs.getInt(1)%>'>修改</a>
						&#160;&#160;&#160;&#160; <a
						href='dodelnews.jsp?nid=<%=rs.getInt(1)%>'
						onclick='return clickdel()'>删除</a>
				</span></li>
				<li class='space'></li>
				<%
					}
				%>
				<p align="right">
					当前页数:[1/3]&nbsp; <a href="#">下一页</a> <a href="#">末页</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>

3、添加新闻(add_news,doadd_news)

        点击添加新闻时,会跳转到add_news.jsp,而当我们编辑好后会跳转至doadd_news.jsp完成添加到数据库中。

1、add_news.jsp界面展示

2、因主题是下拉框,在新闻表中主题编号为外键,所以因连接数据库先找到所有的主题编号,再根据编号寻找到主题名称。代码展示如下:

<div id="opt_area">
			<h1 id="opt_type">添加新闻:</h1>
			<form action="doadd_news.jsp" method="post">
				<p>
					<label> 主题 </label> 
					<select name="ntid">
						<%
							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 * from subject");
							ResultSet rs = ps.executeQuery();
							while(rs.next()){
						%>
						<option value='<%=rs.getInt(1)%>'><%=rs.getString(2) %></option>
						<%} %>
					</select>

 3、源代码如下(包括body部分):

<%@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"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加主题--管理后台</title>
<link href="../CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
	<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">
			管理员: 登录 &#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="news_add.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>
			<form action="doadd_news.jsp" method="post">
				<p>
					<label> 主题 </label> 
					<select name="ntid">
						<%
							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 * from subject");
							ResultSet rs = ps.executeQuery();
							while(rs.next()){
						%>
						<option value='<%=rs.getInt(1)%>'><%=rs.getString(2) %></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>

4、最后连接数据库绑定值(doadd_news.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"%>
<%
	request.setCharacterEncoding("utf-8");
	int tid=Integer.valueOf(request.getParameter("ntid"));
	String ntitle=request.getParameter("ntitle");
	String nzz=request.getParameter("nauthor");
	String nzy=request.getParameter("nsummary");
	String nnr=request.getParameter("ncontent");
	//连接数据库
	Class.forName("oracle.jdbc.OracleDriver");
	String url="jdbc:oracle:thin:@localhost:1521:ORCL";
	Connection con=DriverManager.getConnection(url, "scott", "1234");
	//获取新闻的下一个编号
	int nextNid=1;
	PreparedStatement ps=con.prepareStatement("select max(nid) from news");
	ResultSet rs=ps.executeQuery();
	if(rs.next()){
		nextNid=rs.getInt(1)+1;
	}
 	ps=con.prepareStatement("insert into news values(?,?,?,?,?,sysdate,0,?)");
	ps.setInt(1, nextNid);
	ps.setInt(2, tid);
	ps.setString(3,ntitle);
	ps.setString(4,nzz);
	ps.setString(5,nnr);
	ps.setString(6,nzy);
	int i=ps.executeUpdate();
	if(i>0){
		out.print("<script>alert('添加成功');location.href='../admin.jsp'</script>");	
	}else{
		out.print("<script>alert('添加失败');location.href='add_news.jsp'</script>");
	}
%>

4、删除新闻(dodelnews.jsp)

首先找到点击删除找到的那一行的id:就在admin界面中找到删除写如下代码:

 <a href='dodelnews.jsp?nid=<%=rs.getInt(1)%>' onclick='return clickdel()'>删除</a>

然后跳转至dodelnews.js界面绑定数据库删除数据库了的数据。源代码如下:

<%@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"));
	Class.forName("oracle.jdbc.OracleDriver");
	String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
	Connection con = DriverManager.getConnection(url, "scott", "1234");
	PreparedStatement ps=con.prepareStatement("delete news where nid="+nid);
	int i=ps.executeUpdate();
	if(i>0){
		out.print("<script>alert('删除成功');location.href='admin.jsp'</script>");
	}else{
		out.print("<script>alert('删除失败');location.href='admin.jsp'</script>");
	}
%>

ps:这里有一个onlick的点击事件,这里是提示语句,函数在admin界面中

代码如下:

<div id="opt_area">
			<script language="javascript">
				function clickdel() {
					return confirm("删除请点击确认");
				}
			</script>

5、修改新闻

1、首先在admin.jsp页面中的修改标签那里跳转到我们的修改界面(upate_news.jsp)。

2、然后要获取点击修改那行的nid,所以在admin.jsp的界面中把nid传到update_news.jsp界面。源代码如下:

<a href='newspages/update_news.jsp?nid=<%=rs.getInt(1)%>'>修改</a>

3.、再然后update_news.jsp界面接收传过来的nid,接下来连接数据库根据传过来的nid,接收到其他数据,接下来在其他标签下给他们赋值。

<%
				//接受要修改的新闻编号
				int nid = Integer.valueOf(request.getParameter("nid"));
				//连接数据库
				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 * from news where nid=" + nid);
				ResultSet rs = ps.executeQuery();
				int tid = 0;
				String ntitle = "";
				String nzz = "";
				String nzy = "";
				String nnr = "";
				if (rs.next()) {
					tid = rs.getInt("tid");
					ntitle = rs.getString("ntitle");
					nzz = rs.getString("nzz");
					nzy = rs.getString("nzy");
					nnr = rs.getString("ncontent");
				}
			%>

4、又因为我们的主题是下拉框,在新闻表中主题编号为外键,所以因连接数据库先找到所有的主题编号,再根据编号寻找到主题名称。

<form action="doupdate_news.jsp" method="post">
				<p>
					<label> 主题 </label>
					 <select name="ntid">
						<%
						ps=con.prepareStatement("select * from subject");
						rs=ps.executeQuery();
						while(rs.next()){
						%>
						<option value="<%=rs.getInt(1)%>"

5、ps、重点:需要让我们的新闻主题编号,与找到主题名称的编号要相同的时候,写下if判断,就让我们的新闻名称被选中。还有就是《</textarea>》标签是双标签,赋值要注意。

<%
						//判断新闻主题
						if(rs.getInt(1)==tid){
							out.print("selected=selected");
						}
						%>
						><%=rs.getString(2) %> </option>
						<%
						}
						%>

6、最后跳转至我们的doupdate_news.jsp界面,界面中绑定数据库根据传过来的id来修改新闻的其他信息。ps:这里需要用到我们的隐藏《input》标签传递nid的值在update_news.jsp界面中

doupdate_new代码段:

<%@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 nid=Integer.valueOf(request.getParameter("nid"));
	int tid=Integer.valueOf(request.getParameter("ntid"));
	String ntitle=request.getParameter("ntitle");
	String nzz=request.getParameter("nauthor");
	String nzy=request.getParameter("nsummary");
	String nnr=request.getParameter("ncontent");
	//连接数据库
	Class.forName("oracle.jdbc.OracleDriver");
	String url="jdbc:oracle:thin:@localhost:1521:ORCL";
	Connection con=DriverManager.getConnection(url, "scott", "1234");
 	PreparedStatement ps=con.prepareStatement("update news set tid=?,ntitle=?,nzz=?,nzy=?,ndate=sysdate,nlook=0,ncontent=? where nid="+nid);
 	ps.setInt(1,tid);
 	ps.setString(2,ntitle);
	ps.setString(3,nzz);
	ps.setString(4,nnr);
	ps.setString(5,nzy);
	int i=ps.executeUpdate();
	if(i>0){
		out.print("<script>alert('修改成功');location.href='../admin.jsp'</script>");	
	}else{
		out.print("<script>alert('修改失败');location.href='update_news.jsp'</script>");
	}
%>

update_news界面全部代码展示:

<%@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"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加主题--管理后台</title>
<link href="../CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
	<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">
			管理员: 登录 &#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="news_add.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>
			<%
				//接受要修改的新闻编号
				int nid = Integer.valueOf(request.getParameter("nid"));
				//连接数据库
				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 * from news where nid=" + nid);
				ResultSet rs = ps.executeQuery();
				int tid = 0;
				String ntitle = "";
				String nzz = "";
				String nzy = "";
				String nnr = "";
				if (rs.next()) {
					tid = rs.getInt("tid");
					ntitle = rs.getString("ntitle");
					nzz = rs.getString("nzz");
					nzy = rs.getString("nzy");
					nnr = rs.getString("ncontent");
				}
			%>
			<form action="doupdate_news.jsp" method="post">
				<p>
					<label> 主题 </label>
					 <select name="ntid">
						<%
						ps=con.prepareStatement("select * from subject");
						rs=ps.executeQuery();
						while(rs.next()){
						%>
						<option value="<%=rs.getInt(1)%>"
						<%
						//判断新闻主题
						if(rs.getInt(1)==tid){
							out.print("selected=selected");
						}
						%>
						><%=rs.getString(2) %> </option>
						<%
						}
						%>
						</select>
				</p>
				<p>
					<label> 标题 </label> <input value="<%=ntitle%>" name="ntitle"
						type="text" class="opt_input" />
				</p>
				<p>
					<label> 作者 </label> <input value="<%=nzz%>" name="nauthor"
						type="text" class="opt_input" />
				</p>
				<p>
					<label> 摘要 </label>
					<textarea name="nsummary" cols="40" rows="3">
					<%=nzy%>
					</textarea>
				</p>
				<p>
					<label> 内容 </label>
					<textarea name="ncontent" cols="70" rows="10">
					<%=nnr%>
					</textarea>
				</p>
				<p>
					<label> 上传图片 </label> <input name="file" type="file"
						class="opt_input" />
				</p>
				<input name="nid" type="hidden" value="<%=nid%>"> <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>

6、查看新闻详情

1、首先在admin.jsp界面中,给作者的from标签添加路径,跳转页面至reda_news.jsp界面,保存,刷新,看效果。

2、然后要获取点击作者那行的id,所以在admin.jsp的界面中把nid传到read_news.jsp界面。源代码如下:

<li><a href="newspages/read_news.jsp?nid=<%=rs.getInt(1)%>">
				<%=rs.getString("ntitle")%>
				</a> <span> 作者:<%=rs.getString("nzz")%> &#160;&#160;&#160;&#160;
						<a href='newspages/update_news.jsp?nid=<%=rs.getInt(1)%>'>修改</a>
						&#160;&#160;&#160;&#160; <a
						href='dodelnews.jsp?nid=<%=rs.getInt(1)%>'
						onclick='return clickdel()'>删除</a>
				</span></li>

3、再然后admin.jsp界面接收传过来的nid,接下来连接数据库根据传过来的nid,接收到其他数据,接下来在其他标签下给他们赋值。ps:时间是date类型所以需要加“”;来转换类型。

read_news.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"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>新闻中国</title>
<link href="../CSS/read.css" rel="stylesheet" type="text/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">
			<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> <a href="../index.html" class="login_link">返回首页</a>
			<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>
		</div>
	</div>
	<div id="container">
		<div class="sidebar">
			<%
				//接收新闻编号
				String id = request.getParameter("nid");
				int nid = Integer.valueOf(id);
				//连接数据库
				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 * from news where nid="+nid);
				ResultSet rs=ps.executeQuery();
				String ntitle="";
				String nzz="";
				String ndate="";
				String nnr="";
				if(rs.next()){
				ntitle=rs.getString("ntitle");
				nzz=rs.getString("nzz");		
				ndate=rs.getDate("ndate")+"";
				nnr=rs.getString("ncontent");
				}
					
			%>
			<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="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 align="center"><%=ndate %></td>
							<td align="left"><%=nzz %></td>
						</tr>
						<tr>
							<td colspan="2" align="center"></td>
						</tr>
						<tr>
							<td colspan="2">
								
								<%=nnr  %></td>
						</tr>
						<tr>
							<td colspan="2"><hr /></td>
						</tr>
					</table>
				</ul>
				<ul class="classlist">
					<table width="80%" align="center">
						<td colspan="6">暂无评论!</td>
						<tr>
							<td colspan="6"><hr /></td>
						</tr>
					</table>
				</ul>
				<ul class="classlist">
					<form action="#" method="post" onsubmit="return check()">
						<table width="80%" align="center">
							<tr>
								<td>评 论</td>
							</tr>
							<tr>
								<td>用户名:</td>
								<td><input id="cauthor" name="cauthor" value="这家伙很懒什么也没留下" />
									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>
	<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>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值