新手怎么以最简单的方式jsp实现简单购物车jsp+mysql分页

新手怎么以最简单的方式实现jsp+mysql分页_百度知道
新手怎么以最简单的方式实现jsp+mysql分页
我有更好的答案
public ResultSet query(String sql) throws Exception{
11: db.connection(& scope=&page& /&
2.getParameter(&page&);
private ResultSet rs=jdbc:mysql:&#47.jdbc.Driver&);
2; + p + &页&quot.next();
private Connection conn=
13: rs=,& +size:
String url=& class=&/localhost:3306&#47:
sql=sql + s.execute(sql);
19,String pwd) throws
Exception{
33;);/总页数
4: int p.MyDb&
27.createStatement(): &jsp:useBean id=&quot:
40: }下面是jsp的代码;
1.query(sql);
14.forName(&quot: out.println(&总记录数为:& + result_count + &
每页记录数为:& + size + &
总页数为:& + page_count + &
当前是第&quot:
public boolean delete(String sql) throws
Exception{
0ff&&boolean flag=false.getConnection(url:
public int update(String sql) throws
Exception{
return rs: import java.sql.*;
9: String page_s= + db_
12.parseInt(page_s);
String s=&quot:
4: public class MyDb{
6,&quot: if(page_s==null)
page_s=&quot:
rs=stmt.executeQuery(sql);
public ResultSet query(S
17: p=Itest&quot,user,pwd);/总记录数
public void connection(String db_name.executeQuery(sql).query(sql,sizebegin 数据记录从第几条开始
begin=(当前页数-1)*sizesize 每页的记录数下面是连接数据库的javabean:
12: String sql=&select count(*) from message&;
n=stmt.executeUpdate(sql): result_count=rs.getInt(1);
16: page_count=(result_count + size - 1)/com,begin,int size) throws Exception{
19: sql=& limit & + begin + &/当前页第一条记录索引号
8: ResultSet rs=当前面号
5: int size=3;
conn=DriverManager: begin=(p-1)*size刚开始弄 ,目前分页是在前台jsp中实现的
与bean相比 这样比较容易一些先把代码贴出来
正在研究怎么样用bean实现分页
等弄好了 再贴代码下面说下分页理论 select * from message order by t
stmt=select * from message order by time desc&/每页记录数
6: int result_
22: while(rs.next()){
24: &table&
width=&200&&&%=rs.getString(1)%&&/td&
27: &td width=&200&&&%=rs.getString(2)%&&/td&
30: &td&&%=rs.getString(3)%&&/td&
31: &td&&%=rs.getString(4)%&&/td&
33: &tr&&td colspan=&2&&&%=rs.getString(5)%&&/td&&/tr&
34: &tr&&td colspan=&2&&&hr /&&/td&&/tr&
35: &/table&
38: if(p&1)
out.println(&&a href=test.jsp?page=& + (p-1) + &&上一页&/a&&);
39: if(p&page_count)
out.println(&&a href=test.jsp?page=& + (p+1) + &&下一页&/a&&);
21: rs=db:
3: int page_
20;,&root&;root&quot,String user
专注培养IT技术人才
主营:PHP培训,JAVA培训,HTML5培训,UI培训,Linux培训,Python培训
mysqlselect * from t_table limit 0,20-----------------------------------请自行百度 limit 参数用法 pos,pagesize将pos ,pagesize带入sql 即可后台分页前端ajax 得到的list 进行展示即可
使用限定纪录条数的查询语句
一、DBConn.java代码package&import&java.sql.*;&&&&public&class&DBConn&{&&&&&&static&{&&&&&&&&&&try&{&&&&&&&&&&&&&&Class.forName(&com.mysql.jdbc.Driver&);&&&&&&&&&&&&&&System.out.println(&驱动加载成功!&);&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&System.out.println(&驱动加载失败!&);&&&&&&&&&&&&&&ex.printStackTrace();&&&&&&&&&&}&&&&&&}&&&&&&&&public&static&Connection&getConn()&{&&&&&&&&&&try&{&&&&&&&&&&&&&&String&url&=&&jdbc:mysql://localhost:3306/test?&&&&&&&&&&&&&&&&&&&&&&&+&&user=root&password=123456&useUnicode=true&characterEncoding=utf8&;&&//数据库名,密码&&&&&&&&&&&&Connection&conn&=&DriverManager.getConnection(url);&&&&&&&&&&&&&&System.out.println(&获取数据库连接成功!&);&&&&&&&&&&&&&&return&&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&System.out.println(&获取数据库连接失败!&);&&&&&&&&&&&&&&ex.printStackTrace();&&&&&&&&&&&&&&return&&&&&&&&&&&}&&&&&&}&&&&&&&&public&static&void&close(Connection&conn,&Statement&st,&ResultSet&rs)&{&&&&&&&&&&if&(rs&!=&null)&{&&&&&&&&&&&&&&try&{&&&&&&&&&&&&&&&&&&rs.close();&&&&&&&&&&&&&&}&catch&(SQLException&ex)&{&&&&&&&&&&&&&&}&&&&&&&&&&}&&&&&&&&&&if&(st&!=&null)&{&&&&&&&&&&&&&&try&{&&&&&&&&&&&&&&&&&&st.close();&&&&&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&}&&&&&&&&&&}&&&&&&&&&&if&(conn&!=&null)&{&&&&&&&&&&&&&&try&{&&&&&&&&&&&&&&&&&&conn.close();&&&&&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&}&&&&&&&&&&}&&&&&&}&&&&}&&二、test.jsp代码:String&basePath&=&request.getScheme()+&://&+request.getServerName()+&:&+request.getServerPort()+path+&/&;%&&%@&page&import=&java.sql.*&%&&&jsp:directive.page&import=&com.DBConn&/&&&!DOCTYPE&HTML&PUBLIC&&-//W3C//DTD&HTML&4.01&Transitional//EN&&&html&&&&head&&&&&&base&href=&&%=basePath%&&&&&&&&&&&&title&My&JSP&'user_save.jsp'&starting&page&/title&&&&& &meta&http-equiv=&pragma&&content=&no-cache&& &meta&http-equiv=&cache-control&&content=&no-cache&& &meta&http-equiv=&expires&&content=&0&&&&&& &meta&http-equiv=&keywords&&content=&keyword1,keyword2,keyword3&& &meta&http-equiv=&description&&content=&This&is&my&page&& &!-- &link&rel=&stylesheet&&type=&text/css&&href=&styles.css&& --&&%&&&&&&&&&&&&&&&&Statement&st&=&&&&&&&&&&&int&rs&=&0;&&&&&&&&&Connection&conn&=&&&try{&&&&&&&&&&&conn&=&DBConn.getConn();&&&&&&&&&&&&st&=&conn.createStatement();&&//建立一个Statement对象,用于执行SQL语&&&&//SQL&语句&&&&&&&&&&&&String&sql=&UPDATE&user&SET&tel='&+tel+&',email='&+email+&',addr='&+addr+&';&&rs&=&st.executeUpdate(sql);&//返回查询结果&&&&//这里插入你的代码&&&&&&&&&&&}catch(SQLException&e){&&&&out.println(&执行SQL\&&&+&sql&+&&\&时发生异常:&&+&e.getMessage());&
if(st&!=&null) st.close();
if(conn&!=&null) conn.close();
&%&&&&/head&&&&body&&&&&&/body&&/html&
为您推荐:
其他类似问题
最简单的方式的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。1、mysql的limit关键字 (DAO)
select * from tablename limit startPoint, numberPerPage;
tablename 就是要分页显示的那张表的名称;
startPoint 就是起始的位置 -1;
numberPerPage 就是一页显示的条数。
例如: select * from comment limit 20,5;
则是从comment表中抽取21~25号评论:
2、jQuery load函数 (页面JS)
MySQL的limit关键字可以完成抽取一定范围(n,n+m]的记录,也就是说需要两个参数来决定某一页显示的内容,即&第x页&以及每页显示的个数。
每页显示的个数可以在程序中设定,也可以由用户设定。但,&第x页&这个参数一定是用户给出的。当用户点击页数、下一页/上一页按钮或跳转至某页时,需要将这个&第x页&参数传送给服务器,以便进行记录的抽取。
function goToPage(page){
  $('body').load("getComments.do?page=" + page);
或者,两个参数都由用户指定的话,函数可以写成:
function goToPage(page, numberPerPage){
  $('body').load("getComments.do?page=" + page + "&npp=" + numberPerPage);
3、servlet接收参数并组织内容 (servlet文件)
servlet通过接受jsp页面传来的request对象中的page和npp参数来获悉用户希望浏览第X页,以及一页显示多少条记录。
int page = Integer.parseInt(req.getParameter("page"));
4、servlet计算显示的页数列表
一般一次显示10页左右,也就是假如现在在第52页,那么可选的页数列表就是50、51、52。。。直到60.
计算的方法是,假设现在处于x页,那么起始值为x/10*10,前提是x&10。写成代码就是:
int start = 1;if(page &= 10){  start = page/10 * 10;&}
有两个特殊情况:
① 总共的页数不足10个
② 页数不是10的整倍数
这样会出现页数列表小于10的情况,也很容易处理,加if条件判断一下就好了。大致的代码如下:
int total = sm.getCommentCount();
int totalPage = total/itemsPerP
if(total % itemsPerPage != 0){
totalPage += 1;
Vector&Integer& pageArr = new Vector&Integer&();
int start = 1;
if(page &= 10){
start = page/10 * 10;
while(!(num & totalPage || num & start + 10)){
pageArr.add(new Integer(num));
5、在jsp页面显示页数列表
通过4我们得到了一个计算后的页数列表pageArr,该列表说明针对当前页,我们应该展现哪些页数让用户可以直接点击。在servlet中将刚才的pageArr列表放入response对象中,同时放入page(当前页数)以及totalPage(最大页数)以帮助我们做一些判断。
&!-- 上一页 按钮 --&&div id="pageControl"&
&c:choose&
&c:when test="${page != 1}"&
&a href="checkComments.do?page=${page-1}"&&input type="button" name="lastPage" value="上一页" /&&/a&
&c:otherwise&
&input type="button" disabled="true" name="lastPage" value="上一页" /&&!-- 为了要那个灰掉的button --&
&/c:otherwise&
&/c:choose&
&!-- 页数列表 --&
&c:forEach items="${pageList}" var="item"&
&c:choose&
&c:when test="${item == page}"&
&a href="checkComments.do?page=${item}" class="currentPage"&${item}&/a&
&c:otherwise&
&a href="checkComments.do?page=${item}"&${item}&/a&
&/c:otherwise&
&/c:choose&
&/c:forEach&
&!-- 下一页 按钮 --&
&c:choose&
&c:when test="${page != totalPages}"&
&a href="checkComments.do?page=${page+1}"&
&input type="button" name="nextPage" value="下一页" /&
&c:otherwise&
&input type="button" disabled=true name="nextPage" value="下一页" /&&!-- 为了要那个灰掉的button --&
&/c:otherwise&
&/c:choose&&!-- 直接跳转 --&
共${totalPages}页 -向&input type="text" id="jumpTo" /&页 &input type="button" value="跳转" onclick="jumpTo(${totalPages})" /&
使用到的js函数
function jumpTo(maxPage){
var page = $("#jumpTo").val();
if(page & maxPage || page & 1){
alert("对不起,无法到达该页")
$('body').load('checkComments.do?page=' + page);
6、CSS增强效果
为了凸显我们现在所在的页数,在上面的代码中我们特意做了判断:
&c:when test="${item == page}"&
&a href="checkComments.do?page=${item}" class="currentPage"&${item}&/a&
这样,当前的页数就会被标记为currentPage类,如此一来,就可以在CSS文件中着重强调它了。比如:
.currentPage{&& &font-weight:&& &color:#ff9a00;}
或者再设置以下跳转页输入框的宽度
#jumpTo{width:20}
这样,当前页的页面就会被标记为粗体、橘色:
用a标签的方法做链接虽然比较方便,不过会有下划线出现,感觉很不洋气。可以用css把它消除掉,或者hover时候加一些变化什么的。
#pageControl a {&& &text-decoration:}
阅读(...) 评论()jsp+mysql分页查询,谁能提供一个完整的示例代码 100分,
[问题点数:100分,结帖人lishnqing]
jsp+mysql分页查询,谁能提供一个完整的示例代码 100分,
[问题点数:100分,结帖人lishnqing]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|连接mysql的javabean实例+简单分页_jsp技巧
contentType="text/charset=GBK" language="java"
import="java.sql.*,java.util.*"%&
&title&学习分页&/title&
&link href="../css.css" rel="stylesheet"
type="text/css"&
&jsp:useBean id="mypage"
class="ckstudio.db.mysqlconn" scope="page"/&
width="1024"&&tr&
&td&rs.getString(user_id)|&/td&
&td&rs.getString(user_name)|&/td&
&td&rs.getString(user_mail)|&/td&
&td&rs.getString(user_adds)&/td&
style="hight:8px:width:5;background-color:"&
style="hight:8px:width:5;background-color:"&
style="hight:8px:width:5;background-color:"&
style="hight:8px:width:5;background-color:"&
&int Cint(String cint)
n= Integer.parseInt(cint);
catch (NumberFormatException e) {
&&&&&&&&&&&&&&&&
int PageSize=5; //设置每页显示的记录条数
int ShowPage=1; //设置想要显示的页数
int RowCount = 0; //ResultSet的记录数目 初始值
int PageCount = 0; //ResultSet分页后的总页数 初始值
int duoyu=0; //设置分页最后一页的记录数 初始值
//以上是对这些数据的初始化 pagesize可自行设置
String sql="select * from member order by user_id desc";
&&& ResultSet
rs=mypage.executeQuery(sql);
//建立ResultSet(结果集)对象,并执行SQL语句
&%if(rs.next())
&&& rs.last();
//将指标移至最后一笔记录
RowCount=rs.getRow();
duoyu=RowCount % PageS
if(duoyu==0)
PageCount=RowCount/PageS
PageCount=(RowCount-duoyu)/PageS
PageCount++;
&// else里面 如果除不尽 侧页数为商加一;
&& //计算显示的页数
&&& String
ToPage = request.getParameter("ToPage");
if(ToPage==""){ToPage="1";}
ShowPage = Cint(ToPage); //取得指定显示的分页页数
//下面的if语句将判断用户输入的页数是否正确
if(ShowPage & PageCount)
{ //判断指定页数是否大于总页数, 否则设置显示最后一页
&&&&&&&&&&
ShowPage = PageC
else if(ShowPage &= 0)
{ //若指定页数小于0, 则设置显示第一页的记录
&&&&&&&&&&&&&
ShowPage = 1;
rs.absolute((ShowPage - 1) * PageSize+1); //计算欲显示页的第一个记录位置
&!--下面是分页--&
&//利用For循环配合PageSize属性输出一页中的记录
&& int i=1;
& rs.previous();
&& //String
user_name,user_email,user_
while(rs.next()&i&=PageSize)
//user_id=rs.getInt("user_id");
//user_name=rs.getString("user_name");
& //user_mail=rs.getString("user_mail");
& //user_adds=rs.getString("user_adds");
&td&&%=rs.getString(1)%&&/td&
&td&&%=rs.getString(2)%&&/td&
&td&&%=rs.getString(3)%&&/td&
&td&&%=rs.getString(4)%&&/td&
aciont="page.jsp"&
&tr&&td width="1024"
height="23"&
align="right"&第&%=ShowPage%&页/共&%=PageCount%&页,&%=RowCount%&个用户
&input name="ToPage" type="text" size="2"
maxlength="2"&页&&input
type="submit"
value="GO"&&&&%if(ShowPage!=1){%&
href="page.jsp?ToPage=1"&首页&/a&
&%}if(ShowPage&1)
href="page.jsp?ToPage=&%=(ShowPage-1)%&"&上一页&/a&
if(ShowPage&PageCount) {
href="page.jsp?ToPage=&%=(ShowPage+1)%&"&下一页&/a&
&%}if(ShowPage!=PageCount){%&
href="page.jsp?ToPage=&%=PageCount%&"&末页&/a&
&/font&&/p&&/form&
rs.close();
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。41被浏览3,288分享邀请回答116 条评论分享收藏感谢收起

我要回帖

更多关于 jsp跳转方式 的文章

 

随机推荐