JavaWeb——新闻的数据维护(增删改查)

2022-11-18 20:23:56 浏览数 (1)

//首先这是一个还没有赋值的添加的网页页面(add_news)

代码语言:javascript复制
​
//这个是add_news页面代码
<body>
<div id="header">
  <div id="welcome">欢迎使用新闻管理系统!</div>
  <div id="nav">
    <div id="logo"><img src="../images/logo.jpg" alt="新闻中国" /></div>
    <div id="a_b01"><img src="../images/a_b01.gif" alt="" /></div>
  </div>
</div>
<div id="admin_bar">
  <div id="status">管理员: 登录  &#160;&#160;&#160;&#160;<a href="login.jsp"><%=request.getParameter("wid") %></a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="add_news.jsp?wid=<%=request.getParameter("wid")%>">添加新闻</a></li>
      <li><a href="../admin.jsp?wid=<%=request.getParameter("wid")%>">编辑新闻</a></li>
      <li><a href="../admin.jsp?wid=<%=request.getParameter("wid")%>">查找新闻</a></li>
      <li><a href="add_sub.jsp?wid=<%=request.getParameter("wid")%>">添加主题</a></li>
      <li><a href="update_sub.jsp?wid=<%=request.getParameter("wid")%>">编辑主题</a></li>
      <li><a href="../dodele.jsp?wid=<%=request.getParameter("wid")%>">删除主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <h1 id="opt_type"> 添加新闻: </h1>
    <form action="doadd_news.jsp?wid=<%=request.getParameter("wid") %>" method="post">
      <p>
        <label> 主题 </label>
        <select name="ntid">
         <%
         Class.forName("oracle.jdbc.driver.OracleDriver");
 		//2、连接数据库
 		String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
 		Connection con = DriverManager.getConnection(url, "scott", "tiger");
 		//3、//创建对象
 		PreparedStatement ps = con.prepareStatement("select * from subject");
        //4.执行sql语句
 		ResultSet rs=ps.executeQuery();
        //5.处理结果
 		while(rs.next()){
 			%>
 			<option value="<%=rs.getInt(1)%>"><%=rs.getString(2) %></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>

//以下代码看个人需要(不影响)
<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </div>
<div id="footer">
  <p class="">24小时客户服务热线:010-68988888  &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a> &#160;&#160;&#160;&#160;  新闻热线:010-627488888<br />
    文明办网文明上网举报电话:010-627488888  &#160;&#160;&#160;&#160;  举报邮箱:<a href="#">jubao@jb-aptech.com.cn</a></p>
  <p class="copyright">Copyright &copy; 1999-2009 News China gov, All Right Reserver<br />
    新闻中国   版权所有</p>
</div>
</body>

​

//doadd_news是一个已经可以接收到值得网页(接收add_news文本框的值)

代码语言:javascript复制
<%
request.setCharacterEncoding("utf-8");//防止乱码
//接收添加界面的数据
int tid=Integer.valueOf(request.getParameter("ntid"));
String ntitle=request.getParameter("ntitle");
String nzz=request.getParameter("nauthor");
String nzy=request.getParameter("nsummary");
String nnr=request.getParameter("ncontent");
Class.forName("oracle.jdbc.driver.OracleDriver");
	//2、连接数据库
	String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
	Connection con = DriverManager.getConnection(url, "scott", "tiger");
	//3、创建个对象,用来执行sql语句
	int nextNid=1;
	PreparedStatement ps=con.prepareStatement("select max(nid) from news");//给已经添加进去的值根据编号排序
    //执行sql语句
	ResultSet rs=ps.executeQuery();
    //处理结果
	if(rs.next()){
		nextNid=rs.getInt(1) 1;
	}
    //给占位符赋值
	ps=con.prepareStatement("insert into news values(?,?,?,?,?,sysdate,0,?)");
	ps.setInt(1, nextNid);
	ps.setInt(2, tid);
	ps.setString(3, ntitle);
	ps.setString(4, nzz);
	ps.setString(5, nnr);
	ps.setString(6, nzy);
	int i=ps.executeUpdate();
	if(i>0){
        //成功就返回主页面
		out.print("<script>alert('添加成功');location.href='../admin.jsp'</script>");
	}else{
        //失败就返回当前页面
		out.print("<script>alert('添加失败');location.href='doadd_news.jsp'</script>");
	}
%>

//以下为效果图仅供参考:

//主页面中的删除添加点击事件(confirm进行提示)

代码语言:javascript复制
<%
    //获取编号,根据编号来进行删除
	String id=request.getParameter("nid");
	int nid=Integer.valueOf(id);
       //连接数据库
	Class.forName("oracle.jdbc.driver.OracleDriver");
	String url="jdbc:oracle:thin:@localhost:1521:orcl";
	Connection con=DriverManager.getConnection(url, "scott", "tiger");
	PreparedStatement ps=con.prepareStatement("delete newst where nid=" nid);
    //执行sql语句
	int i=ps.executeUpdate();
    //处理结果集
	if(i>0){
		out.print("<script>alert('删除成功!!');location.href='admin.jsp'</script>");
	}else{
		out.print("<script>alert('删除失败!!');location.href='admin.jsp'</script>");
	}
%>

//删除的修改图以删除主题为例

//接下来是修改(需要upda_news 和doupdate_news)以下代码是douadate_news的

upda_news与add_news一样可以参考一下。

代码语言:javascript复制
<%
//修改与添加很像,最不一样就是sql语句
request.setCharacterEncoding("utf-8");//避免乱码
//接收修改(upda_new)界面的数据进行修改(doupdate_news)
int nid=Integer.valueOf(request.getParameter("nid"));
int tid=Integer.valueOf(request.getParameter("ntid"));
String ntitle=request.getParameter("ntitle");
String nzz=request.getParameter("nauthor");
String nzy=request.getParameter("nsummary");
String nnr=request.getParameter("ncontent");
Class.forName("oracle.jdbc.driver.OracleDriver");
	//2、连接数据库
	String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
	Connection con = DriverManager.getConnection(url, "scott", "tiger");
	//3、创建对象,用来执行sql语句
	PreparedStatement ps=con.prepareStatement("update news set tid=?,ntitle=?,nzz=?,ncontent=?,nlook=?,nzy=? where nid=" nid);
	ps.setInt(1, tid);
	ps.setString(2, ntitle);
	ps.setString(3, nzz);
	ps.setString(4, nnr);
	ps.setInt(5, 0);
	ps.setString(6, nzy);
	int i=ps.executeUpdate();
    //判断结果集
	if(i>0){
		out.print("<script>alert('修改成功');location.href='../admin.jsp'</script>");
	}else{
		out.print("<script>alert('修改失败');location.href='dopudate_news.jsp'</script>");
	}
%>

//查询以模糊查询为例

//与上面的代码差不多所以仅提供效果图。

0 人点赞