1.完成主页面新闻的展示主题下拉框的展示
代码如下:
<form action="doadd.jsp" method="post">
<p>
<label> 主题 </label>
<select name="ntid">
<%
//jbdc连接Oracle 查询新闻的信息:新闻编号 标题 作者
//两个字符串
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "tigers");
//定义sql语句
String sql="select *from topic270 order by tid";
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//获得结果集
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();
}
%>
<option value='16'> 其他 </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>
2.完成单个新闻的删除
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%
//接收nid request
String nid=request.getParameter("nid");
//jbdc连接Oracle 查询新闻的信息:新闻编号 标题 作者
//两个字符串
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "tigers");
//定义sql语句
String sql="delete from news where nid="+nid;
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//开始执行
int n=ps.executeUpdate();
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
//做判断
if(n>0){
//说明删除成功
response.sendRedirect("/W4/news/admin.jsp");
}
else{
//说明删除失败
out.print("<script>alert('删除失败');location.href='admin.jsp';</script>");
}
%>
3.完成新闻的查看(阅读)
<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>
<%
//接收从主界面admin.jsp传递过来的nid
String nid=request.getParameter("nid");
//思路:根据nid拿到其对应的信息
//jbdc连接Oracle 查询新闻的信息:新闻编号 标题 作者
//两个字符串
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "tigers");
//定义sql语句
String sql="select *from news where nid="+nid;//单个查询
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//获得结果集
ResultSet rs=ps.executeQuery();
//扩大作用域
String ntitle="";//标题
String nauthor="";//作者
String nsummary="";//时间
String ncontent="";//内容
//遍历结果集
while(rs.next()){
ntitle=rs.getString(3);
nauthor=rs.getString(4);
nsummary=rs.getString(6);
ncontent=rs.getString(7);
}
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>
4.关于新闻的修改
<%@page import="java.util.Date"%>
<%@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");
//接收表单的值 根据name取value值
String nid=request.getParameter("nid");//没传值
String ntid=request.getParameter("ntid");
String ntitle=request.getParameter("ntitle");
String nauthor=request.getParameter("nauthor");
String nsummary=request.getParameter("nsummary");
String ncontent=request.getParameter("ncontent");
String naddtime=new Date().toLocaleString();//系统当前时间
//两个字符串
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="update news279 set tid=?,ntitle=?,nauthor=?,nsummary=?,ncontent=?,naddtime=? where nid=?";
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//要给占位符赋值 7个
ps.setInt(1, Integer.parseInt(ntid));//String -->int
ps.setString(2, ntitle);
ps.setString(3, nauthor);
ps.setString(4, nsummary);
ps.setString(5, ncontent);
ps.setString(6, naddtime);
ps.setInt(7, Integer.parseInt(nid));
//开始执行
int n=ps.executeUpdate();//影响行数
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
//判断
if(n>0){
//修改成功
response.sendRedirect("/W4/news/admin.jsp");
}else{
//修改失败
out.print("<script>alert('修改失败');location.href='update.jsp?nid="+nid+"';</script>");
}
%>