目录
一.完成主页面新闻的展示
二.完成主题下拉框的绑定
三.完成单个新闻的删除
四.完成新闻的查看(阅读)
五.完成新闻的修改
一.完成主页面新闻的展示
思路:根据数据库查询的新闻字段显示到主页面
代码:
<%
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) %>       
<a href='update.jsp?nid=<%=rs.getInt(1)%>'>修改</a>    
<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);
}
%>
依次赋值到所需标签
点击前
:
点击后
今天就到这里啦,下次再一起继续完善新闻系统!!!