- 浏览: 155104 次
- 性别:
- 来自: 保定
文章分类
最新评论
-
hellostory:
高级查询的查询参数放哪里?
SSH超实用分页实现(原创开源)! -
topbox163:
不错。。。。。。。。。
拥有属于自己的SVN(Google SVN)(更新版) -
shiyangxt:
忧_零 写道不知道这个问题LZ是否解决了啊,今天同样碰到这个问 ...
救助贴???关于Mysql插入二进制文件 -
忧_零:
不知道这个问题LZ是否解决了啊,今天同样碰到这个问题了,错误相 ...
救助贴???关于Mysql插入二进制文件 -
sornor:
不错!总算对servlet和jsp之间的关系有了了解了!感谢感 ...
JSP与Servlet的关系和实例分析(转帖)
SSH的分页网上有不少的例子,有利用session的,有利用分页组件的。我几个师兄原来搞的SSH项目也有一个成熟的分页插件。
具体业务实现类中的分页方法:
<bgsound cep="0">public List get*****(int pageNO){
DetachedCriteria dc = DetachedCriteria.forClass(****.class);
List list=*****Dao.getList(dc,pageNO,15);
int a = 0;
if (list.equals(null)){a=1;}
return list;
}</bgsound>
DetachedCriteria dc = DetachedCriteria.forClass(****.class);
List list=*****Dao.getList(dc,pageNO,15);
int a = 0;
if (list.equals(null)){a=1;}
return list;
}</bgsound>
<bgsound cep="1">public PageBean getBean(int pageNO)
{
***** jg;
DetachedCriteria dc = DetachedCriteria.forClass(*****.class);
PageBean pb=collegeDao.getPageBean(dc,pageNO,15);
return pb;
}</bgsound>
{
***** jg;
DetachedCriteria dc = DetachedCriteria.forClass(*****.class);
PageBean pb=collegeDao.getPageBean(dc,pageNO,15);
return pb;
}</bgsound>
然后是一个PageBean的工具类,负责创建分页属性和基本逻辑。
然后是页面的bean获取输出信息及分页属性。
我觉得单纯的拷贝,自己用的不是很顺手。于是自己也搞了一个,个人认为可以清晰的分层,实现这个分页。分层还是传统的SSH七层结构。
SSH结构思想参考我的另一篇随笔SSH思想之我见!
下面是分页思想,一个初始化方法和一个分页实现方法:
分页的util类:
<bgsound cep="2">package com.sy.util;
import java.util.List;
@SuppressWarnings("unchecked")
public class Page {
private int pageSize;
private int totalPage;
private int rowCount;
private int currentPage;
private int prePage;
private int nextPage;
private boolean hasNextPage;
private boolean hasPreviousPage;
private List list;
public Page() {
this.pageSize=10;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getRowCount() {
return rowCount;
}
public void setRowCount(int rowCount) {
this.rowCount = rowCount;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPrePage() {
return prePage;
}
public void setPrePage(int prePage) {
this.prePage = prePage;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}
public boolean isHasNextPage() {
return hasNextPage;
}
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}
public boolean isHasPreviousPage() {
return hasPreviousPage;
}
public void setHasPreviousPage(boolean hasPreviousPage) {
this.hasPreviousPage = hasPreviousPage;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}
</bgsound>
import java.util.List;
@SuppressWarnings("unchecked")
public class Page {
private int pageSize;
private int totalPage;
private int rowCount;
private int currentPage;
private int prePage;
private int nextPage;
private boolean hasNextPage;
private boolean hasPreviousPage;
private List list;
public Page() {
this.pageSize=10;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getRowCount() {
return rowCount;
}
public void setRowCount(int rowCount) {
this.rowCount = rowCount;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPrePage() {
return prePage;
}
public void setPrePage(int prePage) {
this.prePage = prePage;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}
public boolean isHasNextPage() {
return hasNextPage;
}
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}
public boolean isHasPreviousPage() {
return hasPreviousPage;
}
public void setHasPreviousPage(boolean hasPreviousPage) {
this.hasPreviousPage = hasPreviousPage;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}
</bgsound>
分页的数据库操作和逻辑判断我把他单独用一个PageDaoImpl来实现:
<bgsound cep="3">/*
* 施杨的分页daoimpl类
* */
package com.sy.dao.impl;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.sy.dao.BaseDao;
import com.sy.util.Page;
@SuppressWarnings("unchecked")
public class PageDaoImpl extends HibernateDaoSupport {
private String hql;
public Page page;
public int start;
public BaseDao dao;
public void setDao(BaseDao dao) {
this.dao = dao;
}
public void init(int start,String tableName){ // ͨ��init����ʵ����ij�ʼ��
page = new Page();
this.hql = "from "+tableName;
this.start = start;
setRowCount();
setTotalPage();
setCurrentPage();
setPrePage();
setNextPage();
setPreOrNextBoolean();
}
public int getRowCount(){
List list = dao.find(hql);
if(list.isEmpty()){
return 0;
}
return list.size();
}
public Page getPage(){
List list = (List)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(getStartIndex());
query.setMaxResults(page.getPageSize());
return query.list();
}
});
page.setList(list);
return page;
}
public void setPreOrNextBoolean() {
if (page.getCurrentPage() <= 1) {
page.setHasPreviousPage(false);
} else {
page.setHasPreviousPage(true);
}
if (page.getCurrentPage() >= page.getTotalPage()) {
page.setHasNextPage(false);
} else {
page.setHasNextPage(true);
}
}
public void setCurrentPage() {
if (start < 1) {
page.setCurrentPage(1);
}
if (start > page.getTotalPage()) {
page.setCurrentPage(page.getTotalPage());
}
page.setCurrentPage(start);
}
public void setPrePage() {
page.setPrePage(page.getCurrentPage() - 1);
}
public void setNextPage() {
page.setNextPage(page.getCurrentPage() + 1);
}
public void setTotalPage() {
int rowCount = getRowCount();
int pageSize = page.getPageSize();
if (rowCount > pageSize) {
if (rowCount % pageSize == 0) {
page.setTotalPage(rowCount / pageSize);
} else {
page.setTotalPage(1 + (rowCount / pageSize));
}
} else {
page.setTotalPage(1);
}
}
public void setRowCount() {
page.setRowCount(getRowCount());
}
public int getStartIndex() {
int startIndex = 0;
if (start < 0) {
startIndex = 0;
} else {
if (start > page.getTotalPage()) {
startIndex = page.getPageSize() * (page.getTotalPage() - 1);
} else {
startIndex = page.getPageSize() * (start - 1);
}
}
return startIndex;
}
}
</bgsound>
* 施杨的分页daoimpl类
* */
package com.sy.dao.impl;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.sy.dao.BaseDao;
import com.sy.util.Page;
@SuppressWarnings("unchecked")
public class PageDaoImpl extends HibernateDaoSupport {
private String hql;
public Page page;
public int start;
public BaseDao dao;
public void setDao(BaseDao dao) {
this.dao = dao;
}
public void init(int start,String tableName){ // ͨ��init����ʵ����ij�ʼ��
page = new Page();
this.hql = "from "+tableName;
this.start = start;
setRowCount();
setTotalPage();
setCurrentPage();
setPrePage();
setNextPage();
setPreOrNextBoolean();
}
public int getRowCount(){
List list = dao.find(hql);
if(list.isEmpty()){
return 0;
}
return list.size();
}
public Page getPage(){
List list = (List)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(getStartIndex());
query.setMaxResults(page.getPageSize());
return query.list();
}
});
page.setList(list);
return page;
}
public void setPreOrNextBoolean() {
if (page.getCurrentPage() <= 1) {
page.setHasPreviousPage(false);
} else {
page.setHasPreviousPage(true);
}
if (page.getCurrentPage() >= page.getTotalPage()) {
page.setHasNextPage(false);
} else {
page.setHasNextPage(true);
}
}
public void setCurrentPage() {
if (start < 1) {
page.setCurrentPage(1);
}
if (start > page.getTotalPage()) {
page.setCurrentPage(page.getTotalPage());
}
page.setCurrentPage(start);
}
public void setPrePage() {
page.setPrePage(page.getCurrentPage() - 1);
}
public void setNextPage() {
page.setNextPage(page.getCurrentPage() + 1);
}
public void setTotalPage() {
int rowCount = getRowCount();
int pageSize = page.getPageSize();
if (rowCount > pageSize) {
if (rowCount % pageSize == 0) {
page.setTotalPage(rowCount / pageSize);
} else {
page.setTotalPage(1 + (rowCount / pageSize));
}
} else {
page.setTotalPage(1);
}
}
public void setRowCount() {
page.setRowCount(getRowCount());
}
public int getStartIndex() {
int startIndex = 0;
if (start < 0) {
startIndex = 0;
} else {
if (start > page.getTotalPage()) {
startIndex = page.getPageSize() * (page.getTotalPage() - 1);
} else {
startIndex = page.getPageSize() * (start - 1);
}
}
return startIndex;
}
}
</bgsound>
然后是业务层接口,举例AdminService.java
<bgsound cep="4">//管理员service层接口
package com.sy.service;
import java.util.List;
import com.sy.util.Page;
import com.sy.vo.Admin;
public interface AdminService extends BaseService{
//分页初始化
public void init(int pno);
//分页实现
public Page getPage();
}
</bgsound>
package com.sy.service;
import java.util.List;
import com.sy.util.Page;
import com.sy.vo.Admin;
public interface AdminService extends BaseService{
//分页初始化
public void init(int pno);
//分页实现
public Page getPage();
}
</bgsound>
实现类AdminServiceImpl.java
<bgsound cep="5">//管理员service层实现类
package com.sy.service.impl;
import java.util.List;
import com.sy.dao.impl.AdminDaoImpl;
import com.sy.dao.impl.PageDaoImpl;
import com.sy.service.AdminService;
import com.sy.util.Page;
import com.sy.vo.Admin;
@SuppressWarnings("unchecked")
public class AdminServiceImpl extends BaseServiceImpl implements AdminService {
.
public Page getPage() {
return Pdao.getPage();
}
public void init(int pno) {
String tableName="Admin";
Pdao.init(pno,tableName);
}
}</bgsound>
package com.sy.service.impl;
import java.util.List;
import com.sy.dao.impl.AdminDaoImpl;
import com.sy.dao.impl.PageDaoImpl;
import com.sy.service.AdminService;
import com.sy.util.Page;
import com.sy.vo.Admin;
@SuppressWarnings("unchecked")
public class AdminServiceImpl extends BaseServiceImpl implements AdminService {
.
public Page getPage() {
return Pdao.getPage();
}
public void init(int pno) {
String tableName="Admin";
Pdao.init(pno,tableName);
}
}</bgsound>
struts的action层AdminAction.java
<bgsound cep="6">//管理员action实现类
package com.sy.action;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.sy.form.AdminForm;
import com.sy.form.LoginForm;
import com.sy.service.AdminService;
import com.sy.util.MD5;
import com.sy.util.Page;
import com.sy.vo.Admin;
@SuppressWarnings("unchecked")
public class AdminAction extends BaseAction {
.
//查看管理员
public ActionForward listAdmins(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
AdminService as=(AdminService)super.getBean("AdminService");
int pno = (new Integer(request.getParameter("pno"))).intValue();
as.init(pno);
Page myPage = as.getPage();
List myList = as.getPage().getList();
request.setAttribute("myPage", myPage);
request.setAttribute("AdminList", myList);
return mapping.findForward("show");
}
}</bgsound>
package com.sy.action;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.sy.form.AdminForm;
import com.sy.form.LoginForm;
import com.sy.service.AdminService;
import com.sy.util.MD5;
import com.sy.util.Page;
import com.sy.vo.Admin;
@SuppressWarnings("unchecked")
public class AdminAction extends BaseAction {
.
//查看管理员
public ActionForward listAdmins(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
AdminService as=(AdminService)super.getBean("AdminService");
int pno = (new Integer(request.getParameter("pno"))).intValue();
as.init(pno);
Page myPage = as.getPage();
List myList = as.getPage().getList();
request.setAttribute("myPage", myPage);
request.setAttribute("AdminList", myList);
return mapping.findForward("show");
}
}</bgsound>
结构清晰,也很实用。
页面lookAdmin.jsp
<bgsound cep="7"><%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>施杨SSH新闻发布</title>
</head>
<body>
<center>
<h3>
查看管理员
</h3>
<br>
<a href="./admin/addAdmin.jsp">添加管理员</a>
<br>
<a href="./NewsPage2.do?pno=1">查看新闻</a>
<br>
<table border="2" width="600">
<tr>
<td>
用户名
</td>
<td>
密码
</td>
<td>
操作
</td>
</tr>
<c:forEach items="${requestScope['AdminList']}" var="admin">
<tr align="center">
<td width="20%" height="10"><c:out value="${admin.aname}" /></td>
<td width="20%" height="10"><c:out value="${admin.apassword}" /></td>
<td>
<a href="./editAdmin.do?aid=<c:out value="${admin.aid}"/>">修改</a>
<a href="./deleteAdmin.do?aid=<c:out value="${admin.aid}"/>" onclick="javascript:return confirm('您确定删除吗?')">删除</a>
</td>
</tr>
</c:forEach>
</table>
<table align="center" width="500">
<tr>
<td align="center" colspan="10">
<logic:present name="myPage">
<html:link page="/AdminPage.do?pno=1">首页</html:link>
<logic:equal name="myPage" property="hasPreviousPage" value="false">上一页</logic:equal>
<logic:equal
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>施杨SSH新闻发布</title>
</head>
<body>
<center>
<h3>
查看管理员
</h3>
<br>
<a href="./admin/addAdmin.jsp">添加管理员</a>
<br>
<a href="./NewsPage2.do?pno=1">查看新闻</a>
<br>
<table border="2" width="600">
<tr>
<td>
用户名
</td>
<td>
密码
</td>
<td>
操作
</td>
</tr>
<c:forEach items="${requestScope['AdminList']}" var="admin">
<tr align="center">
<td width="20%" height="10"><c:out value="${admin.aname}" /></td>
<td width="20%" height="10"><c:out value="${admin.apassword}" /></td>
<td>
<a href="./editAdmin.do?aid=<c:out value="${admin.aid}"/>">修改</a>
<a href="./deleteAdmin.do?aid=<c:out value="${admin.aid}"/>" onclick="javascript:return confirm('您确定删除吗?')">删除</a>
</td>
</tr>
</c:forEach>
</table>
<table align="center" width="500">
<tr>
<td align="center" colspan="10">
<logic:present name="myPage">
<html:link page="/AdminPage.do?pno=1">首页</html:link>
<logic:equal name="myPage" property="hasPreviousPage" value="false">上一页</logic:equal>
<logic:equal
发表评论
-
Struts+DAO+Hibernate搭建完成!(源码)
2008-07-15 10:38 807昨天搭了这个框架实现 ... -
SSH终于搭建完成了!
2008-07-17 22:08 1239真的是费了好大的劲才 ... -
Common FileUpload组件的使用!(源码)
2008-08-11 20:06 1333今天搞了一下文件上传功能组件Common FileUpload ... -
Ajax入门(转载)
2008-09-14 15:45 792作为J2EE ... -
Struts2+Spring+Hibernate搭建全解!
2008-09-27 22:49 1319Struts2+Spring+Hibernate是J2EE的最 ... -
J2EE实现XML文件的读取与导出(源码)!
2008-10-06 12:19 1153最近学习了XML的相关知识,深感其强大。 XML这个技术家族非 ... -
struts2的8点经验总结(转载)
2008-10-09 12:20 896转自:javaeye 1、在web.xml ... -
Struts2 实现分页(源码)!
2008-10-22 14:28 3082好久没好好写点东西了,最近一直在熟练Str ... -
Struts2拦截器权限验证(源码)!
2008-10-24 13:41 3365长话短说,抛砖引玉,举个很简单的例子,通过 ... -
J2EE玩转FCKEditor(转载)
2008-10-31 20:58 1447很经典的一篇文章,讲的很好,最近我要用这个 ... -
Struts2与FCKeditor整合解决方案
2008-11-04 22:30 1195今天遇到Struts2与FCKeditor整合的问题,我很是无 ...
相关推荐
在这个"SSH实现分页实例"中,我们将深入探讨如何在SSH框架下实现数据的分页显示。 首先,Struts2作为MVC框架,负责处理HTTP请求并调度控制层逻辑。它通过Action类来封装业务逻辑,并通过配置ActionMapping定义请求...
本示例主要展示了如何在SSH框架下实现分页功能,以方便地处理大量数据,提高应用性能,减轻服务器压力。Oracle数据库作为后台存储系统,而SCOTT用户下的EMP表和DEPT表则是用于演示的实体模型。 1. **Spring框架**:...
【SSH框架整合实现分页详解】 SSH框架整合是企业级应用开发中常用的技术组合,它由Struts2、Spring和Hibernate三个开源框架组成,分别负责表现层、业务逻辑层和服务数据访问层。在这个过程中,实现分页功能是提高...
在这个名为"ssh.zip_SSH 数据分页_ssh分页实现"的压缩包中,我们可以看到一个关键的实践案例——如何在SSH框架下实现数据分页功能。数据分页在Web应用中极为重要,因为它能够帮助用户更有效地浏览大量信息,提高用户...
在这个"SSH+Mysql无刷新分页实例"中,我们将探讨如何利用SSH框架与MySQL数据库实现网页的无刷新分页功能,从而提高用户体验。 首先,SSH框架中的Spring负责控制层,它提供依赖注入(Dependency Injection,DI)和...
本项目通过SSH框架实现了一个完整的分页功能,旨在帮助开发者理解和掌握如何在实际应用中实现数据的分页展示。 首先,Struts2作为MVC(Model-View-Controller)框架负责处理HTTP请求并调度到相应的控制器。在分页...
在IT行业中,SSH整合是指Spring、Struts和Hibernate三个开源框架的集成,它们分别是Spring作为应用的 IoC 容器,Struts作为表现层管理,Hibernate作为持久层处理。这样的组合在Java Web开发中非常常见,能有效地提高...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。在处理大量数据时,为了提高用户体验并减轻服务器压力,通常会采用分页技术来显示数据。本篇文章将深入探讨如何在SSH...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常用的一套开源框架。在处理大量数据时,为了提高用户体验并优化服务器性能,通常会使用分页功能来显示数据。本示例将详细介绍如何在SSH框架下...
本话题主要围绕如何利用SSH框架结合BaseDao实现分页功能来展开。 首先,让我们了解一下SSH框架的核心组件: 1. **Spring**:这是一个全面的开源应用框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,使得...
在这个场景下,"SSH+ORACLE好用分页"意味着我们将SSH框架与Oracle数据库结合,实现了高效的数据分页功能。 数据分页是Web应用中常见的需求,特别是在处理大量数据时,分页可以提高用户体验,避免一次性加载过多数据...
在IT行业中,SSH整合是指将Spring、Struts和Hibernate这三个开源框架进行集成,以构建高效、灵活的企业级Web应用程序。SSH整合提供了模型-视图-控制器(MVC)设计模式的完整实现,使得开发人员可以更方便地管理业务...
这个名为"用ssh实现的一个简单的分页"的项目,旨在为初学者提供一个关于如何在SSH框架下实现分页功能的示例。分页在大型数据集的展示中至关重要,它能够提高用户体验,避免一次性加载过多数据导致的性能问题。 首先...
SSH2整合分页是Web开发中的一个重要概念,SSH2指的是Spring、Struts2和Hibernate这三个开源框架的组合,它们在Java Web开发中被广泛应用。在这个场景下,"整合"意味着将这三个框架集成到一个项目中,以实现高效、...
5. **SSH分页组件**:SSH框架下有多种分页插件可以选择,例如Struts2的DisplayTag、EasyUI的pagination等。这些组件能帮助开发者快速实现分页界面,减少代码量。 6. **源码注释**:提供的源码中应包含详细的注释,...
本文将围绕“SSH实现分页”这一主题,深入探讨如何在Hibernate环境下实现高效的数据分页,以及其在实际项目中的具体应用。 ### 一、SSH框架简介 SSH框架是指Struts2、Spring和Hibernate三个开源框架的组合使用。...
在这个"SSH+ExtJs分页小例子"中,我们将探讨如何将这两种技术结合实现数据分页显示。 首先,我们来看NewsDAO.java文件。这个文件包含了两个关键方法:`findPageAll`和`totalRecord`。`findPageAll`方法实现了分页...
SSH分页技术是Java开发中一个非常实用的功能,尤其在处理大数据量的Web应用时,它能够有效地提高用户体验,避免一次性加载过多数据导致的性能问题。SSH是指Spring、Struts和Hibernate这三大开源框架的组合,它们在...
SSH是指Spring、Struts和Hibernate这三个开源框架的组合,常用于构建Java Web应用程序。而Oracle则是一款功能强大的关系型数据库管理系统,广泛应用于大型企业级应用。当这两者结合时,通常是为了实现数据的高效管理...
在IT行业中,SSH通常指的是Struts2、Spring和Hibernate这三个开源框架的组合,它们是Java Web开发中的核心技术栈。这个项目基于MyEclipse 2014集成开发环境,实现了SSH框架的整合,并且提供了登录、注册以及分页功能...