新闻系统之新闻维护+主题维护+模糊查询

继上一篇文章之后的后续

新闻系统之新闻维护有以下几点:

1、添加主题

a、在admin.jsp界面,找到添加主题的标签跳转至add_sub.jsp界面。

代码展示:

<li><a href="newspages/add_sub.jsp">添加主题</a></li>

add_sub的源代码展示:

<%@page import="java.sql.ResultSet"%>
<%@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"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加主题--管理后台</title>
<link href="../CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<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 out</a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="news_add.jsp">添加新闻</a></li>
      <li><a href="../admin.jsp">编辑新闻</a></li>
      <li><a href="#">查找新闻</a></li>
      <li><a href="topic_add.jsp">添加主题</a></li>
      <li><a href="#">编辑主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <h1 id="opt_type"> 添加主题: </h1>
    <form action="doadd_stu.jsp" method="post">
      <p>
        <label> 主题: </label>
       	  <input name="nauthor" type="text" 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>
</html>

b、然后在add_sub.jsp界面跳转到doadd_sub.jsp界面,然后先接收添加的主题连接数据库

ps:因为oracle数据库编号不自增,所有我们先定义一个编号为1,然后查询到主题的数据库

如果有结果集就找到最大的编号在原有的编号上加一,为下一个编号。

c、然后连接到数据库添加主题名成功就跳转至主界面admin界面。

doadd_sub源代码展示:

<%
	request.setCharacterEncoding("utf-8");
	String tname = request.getParameter("nauthor");
	Class.forName("oracle.jdbc.driver.OracleDriver");
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	Connection con = DriverManager.getConnection(url, "scott", "1234");
	int nexTid = 1;
	PreparedStatement ps = con.prepareStatement("select max(tid) from subject");
	ResultSet rs = ps.executeQuery();
	if (rs.next()) {
		nexTid = rs.getInt(1) + 1;
	}
	
	ps = con.prepareStatement("insert into subject values(?,?)");
	ps.setInt(1, nexTid);
	ps.setString(2, tname);
	int i = ps.executeUpdate();
	if(i > 0){
		out.print("<script>alert('添加成功');location.href='../admin.jsp'</script>");
	}else{
		out.print("<script>alert('添加失败');location.href='add_sub.jsp'</script>");
	}
%>

2、修改主题

a、在admin.jsp界面,找到添加主题的标签跳转至update_sub.jsp界面。

b、首先需要绑定新闻主题(下拉框)然后点击选中哪个主题就修改哪个主题。

 <form action="doupdate_sub.jsp" method="post">
    主题:<select name="tid">
    <%
    	Class.forName("oracle.jdbc.OracleDriver");
    	String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
    	Connection con = DriverManager.getConnection(url, "scott", "1234");
    	PreparedStatement ps=con.prepareStatement("select * from subject");
    	ResultSet rs=ps.executeQuery();
    	while(rs.next()){
    %>
    <option value="<%=rs.getInt(1)%>"><%=rs.getString(2) %></option>
    <%
    	}
    %>

c、然后因为我们的主题编号在我们的news数据库中为外键,所以我们要先找到主题编号才能找到主题名称。源代码如下:

<div id="opt_area">
    <h1 id="opt_type"> 修改主题: </h1>
    <form action="doupdate_sub.jsp" method="post">
    主题:<select name="tid">
    <%
    	Class.forName("oracle.jdbc.OracleDriver");
    	String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
    	Connection con = DriverManager.getConnection(url, "scott", "1234");
    	PreparedStatement ps=con.prepareStatement("select * from subject");
    	ResultSet rs=ps.executeQuery();
    	while(rs.next()){
    %>
    <option value="<%=rs.getInt(1)%>"><%=rs.getString(2) %></option>
    <%
    	}
    %>

d、然后再《》修改为》的文本框中写下值后,跳转至doupdate_sub.jsp界面,然后接收要修改的主题编号和主题名,然后连接数据库,根据主题编号修改主题名。

doupdate_sub源代码:

<%@page import="jdk.nashorn.internal.ir.SetSplitState"%>
<%@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");
	//接收要修改的编号
	int tid=Integer.valueOf(request.getParameter("tid"));
	String tname=request.getParameter("tname");
	Class.forName("oracle.jdbc.driver.OracleDriver");
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	Connection con = DriverManager.getConnection(url, "scott", "1234");
	PreparedStatement ps=con.prepareStatement("update subject set tname=? where tid="+tid);
	ps.setString(1, tname);
	int i=ps.executeUpdate();
	if(i>0){
		out.print("<script>alert('修改成功');location.href='../admin.jsp'</script>");
	}else{
		out.print("<script>alert('修改失败');location.href='update_sub.jsp'</script>");
	}
%>

3、新闻的模糊查询

a、首先模糊查询就是在主页面的文本框点击输入关键字,找到标题里包含关键字的数据,然后界面跳转至本界面也就是admin界面,

b、然后获取模糊查询的关键字,

ps:第一次进入主界面时是不需要模糊查询的,当我们第二次进入才需要模糊查询,所以我们要确认他是否是第一次进入主界面。所以当我们第一次进去时我们的模糊查询的关键字是没有值的,没有值的话就获取不到模糊查询的关键字,所以会得到null;

c、当关键字不为空时我们就写下模糊查询的sql语句,然后在写下判断如果关键字等于空,我们的关键字也就为空,就正常查询所有。

代码展示:

</form>
			<ul class="classlist">
				<%
					//设置编码-设置请求对象的编号
					request.setCharacterEncoding("utf-8");
					//获取模糊查询的关键字
					String str = request.getParameter("str");
					if (str == null) {
						str = "";
					}
					String sql = "select * from news where ntitle like '%" + str + "%' order by nid desc";

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值