JavaWeb06(新闻项目的完善)

25 篇文章 0 订阅
该博客介绍了如何在网页中实现新闻标题的模糊查询功能,通过用户输入和下拉菜单选择查询条件,动态生成SQL语句进行查询。同时,展示了如何添加新闻评论功能,每个新闻可以有与其关联的评论,并实现了评论数量的自动更新。此外,还提到了利用jsp和数据库操作进行页面交互的关键代码。
摘要由CSDN通过智能技术生成

目录

一.完成对新闻标题的模糊查询

二.完成对新闻的评论(增加与删除)

三.指令包含

-----------------------------------------------------------------------------------------------------

一.新闻的模糊查询

思路:

1、增加一个文本框 与按钮 放入表单中 提交到自身所在的页面

2.接收文本框的name值

3、在查询所有的时候加入sql语句 并加入条件(之前获取的文本框的name值)

代码:

<form action="admin.jsp" method="post">
  <select name="bt">
  		<option value='请选择'>请选择</option>
  		<option value='作者'>作者</option>
  		<option value="标题">标题</option>
  </select>
  <input type="text" name="bk" value="">
  <input type="submit" value="查询">
  </form>

<%		//获取下拉框与文本框的值
    		String bt=request.getParameter("bt");//下拉框
   			String bk=request.getParameter("bk");//文本框
   			
   			if(bk==null){
   				bk="";
   			}
   			//破碎重组
   			bk=new String(bk.getBytes("iso-8859-1"),"utf-8");
			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 ntitle like '%"+bk+"%' order by nid desc";
			PreparedStatement ps=con.prepareStatement(sql);
			out.print(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) %>&#160;&#160;&#160;&#160;&#160;&#160;&#160;
				<a href='update.jsp?nid=<%=rs.getInt(1)%>'>修改</a>&#160;&#160;&#160;&#160;
				<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();
			}
			%>

效果图:

查询前:

 查询后:

二.新闻的评论

思路:在数据库中增加一个表,并且跟新闻表绑定 使每条新闻都有自己的评论

在增加并查询

代码:

<%
	//接收来自直接面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="";
	int ncount=0;
			while(rs.next()){
				ntitle=rs.getString(3);
				nauthor=rs.getString(4);
				ncontent=rs.getString(6);
				naddtime=rs.getString(8);
				ncount=rs.getInt(9);
			}
			sql="update News set ncount=nvl(ncount,0)+1 where nid="+nid;
         	ps=con.prepareStatement(sql);
         	int n=ps.executeUpdate();
%>

 

效果图:

 

 

三、指令包含

关键代码:<%@include  file="foota.jsp"%> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值