JavaWeb06模糊查询&评论&指令

一、模糊查询

文本框手动输入某个关键字点击查询,然后就会显示出包含此关键字的新闻

实现操作如下:

form action="/web5/news/admin.jsp" method="post">
    标题:
    
  
    
    <% //接收title String title=request.getParameter("title"); if(title==null){ title="";//相当于查询全部 } //破碎重组 title=new String(title.getBytes("iso-8859-1"),"utf-8"); //jdbc连接oracle 查询所有的新闻 :id 新闻标题 作者 String CNAME="oracle.jdbc.driver.OracleDriver"; String URL="jdbc:oracle:thin:@localhost:1521:orcl"; //加载驱动 Class.forName(CNAME); //创建连接 Connection con=DriverManager.getConnection(URL, "scott", "tiger"); //定义sql语句 String sql="select nid,ntitle,nauthor from news280 where ntitle like '%"+title+"%' order by nid desc"; //out.print(sql); //获得执行对象 PreparedStatement ps=con.prepareStatement(sql); //获得结果集 ResultSet rs=ps.executeQuery(); //循环遍历 while(rs.next()){ %>
  • <%=rs.getString(2) %> 作者:<%=rs.getString(3) %>     修改      删除
  • <% } //关闭资源 if(con!=null&&!con.isClosed()){ con.close(); } if(ps!=null){ ps.close(); } if(rs!=null){ rs.close(); } %>

二、评论以及删除

对该新闻的评论进行发表或者删除

实现操作如下:

<%

	//接收pid 根据键拿到值
	String pid = request.getParameter("pid");
	String nid = request.getParameter("nid");
	//jdbc删除 delete from pl280 where pid =?
	 String CNAME="oracle.jdbc.driver.OracleDriver";
  	 String URL="jdbc:oracle:thin:@localhost:1521:orcl";
  	 //加载驱动
  	 Class.forName(CNAME);
  	 //创建连接
  	 Connection con=DriverManager.getConnection(URL, "scott", "tiger");
  	 //定义sql语句
  	 String sql="delete from pl280 where pid="+pid;
  	 //获得执行对象
  	 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("/s4/news/read.jsp?nid="+nid);
  	 }
  	 else{
  		 //删除失败
  		 out.print("");
  	 }
  	 
  	 
  	 
%>




<% 
		//设置编码方式
		request.setCharacterEncoding("utf-8");
		//接收表单提交过来的值
		String nid = request.getParameter("nid");
		String cip = request.getParameter("cip");
		String cauthor = request.getParameter("cauthor");
		String ccontent = request.getParameter("ccontent");
		String caddtime = 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");
		String sql = "select nvl(max(pid),0) from pl280";
		PreparedStatement ps = con.prepareStatement(sql);
		ResultSet rs = ps.executeQuery();
		int pid  = 0;//扩大作用域
		if(rs.next()){
			pid = rs.getInt(1)+1;//最大序号+1
		}
		//实现增加=插入操作
				sql ="insert into pl280(pid,nid,pauthor,pip,pcontent,paddtime) values(?,?,?,?,?,?)";
				//执行sql语句
				ps = con.prepareStatement(sql);
				//给占位符赋值
				ps.setInt(1, pid);
				ps.setInt(2,Integer.parseInt(nid));
				ps.setString(3,cauthor);
				ps.setString(4,cip);
				ps.setString(5,ccontent);
				ps.setString(6, caddtime);
				//获得影响行数
				int n = ps.executeUpdate();
				//关闭资源
				if(con!=null&&!con.isClosed()){
					con.close();
				}
				if(ps!=null){
					ps.close();
				}
				if(rs!=null){
					rs.close();
				}
				//做判断
				if(n>0){
					//说明发表成功
					//阅读界面
					response.sendRedirect("read.jsp?nid="+nid);
					
				}else{
					//说明发表失败
					out.print("");
				}
				
%>

三、include包含指令

将所有类的相同代码封装在一个类里运用include指令调用

<%@include file="类名.js'%>

你可能感兴趣的:(eclipse)