绑定&删除&查看&修改

本文档展示了如何使用Java实现新闻页面的主菜单下拉选项动态加载,包括新闻主题选择、单个新闻的删除操作,以及新闻详情的查看和编辑功能。通过实例代码,开发者可以理解如何连接Oracle数据库并进行SQL查询,以及如何处理表单提交和数据更新。
摘要由CSDN通过智能技术生成

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>");
  }
  
 
 
 
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值