一、主页面新闻展示
<!-- 需求:完成后台主页面的新闻显示绑定 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)+"      <a href='admin_editNews.jsp?nid="+rs.getInt(1)+"'>修改</a>      <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>");
}
%>
三、修改
<%@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>");
}
%>
四、主题绑定
<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>
方法二
//需求: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>