index客户主页+页面分页的模糊查询 and add知识

一.首先回望一下,我们经常会在JSP学习中遇到的问题有必要掌握的 a little 知识。

1.如何修改默认的编码方式?

1)首先点击eclipse上方工具栏的window,选择preferences

 

 2)在左侧的搜索框中输入jsp,选择jsp file 然后在右侧页面修改字符编码就OK啦。

 

 

2.JSP常见的错误代号

1)404(找不到此网页)

 

     排错方法:检查Web应用是否正确部署

    or  检查URL,使用正确的URL(文件名称与路径要写对

2)505(源码有问题)

 

 

 3.在JSP文件的编写过程中,共有三种注释方法

1)HTML的注释:<!-- html注释--> (在页面中用户可以查看的到

2)JSP注释:<%-- JSP注释--%> (在页面中用户可以查看不到

3)在JSP脚本中注释: <% //单行注释 %> <%  /*多行注释 */ %>

 

4. 在运行Web程序时,常犯的一些错误及解决方法

1)无法显示网页

  检查Tomcat服务能否正确运行:http://localhost:8080/

  如果控制台上显示Tomcat服务已启动,观察端口号是否与预期端口号一致 


二. 客户端主页面--index.jsp(代码如下)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>新闻中国</title>
<link href="CSS/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
  <div id="top_login">
    <label> 登录名 </label>
    <input type="text" id="uname" value="" class="login_input" />
    <label> 密&#160;&#160;码 </label>
    <input type="password" id="upwd" value="" class="login_input" />
    <input type="button" class="login_sub" value="登录" onclick="login()"/>
    <label id="error"> </label>
    <img src="images/friend_logo.gif" alt="Google" id="friend_logo" /> </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>
    <!--mainnav end-->
  </div>
</div>
<div id="container">
  <div class="sidebar">
    <h1> <img src="images/title_1.gif" alt="国内新闻" /> </h1>
    <div class="side_list">
      <ul>
       </ul>
    </div>
  </div>
  <div class="main">
    <div class="class_type"> <img src="images/class_type.gif" alt="新闻中心" /> </div>
    <div class="content">
      <ul class="class_date">
        <li id='class_month'> 
        	<%
        	Class.forName("oracle.jdbc.OracleDriver");
        	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
        	Connection con = DriverManager.getConnection(url, "scott", "tiger");
        	//查询主题
        	PreparedStatement ps = con.prepareStatement("select * from subject");
        	ResultSet rs = ps.executeQuery();
        	while(rs.next()){
        	%>
        	<a href='index.jsp?tid=<%=rs.getInt(1)%>'><b> <%=rs.getString(2) %> </b></a>
        	<%} %> 
         </li>
      </ul>
      <ul class="classlist">
      	<%
      		//接收新闻主题
      		String id = request.getParameter("tid");
      		String countSql = "select count(*) from news";
      		String pageSql = "select * from (select a.*,rownum mid from news a)b where mid>=? and mid<=?";
      		int tid = 1;
      		if(id!=null){//要执行 根据主题查询 的 分页
      			tid = Integer.valueOf(id);
      			countSql = "select count(*) from news where tid="+tid;
      			pageSql = "select * from (select a.*,rownum mid from news a where tid="+tid+")b where mid>=? and mid<=?";
      		}
      	
      		//查询新闻总条数
      		ps = con.prepareStatement(countSql);
      		rs = ps.executeQuery();
      		int count = 0;
      		if(rs.next()){
      			count = rs.getInt(1);
      		}
      		
      		//获取页面
      		String index = request.getParameter("pageIndex");
      		int pageIndex = 1;
      		if(index!=null){
				pageIndex = Integer.valueOf(index);      			
      		}
      		//查询新闻
      		int pageSize = 5;
      		//求出最大页码
      		int maxPage = count/pageSize;
      		if(count%pageSize != 0){
      			maxPage++;
      		}
      		int start = (pageIndex-1)*pageSize+1;
      		int end = pageIndex*pageSize;
      		ps = con.prepareStatement(pageSql);
      		ps.setInt(1, start);
      		ps.setInt(2, end);
      		rs = ps.executeQuery();
      		while(rs.next()){
      	%>
        <li>
        	<a href='newspages/news_add.html'><%=rs.getString("ntitle") %> </a>
        	<span> <%=rs.getDate("ndate") %> </span>
        </li>
        <li class='space'></li>
        <%} %>
        <p align="right"> 
        	<a href="index.jsp<%
        		if(id!=null){
        			out.print("?tid="+tid);
        		}
        	%>">首页</a> 
        	<a href="index.jsp?pageIndex=<%=pageIndex>1?pageIndex-1:1%><%
        		if(id!=null){
        			out.print("&tid="+tid);
        		}
        	%>">上一页</a>
        		&nbsp;当前页数:[<%=pageIndex %>/<%=maxPage %>]&nbsp; 
        	<a href="index.jsp?pageIndex=<%=pageIndex<maxPage?pageIndex+1:maxPage%><%
        			if(id!=null){
        				out.print("&tid="+tid);
        			}
        	%>">下一页</a> 
        	<a href="index.jsp?pageIndex=<%=maxPage%><%
        		if(id!=null){
        			out.print("&tid="+tid);
        		}
        	%>">末页</a> 
        </p>
      </ul>
    </div>
    <div class="picnews">
      <ul>
        <li> <a href="#"><img src="images/Picture1.jpg" width="249" alt="" /> </a><a href="#">幻想中穿越时空</a> </li>
        <li> <a href="#"><img src="images/Picture2.jpg" width="249" alt="" /> </a><a href="#">国庆多变的发型</a> </li>
        <li> <a href="#"><img src="images/Picture3.jpg" width="249" alt="" /> </a><a href="#">新技术照亮都市</a> </li>
        <li> <a href="#"><img src="images/Picture4.jpg" width="249" alt="" /> </a><a href="#">群星闪耀红地毯</a> </li>
      </ul>
    </div>
  </div>
</div>
<div id="friend">
  <h1 class="friend_t"> <img src="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>
<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>

 三.分页的模糊查询(代码如下)

<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>
<%
	//判断用户是不是为空
	Object obj = session.getAttribute("a");
	if(obj==null){
		out.print("<script>alert('老铁你妹登录,请登录');location.href='login.jsp'</script>");
	}
%>
<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">管理员: <%=session.getAttribute("a") %>  &#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="newspages/add_news.jsp">添加新闻</a></li>
      <li><a href="#">编辑新闻</a></li>
      <li><a href="#">查找新闻</a></li>
      <li><a href="newspages/add_sub.jsp">添加主题</a></li>
      <li><a href="newspages/upsub.jsp">编辑主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <script language="javascript">
	function clickdel(){
		return confirm("删除请点击确认");
	}
	
</script>
	<form action="admin.jsp" align="center">
		<input type="text" name="str">
		<input type="submit" value="查询">
	</form>
    <ul class="classlist">
    	<%
    		//获取模糊查询的关键字
    		String str = request.getParameter("str");
    		if(str==null){
    			str = "";
    		}
    		
    		//连接数据库,查询新闻新
    		Class.forName("oracle.jdbc.OracleDriver");
			String url = "jdbc:oracle:thin:@localhost:1521:orcl";
			Connection con = DriverManager.getConnection(url, "scott", "tiger");
			
    		//求出数据总条数
    		PreparedStatement ps = con.prepareStatement("select count(*) from news where ntitle like '%"+str+"%'");
    		ResultSet rs = ps.executeQuery();
    		int count = 0;
    		if(rs.next()){
    			count = rs.getInt(1);
    		}
    		
    		
    		int pageIndex = 1;//页码
    		//接收页码
    		String index = request.getParameter("pageIndex");
    		if(index!=null){//如果接收到页面,就给页面pageIndex赋值
    			pageIndex = Integer.valueOf(index);
    		}
    		int pageSize = 5;//每页的数据条数,每页5条数据
    		
    		//计算最大页码
    		int maxPage = count/pageSize;   
    		//判断能不能整除,不能整除说明还有不够一页的数据
    		if(count%pageSize!=0){
    			maxPage++;
    		}
    		
    		int start = (pageIndex-1)*pageSize+1;
    		int end = pageIndex*pageSize;
    		String sql = "select * from(select a.*,rownum mid from news a where ntitle like '%"+str+"%')b where mid>=? and mid<=?";
    		
			ps = con.prepareStatement(sql);
			ps.setInt(1,start);
			ps.setInt(2, end);
			rs = ps.executeQuery();
			while(rs.next()){
    	%>
      <li>
      	<a href="newspages/read_news.jsp?nid=<%=rs.getInt(1)%>">
      		<%=rs.getString("ntitle") %>
      	</a>
      <span> 作者:
        <%=rs.getString("nzz") %>                                             
        &#160;&#160;&#160;&#160; <a href='newspages/up_news.jsp?nid=<%=rs.getInt(1)%>'>修改</a> &#160;&#160;&#160;&#160; 
        <a href='dodelnews.jsp?nid=<%=rs.getInt(1) %>' onclick='return clickdel()'>删除</a> </span> </li>
      <li class='space'></li>
      <%} %>
      <p align="right"> 
      		<a href="admin.jsp">首页</a> <a href="admin.jsp?pageIndex=<%=pageIndex>1?pageIndex-1:1%><%
      					if(str!=null){
      						out.print("&str="+str);
      					}
      				%>">上一页</a>
      		&nbsp;当前页数:[<%=pageIndex %>/<%=maxPage %>]&nbsp; 
      		<a href="admin.jsp?pageIndex=<%=pageIndex<maxPage?pageIndex+1:maxPage%><%
      				if(str!=null){
      					out.print("&str="+str);
      				}
      			%>
      		">下一页</a> 
      		<a href="admin.jsp?pageIndex=<%=maxPage%>">末页</a> 
       </p>
    </ul>
  </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>

 唯物主义不一定完全正确,唯心主义不一定完全不正确。没遇见你之前我唯物主义至上,遇见你之后我落入唯心主义的深渊

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隔竹观尘世

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值