1、新建一个Web Project,命名为S2SH,并将项目编码改为UTF-8。
2、拷贝以下jar包到lib文件夹里面:
antlr-2.7.6.jar
asm.jar
cglib-2.1.3.jar
commons-collections.jar
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
freemarker-2.3.13.jar
hibernate3.jar
jstl.jar
jta.jar
log4j-1.2.11.jar
mysql-connector-java.jar
ognl-2.6.11.jar
spring.jar
standard.jar
struts2-core-2.1.6.jar
struts2-spring-plugin-2.1.6.jar
xwork-2.1.2.jar
3、修改web.xml文件,如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 指定spring配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
<!-- 对Spring容器进行实例化 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 编码过滤器(要放在struts2前面配置) -->
<filter>
<filter-name>encodeFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- struts2 配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4、hibernate.cfg.xml,如下:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/test
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">
com.mysql.jdbc.Driver
</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping resource="orm/TbUser.hbm.xml" />
</session-factory>
</hibernate-configuration>
5、applicationContext.xml,如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml" />
</bean>
<bean id="userDAO" class="dao.UserDAOImpl"/>
<bean id="userService" class="service.UserServiceImpl">
<property name="userDAO">
<ref local="userDAO"/>
</property>
</bean>
<bean id="loginAction" class="action.UserAction">
<property name="userService">
<ref local="userService"/>
</property>
</bean>
</beans>
6、struts.xml,如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 资源文件 -->
<constant name="struts.custom.i18n.resources" value="native"/>
<!-- Spring负责创建Action实例 -->
<constant name="struts.objectFactory" value="spring"/>
<package name="user" namespace="/user" extends="struts-default">
<!-- action配置的class属性值和spring中bean的名称相同 -->
<action name="*" class="loginAction" method="{1}">
<result name="success">/index.jsp</result>
<result name="input">/login.jsp</result>
<result name="browse">/index.jsp</result>
</action>
</package>
</struts>
7、分页需要用到的类Page
import java.util.List;
public class Page {
private int total;
private int pageSize;
private int totalPage;
private int pageNo;
private int prePage;
private int nextPage;
private List list;
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public int getNextPage() {
if(pageNo==totalPage){
nextPage=pageNo;
}else{
nextPage=pageNo+1;
}
return nextPage;
}
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPrePage() {
if(pageNo==1){
prePage=pageNo;
}else{
prePage=pageNo-1;
}
return prePage;
}
public void setPrePage(int prePage) {
this.prePage = prePage;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getTotalPage() {
if(total%pageSize==0){
totalPage=total/pageSize;
}else{
totalPage=total/pageSize+1;
}
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
}
8、Hibernate分页语句
public Page findByPageNo(int pageNo, int pageSize) {
Page page = new Page();
Query query = session.createQuery("select count(*) from TbUser");
int count = Integer.parseInt(query.uniqueResult().toString());
query = session.createQuery("from TbUser");
query.setMaxResults(pageSize);
query.setFirstResult((pageNo - 1) * pageSize);
page.setList(query.list());
page.setTotal(count);
page.setPageNo(pageNo);
page.setPageSize(pageSize);
return page;
}
9、JSP页面分页代码
共${page.totalPage }页 当前第${page.pageNo }页 共${page.total }条记录
<c:if test="${page.totalPage!=1}">
<c:if test="${page.pageNo==1}">
<font color="gray">首页 上一页</font>
<a href="user/browse?pageNo=${page.nextPage }">下一页</a>
<a href="user/browse?pageNo=${page.totalPage }">尾页</a>
</c:if>
<c:if test="${page.pageNo==page.totalPage}">
<a href="user/browse?pageNo=1">首页</a>
<a href="user/browse?pageNo=${page.prePage }">上一页</a>
<font color="gray">下一页 尾页</font>
</c:if>
<c:if test="${page.pageNo!=1 and page.pageNo!=page.totalPage}">
<a href="user/browse?pageNo=1">首页</a>
<a href="user/browse?pageNo=${page.prePage }">上一页</a>
<a href="user/browse?pageNo=${page.nextPage }">下一页</a>
<a href="user/browse?pageNo=${page.totalPage }">尾页</a>
</c:if>
</c:if>
注意:附件含代码
分享到:
相关推荐
本项目标题"sysUser S2SH 框架+分页+ajax用户时实验证"揭示了几个关键的技术点,我们将详细探讨这些知识点。 1. **Struts2框架**:Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架,负责...
总的来说,"S2SH购物车+HibernateTemplate分页"项目是一个综合性的学习资源,涵盖了Java Web开发中的关键技术和实践,对于理解SSH框架的整合和实际应用具有很高的参考价值。通过这个项目,开发者可以深入理解如何在...
本项目以"S2SH+MySql"(即Struts2、Hibernate、Spring与MySQL数据库)为基础,实现了分页功能,下面将详细介绍这一技术及其实施过程。 首先,Struts2是Java企业级开发中的一个MVC框架,负责处理用户请求并转发到...
EXTJS+S2SH+DWR 是一种常见的Web应用程序开发架构,结合了三种强大的技术来构建交互性强、用户体验良好的企业级应用。以下是对这些技术及其在雇员管理系统中的应用的详细解释: 1. EXTJS:EXTJS 是一个JavaScript库...
标题中的“通用框架S2SH+DWZ”指的是一个基于Java的Web开发框架组合,它融合了Struts、Spring和Hibernate三个主要组件,再加上DWZ(UI框架)的使用,为开发者提供了一套完整的后端和前端解决方案。下面将详细阐述...
【标题】"S2SH整合(含jar包)+分页" 涉及到的主要技术是Struts2、Spring和Hibernate的集成应用,也就是通常所说的S2SH框架。这个框架是Java Web开发中常用的一个MVC(Model-View-Controller)架构,它将Struts2的...
本示例着重讲解如何在S2SH框架下实现分页功能,这对于处理大量数据的展示和管理至关重要,能够提高用户体验并减轻服务器负载。 首先,我们来了解Struts2、Hibernate和Spring各自的角色: 1. **Struts2**:作为MVC...
在“用户信息管理s2sh+mysql+page”这个项目中,我们可以推测这是一个基于Struts2(S)、Spring(S)和Hibernate(H)的Java Web应用程序,用于管理和处理用户的个人信息,同时利用MySQL数据库存储数据,并通过分页...
本篇将详细解析如何在S2SH框架下实现分页显示,并提供相关的源代码参考。 首先,理解分页的基本原理:分页是将大量数据分割成若干小块,每次只加载一部分到页面上。用户可以点击页码或使用导航按钮来切换不同的数据...
这是一个S2SH的分页demo,数据库使用的是MySql,此demo实现了通用的分页方式,可以直接使用,也可在本demo基础上继续优化修改 此demo包含了三种方式: 1、传统方式 2、插件渲染 3、ajax方式
下面将详细讲解`s2sh`框架下实现分页的原理、步骤以及常见问题。 一、Struts2分页 Struts2作为MVC框架,负责处理用户请求和视图展示。在分页中,Struts2主要通过Action来处理请求,定义分页参数,并转发到对应的...
基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能
在S2SH项目中,可以使用Hibernate的Criteria API或者HQL来设置查询条件和分页参数,然后在前端页面通过Struts2的标签库展示分页结果。 6. **项目实用性**:本项目包含分页和CRUD操作,适合于构建数据密集型的Web...
这是一个基于S2SH(Struts2、Spring、Hibernate)架构,并结合了Extjs4.1前端框架和swfupload多文件上传插件的简单入门级项目实例。该项目旨在帮助初学者快速理解这些技术如何协同工作,创建一个具备基础功能的Web...
综上所述,S2SH分页实例涉及了Struts2的Action处理、Spring的依赖注入、Hibernate的分页查询以及前端模板的渲染。这个实例可以帮助开发者理解如何在实际项目中整合这三大框架来实现高效、灵活的分页功能。在实际操作...
【S2SH项目+ext框架环境详解】 在IT行业中,S2SH项目指的是基于Struts、Spring和Hibernate三个开源框架的整合应用。这三个框架分别负责Web层、业务层和服务层的管理,形成了一个强大的Java Web开发解决方案。Struts...
在这个主题中,我们将探讨S2SH如何实现登录验证码、分页功能、报表生成以及数据导出到Excel的功能。 首先,登录验证码是为了防止恶意自动化程序(如机器人)对系统的非法访问。在S2SH框架中,我们可以使用第三方库...
【标题】"s2sh注解增删改 分页"涉及的是基于Struts2、Spring和Hibernate这三种技术集成的Web开发框架S2SH中的一个重要实践:使用注解进行数据操作(增删改)以及实现分页功能。在这个场景中,开发者通过在Java类和...
在S2SH项目中,分页组件是一个关键部分,用于处理大量数据的展示,提高用户体验。S2SH代表Struts2、Spring和Hibernate这三个流行的Java Web开发框架的组合。这个分页组件并不依赖于Ajax技术,而是采用传统的HTTP请求...