Javaweb05(快速入门之主页面新闻展示&删除&查看&修改&主题绑定)

目录

一.主页面新闻展示

 二.删除

三.查看

四.修改 

五. 新闻分类的数据绑定

六.主页面新闻数据绑定


一.主页面新闻展示

​
​
​
<!-- 需求:完成后台主页面的新闻显示绑定  start -->
<%
						//加载驱动
						Class.forName("oracle.jdbc.driver.OracleDriver");
						//建立连接
						Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","123");
						//sql语句
						String sql = "select * from tb_news";
						//将sql语句传入方法返回执行对象
						PreparedStatement ps = conn.prepareStatement(sql);
						//根据执行对象调用方法返回结果集对象
						ResultSet rs = ps.executeQuery();
						//遍历结果集
						while(rs.next()){
							out.println("<li> <a href='admin_newsDetail.jsp?nid="+rs.getInt(1)+"'>"+rs.getString(3)+"</a> <span> 作者:"+rs.getString(4)+" &#160;&#160;&#160;&#160; <a href='admin_editNews.jsp?nid="+rs.getInt(1)+"'>修改</a> &#160;&#160;&#160;&#160; <a href='javascript:void(0)' onclick='clickdel(\""+rs.getInt(1)+"\")'>删除</a></span> </li>");
						}
						
					%>

​

​

​

 二.删除

 <%
    	//该页面的作用:获取admin.jsp点击删除时的新闻编号获取  然后数据库交互 将其编号的新闻进行删除
    	
    	
    	//1.  设置相关的编码格式
    	request.setCharacterEncoding("utf-8");
    
    	//2.获取location.href传递过来的参数编号(新闻编号)
    	String id = request.getParameter("nid");
    	//新闻编号  数据库   number   需要转换
    	int nid = 0;
    	if(null!=id){
    		nid = Integer.valueOf(id);
    	}
    	//3.数据库交互  根据新闻编号  进行删除新闻
    	//加载驱动
		Class.forName("oracle.jdbc.driver.OracleDriver");
		//建立连接
		Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","123");
		//sql语句
		String sql = "delete from tb_news where nid = ?";
		//将sql语句传入方法返回执行对象
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setInt(1, nid);
		//返回所影响的行数
		int n = ps.executeUpdate();
    	//4.判断:删除成功----admin.jsp   删除不成功----admin.jsp
    	if(n>0){
    		out.println("<script>alert('删除成功');location.href='admin.jsp'</script>");
    	}else{
    		out.println("<script>alert('删除失败');location.href='admin.jsp'</script>");
    	}
    	
    
    
    
    
    %>

三.查看

				<div class="content">
					<!-- 该区域实现新闻详情显示  start -->
					
					<%
						//定义所谓变量(新闻标题,发布时间,点击量,新闻内容等等)
						String ntitle = "";//标题
						String ndate = "";//发布时间
						String nauthor = "";//作者
						String ncontent = "";//内容
						int ncount = 0;//点击量
					
						//1.设置编码
						request.setCharacterEncoding("utf-8");
						//2.获取id
						String id = request.getParameter("nid");
						//转换
						int nid = 0;
						if(null!=id){
							nid = Integer.valueOf(id);
						}
						//3.获取数据
						//加载驱动
						Class.forName("oracle.jdbc.driver.OracleDriver");
						//建立连接
						Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","123");
						//sql语句
						String sql = "select * from tb_news where nid = ?";
						//将sql语句传入方法返回执行对象
						PreparedStatement ps = conn.prepareStatement(sql);
						ps.setInt(1, nid);
						//返回结果集对象
						ResultSet rs = ps.executeQuery();
						//if改造
						if(rs.next()){
							ntitle = rs.getString(3);
							ndate = rs.getString(8);
							nauthor = rs.getString(4);
							ncontent = rs.getString(6);
							ncount = rs.getInt(9);
						}
					%>
				
				
					<ul class="classlist">
						<table width="80%" align="center">
							<tr width="100%">
								<td colspan="2" align="center"><%=ntitle %>
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
								&nbsp;&nbsp;&nbsp; 点击量 <%=ncount %></td>
							</tr>
							<tr>
								<td colspan="2">
									<hr />
								</td>
							</tr>
							<tr>
								<td align="center"><%=ndate %></td>
								<td align="left"><%=nauthor %> </td>
							</tr>
							<tr>
								<td colspan="2" align="center"></td>
							</tr>
							<tr>
								<td colspan="2"> <%=ncontent %> </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>
					<!-- 该区域实现新闻详情显示  stop-->
				</div>

四.修改 

<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	//设置编码
	request.setCharacterEncoding("utf-8");
	//获取参数
 
	//新闻编号(通过input的hidden隐藏域传递过来)
	String id = request.getParameter("nid");
	int nid = 0;
	if (null != id) {
		nid = Integer.valueOf(id);
	}
	//新闻分类编号
	String tid = request.getParameter("ntid");
	int ntid = 0;
	if (null != tid) {
		ntid = Integer.valueOf(tid);
	}
 
	//标题
	String ntitle = request.getParameter("ntitle");
	//作者
	String nauthor = request.getParameter("nauthor");
	//摘要
	String nsummary = request.getParameter("nsummary");
	//内容
	String ncontent = request.getParameter("ncontent");
	//图片不处理
	//获取当前的系统(java  转换--oracle  to_date      oracle  sysdate)
	Date date = new Date();
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	String ndate = sdf.format(date);
	//点击量不处理
 
	//数据库交互
	Class.forName("oracle.jdbc.driver.OracleDriver");
	//建立连接
	Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "123");
	//sql语句
	String sql = "update tb_news set ntid = ? , ntitle = ? , nauthor = ? , nsummary = ? , ncontent = ? , ndate = to_date(?,'yyyy-mm-dd hh24:mi:ss') where nid = ?";
	//将sql语句传入方法返回执行对象
	PreparedStatement ps = conn.prepareStatement(sql);
	//给占位符赋值
	ps.setInt(1, ntid);
	ps.setString(2,ntitle);
	ps.setString(3,nauthor);
	ps.setString(4,nsummary);
	ps.setString(5,ncontent);
	ps.setString(6,ndate);
	ps.setInt(7,nid);
	
	//返回影响的行数
	int n  = ps.executeUpdate();
	
	if(n>0){
		out.println("<script>alert('修改成功');location.href='admin.jsp'</script>");
	}else{
		out.println("<script>alert('修改失败');location.href='admin_editNews.jsp?nid="+nid+"'</script>");
	}
	
	
	
	
	
	
	
%>

五. 新闻分类的数据绑定

1.第一种方式

```jsp
<p>
						<label> 主题 </label>
						<select name="ntid">
					<!-- 新闻分类的数据绑定  start -->
					<%
						//需求:1.完成新闻分类的数据绑定
						//加载驱动
						Class.forName("oracle.jdbc.driver.OracleDriver");
						//建立连接
						Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","123");
						//sql语句
						String sql = "select * from tb_news_theme";
						//传入方法返回执行对象
						PreparedStatement ps = conn.prepareStatement(sql);
						//调用方法返回结果集对象
						ResultSet rs = ps.executeQuery();
						//遍历结果集
						while(rs.next()){
							//out.println(rs.getInt(1)+"     "+rs.getString(2));
						
					%>
						out.println("<option value='<%=rs.getInt(1)%>'><%=rs.getString(2) %></option>")
					<%
						}
					
					%>
						</select>
					</p>

2.第二种方式


```jsp
<p>
						<label> 主题 </label>
						<select name="ntid">
					<!-- 新闻分类的数据绑定  start -->
					<%
						//需求:1.完成新闻分类的数据绑定
						//加载驱动
						Class.forName("oracle.jdbc.driver.OracleDriver");
						//建立连接
						Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","123");
						//sql语句
						String sql = "select * from tb_news_theme";
						//传入方法返回执行对象
						PreparedStatement ps = conn.prepareStatement(sql);
						//调用方法返回结果集对象
						ResultSet rs = ps.executeQuery();
						//遍历结果集
						while(rs.next()){
							out.println("<option value = '"+rs.getInt(1)+"'>"+rs.getString(2)+"</option>");
						}
					%>
						</select>
					</p>
```

六.主页面新闻数据绑定

```JSP
<!-- 需求:完成后台主页面的新闻显示绑定  start -->
				<ul class="classlist">
					<%
						//加载驱动
						Class.forName("oracle.jdbc.driver.OracleDriver");
						//建立连接
						Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","123");
						//sql语句
						String sql = "select * from tb_news";
						//将sql语句传入方法返回执行对象
						PreparedStatement ps = conn.prepareStatement(sql);
						//根据执行对象调用方法返回结果集对象
						ResultSet rs = ps.executeQuery();
						//遍历结果集
						while(rs.next()){
							out.println("<li> <a href='#'>"+rs.getString(3)+"</a> <span> 作者:"+rs.getString(4)+" &#160;&#160;&#160;&#160; <a href='#'>修改</a> &#160;&#160;&#160;&#160; <a href='#' onclick='return clickdel()'>删除</a></span> </li>");
						}
						
					%>
				
				
				
					
					
					<li class='space'></li>
					<p align="right"> 当前页数:[1/3]&nbsp; <a href="#">下一页</a> <a href="#">末页</a> </p>
				</ul>
```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值