//首先补充一个内容(可能前面的有提到):
代码语言:javascript复制 request:请求、作用域在请求对象之间(两个页面之间传递数据)
session:用户级别(整个用户操作页面之间传递数据)
//下面那个代码为用户登录数据维护(代码片段,可结合我前面写的新闻admin代码)。
代码语言:javascript复制<%
//判断用户是不是为空
Object obj = session.getAttribute("a");
if(obj==null){
out.print("<script>alert('你没有登录哦!请登录');location.href='login.jsp'</script>");//如果没有登录就进入主页面那就要弹框(顺便跳转到登录界面)
}
%>
//效果图如下:
//接下来就是用户登录后进入的一个主界面(重点就是其中的分页)
代码语言:javascript复制<%
//注册驱动类
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 newst";
String pageSql = "select * from (select a.*,rownum mid from newst a)b where mid>=? and mid<=?";
int tid = 1;
if(id!=null){//要执行 根据主题查询 的 分页
tid = Integer.valueOf(id);
countSql = "select count(*) from newst where tid=" tid;
pageSql = "select * from (select a.*,rownum mid from newst 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>
当前页数:[<%=pageIndex %>/<%=maxPage %>]
<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>
//效果图如下:
//以上内容可结合我之前写的新闻数据维护(管理员)