一、模糊查询
这边我们以实现根据下拉框的列来实现模糊查询
首先我们要根据name值拿到下拉框所选中的value值
//获得下拉框的值 String bb=request.getParameter("下拉框的name值");
然后我们要拿到根据name值拿到文本框的值
//接收title String title=request.getParameter("文本框的name的值");
然后定义基本的jdbc连接等
//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语句,这边定义要做一个小判断
//定义SQL语句 String sql="select nid,ntitle,nauthor from news280"; if(bb!=null){ sql+=" where "+bb+" like '%"+title+"%'";//where之前一定要空格 }
最后就是获得执行对象然后赋值
做到这里我们会发现有一点小bug文本框没有内容是会查不到全部而且拿到的文本框会乱码
解决措施
if(title==null){ title="";//相当于查询全部 } //破死重组 title=new String(title.getBytes("iso-8859-1"),"utf-8");
二、 评论
我们实现一个简单的新闻评论,思路:当管理员点击进去后把id传到评论页面进行绑值然后显示出之前的评论,其次当用户没有评论会提示。
//接收主界面传过来的nid //接收nid 根据键拿到值 String nid=request.getParameter("nid"); //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 * from news280 where nid="+nid; //获得执行对象 PreparedStatement ps=con.prepareStatement(sql); //获得结果集 ResultSet rs=ps.executeQuery(); //三个变量 扩大作业域 String title=""; String author=""; String addtime=""; String content=""; int count=0; //循环遍历 if(rs.next()){ //赋值 title=rs.getString(3); author=rs.getString(4); content=rs.getString(6); addtime=rs.getString(8); count=rs.getInt(9); }
这边就把点击量一起做了,当用户点击此页面时点击量就会自动加1。
四、include指令
include指令主要是封装一些重复的代码
比如:
<div id="friend"> <h1 class="friend_t"> <img src="/s5/images/friend_ico.gif" alt="合作伙伴" /> </h1> <div class="friend_list"> <ul> <li> <a href="#">中国政府网</a> </li> <li> <a href="#">中国政府网</a> </li> <li> <a href="#">中国政府网</a> </li> <li> <a href="#">中国政府网</a> </li> <li> <a href="#">中国政府网</a> </li> <li> <a href="#">中国政府网</a> </li> <li> <a href="#">中国政府网</a> </li> </ul> </div> </div>
使用:
<%@include file="../fonta.jsp" %>
如果不是同及则需要../返回