JavaWeb05(新闻项目的完善)

25 篇文章 0 订阅

目录

一.完成主页面新闻的展示
二.完成主题下拉框的绑定
三.完成单个新闻的删除
四.完成新闻的查看(阅读)
五.完成新闻的修改


一.完成主页面新闻的展示

思路:根据数据库查询的新闻字段显示到主页面

代码:

 <%
			String URL="jdbc:oracle:thin:@localhost:1521:orcl";
			String CNAME="oracle.jdbc.driver.OracleDriver";
			Class.forName(CNAME);
			Connection con=DriverManager.getConnection(URL, "scott", "tiger");
			String sql="select * from News order by nid desc  ";
			PreparedStatement ps=con.prepareStatement(sql);
			ResultSet rs=ps.executeQuery();
			while(rs.next()){
				%>
			<li><a href="/xm/read.jsp?nid=<%=rs.getInt(1) %>"><%=rs.getString(3) %></a>
				<span>作者:<%=rs.getString(4) %>&#160;&#160;&#160;&#160;&#160;&#160;&#160;
				<a href='update.jsp?nid=<%=rs.getInt(1)%>'>修改</a>&#160;&#160;&#160;&#160;
				<a href='delete.jsp?nid=<%=rs.getInt(1)%>' id="al" onclick="return myf()">删除</a>
				</span>	
			</li>
			<%
			}
			//关闭资源
			if(con!=null&&!con.isClosed()){
				con.close();
			}
			if(ps!=null){
				ps.close();
			}
			if(rs!=null){
				rs.close();
			}
			%>

效果图:

 二.完成主题下拉框的绑定

思路:根据数据库中存在的主题 查询出来 并添加到下拉框中

代码:

<label> 主题 </label>
        <select name="ntid">
         	<%
         	String URL="jdbc:oracle:thin:@localhost:1521:orcl";
         	Class.forName("oracle.jdbc.driver.OracleDriver");
         	Connection con=DriverManager.getConnection(URL,"scott","tiger");
         	PreparedStatement ps=con.prepareStatement("select * from topic279");
         	ResultSet rs=ps.executeQuery();
         	while(rs.next()){
         		%>
         		<option value='<%=rs.getInt(1)%>'> <%=rs.getString(2)%></option>
         	<%
         	}
  			if(con!=null&&!con.isClosed()){
  				con.close();
  			}
  			if(ps!=null){
  				ps.close();
  			}
  			if(rs!=null){
  				rs.close();
  			}
         	%>
        </select>

效果图:

 三.完成单个新闻的删除

思路:由于删除是根据删除所有数据不相同的列,所以要取一行的唯一性的那一列,所以最适合的就是id(因为id只会存在一次)

代码:

 在删除之前就从主页面传入id到方法中,让方法来判断要删除的数据的id

<%
	//根据键取值=根据name取到value值 
	String tid=request.getParameter("nid");
	//jdbc 根据
	String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	String CNAME="oracle.jdbc.driver.OracleDriver";
	Class.forName(CNAME);
	
	//创建连接
	Connection con=DriverManager.getConnection(URL, "scott", "tiger");
	//定义sql语句
	String sql="delete News where nid="+tid;
	//获取执行对象
	PreparedStatement ps=con.prepareStatement(sql);
	//开始执行
	int n=ps.executeUpdate();
	//关闭资源
	if(con!=null&&!con.isClosed()){
		con.close();
	}
	if(ps!=null){
		ps.close();
	}
	//判断
	if(n>0){
		//删除成功
		out.print("<script>alert('删除成功!!!');location.href='admin.jsp';</script>");
	}else{
		//删除失败
		out.print("<script>alert('删除失败!!!');location.href='admin.jsp';</script>");
	}
%>

删除完并且提示用户删除 成功/失败 并且跳回主页面

效果图:

删除前:

 删除中:

 删除后:

 四.完成新闻的查看(阅读)

思路:在主页面传入id让在阅读页面判断是所需查看的新闻,在阅读页面查看所需查看新闻的全部信息,依次赋值到标签

代码:

 用a标签使用户点击新闻即可查看

<%
	//接收来自直接面admin的nid
	String nid=request.getParameter("nid");
	//单个查询 找到其对应的信息
	String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	String CNAME="oracle.jdbc.driver.OracleDriver";
	Class.forName(CNAME);
	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 naddtime="";
			while(rs.next()){
				ntitle=rs.getString(3);
				nauthor=rs.getString(4);
				ncontent=rs.getString(6);
				naddtime=rs.getString(8);
			}
			
%>

依次赋值到所需标签

 

 

 

点击前

                                                                                                         点击后

 

今天就到这里啦,下次再一起继续完善新闻系统!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值