1. 新建web project

2. 引入jar,

3. 创建包com.tgb.web.controller, 下面创建包(dao,entity,service, config,spring,hibernate)

config-> spring-core.xml,spring-servlet.xml,spring-hibernate.xml

1) config下 springmvc配置文件 spring-servlet.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"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 注解扫描包 -->
<context:component-scan base-package="com.tgb.web.controller" /> <!-- 开启注解 -->
<mvc:annotation-driven/> <!-- 静态资源访问 -->
<mvc:resources location="/img/" mapping="/img/**"/>
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/> <!-- ViewResolver 视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 上传文件 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<property name="maxUploadSize" value="1048576000"/>
<property name="maxInMemorySize" value="40960"/>
</bean> </beans>

 2) spring-hibernate.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" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/test_ssh"/>
<property name="username" value="root"/>
<property name="password" value="linda0213"/>
</bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<property name="configLocations">
<list>
<value>
classpath*:com/tgb/web/controller/hibernate/hibernate.cfg.xml
</value>
</list>
</property>
</bean> <!-- 定义事务管理器(声明式的事务) -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean> <bean id="transactionBase" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true">
<!-- 配置事务管理器 -->
<property name="transactionManager" ref="transactionManager"></property>
<!-- 配置事务管理器 -->
<property name="transactionAttributes">
<props>
<!-- 配置事务传播特性 -->
<prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="get*">PROPAGATION_NEVER</prop>
</props>
</property>
</bean> </beans>

 3)  spring配置文件:spring-core.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" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <import resource="classpath*:com/tgb/web/controller/spring/spring-import.xml"/>
</beans>

 

spring-> spring-import.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" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <bean id="userDao" class="com.tgb.web.controller.dao.UserDAO">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="userManagerBase" class="com.tgb.web.controller.service.UserManager">
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userManager" parent="transactionBase">
<property name="target" ref="userManagerBase"></property>
</bean>
</beans>

hibernate->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>
<mapping class ="com.tgb.web.controller.entity.User" />
  </session-factory>
</hibernate-configuration>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/spring-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<filter>
<filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 配置Session -->
<filter>
<filter-name>openSession</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSession</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

  

4. 建实体类 

entity->User.java

package com.tgb.web.controller.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table; @Entity
@Table(name="T_USER")
public class User {
@Id
@GeneratedValue
@Column(length=32)
private Long id; public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(length=32)
private String userName;
@Column(length=32)
private String age;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}

5. 建DAO层 

dao->IUserDao.java, UserDao.java

1) IUserDao.java接口文件

package com.tgb.web.controller.dao;
import java.util.List;
import com.tgb.web.controller.entity.User;
public interface IUserDAO {
public void addUser(User user);
public List<User> getAllUser();
public boolean delUser(Long id);
public User getUser(Long id);
public boolean updateUser(User user);
public List<User> getForPage(int offset, int length);
public Long getAllRowCount();
}

  2) UserDao.java 实体类

package com.tgb.web.controller.dao;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.SessionFactory; import com.tgb.web.controller.entity.User; public class UserDAO implements IUserDAO { private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
} public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
} @Override
public void addUser(User user) {
sessionFactory.getCurrentSession().save(user);
} @Override
public List<User> getAllUser() {
String hql = "FROM User";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
return query.list();
} @Override
public boolean delUser(Long id) {
String hql = "DELETE User u WHERE u.id=?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, String.valueOf(id)); return (query.executeUpdate()>0);
} @Override
public User getUser(Long id) {
String hql = "FROM User u WHERE u.id=?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, String.valueOf(id));
return (User)query.uniqueResult();
} @Override
public boolean updateUser(User user) {
String hql = "UPDATE User u SET u.userName=? ,u.age=? WHERE u.id=?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, String.valueOf(user.getUserName()));
query.setString(1, String.valueOf(user.getAge()));
query.setString(2, String.valueOf(user.getId())); return (query.executeUpdate()>0);
} @Override
public List<User> getForPage(int offset, int length) {
List<User> userList=null;
String hql = "FROM User";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(length);
userList=query.list();
return userList;
} @Override
public Long getAllRowCount() {
String hql = "SELECT COUNT(*) FROM User";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
return Long.parseLong(query.uniqueResult().toString());
} }

6. 建service层

service->IUserManager.java, UserManager.java

1) IUserManager.java接口

package com.tgb.web.controller.service;

import java.util.List;

import com.tgb.web.controller.entity.Page;
import com.tgb.web.controller.entity.User; public interface IUserManager {
public void addUser(User user);
public List<User> getAllUser();
public boolean delUser(Long id);
public User getUser(Long id);
public boolean updateUser(User user);
public Page getForPage(int offset, int length);
public Long getAllRowCount();
}

 2) UserManager.java实现类

package com.tgb.web.controller.service;

import java.util.List;

import com.tgb.web.controller.dao.IUserDAO;
import com.tgb.web.controller.entity.Page;
import com.tgb.web.controller.entity.User; public class UserManager implements IUserManager{
private IUserDAO userDao; public IUserDAO getUserDao() {
return userDao;
} public void setUserDao(IUserDAO userDao) {
this.userDao = userDao;
} @Override
public void addUser(User user) {
userDao.addUser(user);
} @Override
public List<User> getAllUser() {
return userDao.getAllUser();
} @Override
public boolean delUser(Long id) {
return userDao.delUser(id);
} @Override
public User getUser(Long id) {
return userDao.getUser(id);
} @Override
public boolean updateUser(User user) {
return userDao.updateUser(user);
} @Override
public Page getForPage(int currentPage, int pageSize) {
Page page = new Page();
int allRow = userDao.getAllRowCount().intValue();
int offset = page.countOffset(currentPage, pageSize);
List<User> list= userDao.getForPage(offset, pageSize);
page.setPageNo(currentPage);
page.setPageSize(pageSize);
page.setTotalRecords(allRow);
page.setList(list);
return page;
} @Override
public Long getAllRowCount() {
return userDao.getAllRowCount();
}
}

7. 建controller

 controller包下新建controller文件

UserController.java

 

package com.tgb.web.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import com.tgb.web.controller.entity.Page;
import com.tgb.web.controller.entity.User;
import com.tgb.web.controller.service.IUserManager; @Controller
@RequestMapping("/user")
public class UserController {
@Resource(name="userManager")
private IUserManager userManager; @RequestMapping("/addUser")
public String addUser(User user){
userManager.addUser(user);
return "redirect:/user/getAllUsers";
}
@RequestMapping("/toAddUser")
public String toAddUser(){
return "/addUser";
} @RequestMapping("/delUser")
public void delUser(Long id,HttpServletResponse response){
String result = "{\"result\":\"error\"}";
if(userManager.delUser(id)){
result = "{\"result\":\"success\"}";
}
PrintWriter out = null;
response.setContentType("application/json");
try {
out=response.getWriter();
out.write(result);
} catch (IOException e) {
e.printStackTrace();
}
} @RequestMapping("/getAllUser")
public String getAllUser(HttpServletRequest request){
List<User> users = userManager.getAllUser();
request.setAttribute("users", users);
return "/userManager";
} @RequestMapping("/getAllUsers")
public String getAllUsers(HttpServletRequest request){
try {
String pageNo = request.getParameter("pageNo");
if (pageNo == null) {
pageNo = "1";
}
Page page = userManager.getForPage(Integer.valueOf(pageNo), 10);
request.setAttribute("page", page);
List<User> pageusers = page.getList();
request.setAttribute("pageusers", pageusers);
} catch (Exception e) {
e.printStackTrace();
}
return "/userManagerPage";
} @RequestMapping("/getUser")
public String getUser(Long id,HttpServletRequest request){
User user = userManager.getUser(id);
request.setAttribute("user", user);
return "/editUser";
} @RequestMapping("/updateUser")
public String updateUser(User user,HttpServletRequest request, HttpServletResponse response){
if(userManager.updateUser(user)){
return "redirect:/user/getAllUsers";
}
else{
return "error";
} } }

8. 建显示层jsp文件  

userManager.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<title>My JSP 'addUser.jsp' starting page</title>
<script type="text/javascript">
function del(id){
$.get("/springMVCSSH2/user/delUser?id="+id,function(data){
alert(data.result);
if("success"==data.result){
alert("删除成功");
window.location.reload();
}
else{
alert("删除失败");
}
});
}
</script>
</head>
<body>
<a href="/springMVCSSH2/user/toAddUser">添加用户</a>
<table border="1">
<tbody>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>编辑</th>
</tr>
<c:if test="${!empty users }">
<c:forEach items="${users }" var="u">
<tr>
<td>${u.userName}</td>
<td>${u.age}</td>
<td>
<a href="/springMVCSSH2/user/getUser?id=${u.id}">编辑</a>
<a href="javascript:del('${u.id }')">删除</a>
</td>
</tr>
</c:forEach>
</c:if>
</tbody>
</table>
</body>
</html>

addUser.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<title>My JSP 'addUser.jsp' starting page</title>
<script type="text/javascript">
function addUser(){
var form=document.forms[0];
form.action="/springMVCSSH2/user/addUser";
form.method="post";
form.submit();
}
</script>
</head>
<body>
<h> 添加用户 </h> <br>
<form action="">
姓名: <input type="text" name="userName">
年龄: <input type="text" name="age">
<input type="button" value="添加" onClick="addUser()">
</form> </body>
</html>

editUser.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<title>My JSP 'addUser.jsp' starting page</title>
<script type="text/javascript">
function editUser(){
var form=document.forms[0];
form.action="/springMVCSSH2/user/updateUser";
form.method="post";
form.submit();
}
</script>
</head>
<body>
<h> 修改用户 </h> <br>
<form name="userForm" action="/springMVCSSH2/user/updateUser" method="post">
<%-- <form action="">--%>
<input type="hidden" name="id" value="${user.id }">
姓名: <input type="text" name="userName" value="${user.userName }">
年龄: <input type="text" name="age" value="${user.age }">
<input type="submit" value="编辑">
</form> </body>
</html>

  

IE端访问:

http://localhost:8080/springMVCSSH2/user/getAllUser

  

分页的话, 在entity里新建Page.java

package com.tgb.web.controller.entity;
import java.util.List; public class Page<E> {
// 结果集
private List<E> list; // 查询记录总数
private int totalRecords; // 每页多少条记录
private int pageSize; // 第几页
private int pageNo; /**
* @return 总页数
* */
public int getTotalPages(){
return (totalRecords+pageSize-1)/pageSize;
} /**
* 计算当前页开始记录
* @param pageSize 每页记录数
* @param currentPage 当前第几页
* @return 当前页开始记录号
*/
public int countOffset(int currentPage,int pageSize){
int offset = pageSize*(currentPage-1);
return offset;
} /**
* @return 首页
* */
public int getTopPageNo(){
return 1;
} /**
* @return 上一页
* */
public int getPreviousPageNo(){
if(pageNo<=1){
return 1;
}
return pageNo-1;
} /**
* @return 下一页
* */
public int getNextPageNo(){
if(pageNo>=getBottomPageNo()){
return getBottomPageNo();
}
return pageNo+1;
} /**
* @return 尾页
* */
public int getBottomPageNo(){
return getTotalPages();
} public List<E> getList() {
return list;
} public void setList(List<E> list) {
this.list = list;
} public int getTotalRecords() {
return totalRecords;
} public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
} public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} public int getPageNo() {
return pageNo;
} public void setPageNo(int pageNo) {
this.pageNo = pageNo;
} }

在UserDao.java里加入新方法

@Override
public List<User> getForPage(int offset, int length) {
List<User> userList=null;
String hql = "FROM User";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(length);
userList=query.list();
return userList;
} @Override
public Long getAllRowCount() {
String hql = "SELECT COUNT(*) FROM User";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
return Long.parseLong(query.uniqueResult().toString());
}

UserManage.java里调用dao方法

@Override
public Page getForPage(int currentPage, int pageSize) {
Page page = new Page();
int allRow = userDao.getAllRowCount().intValue();
int offset = page.countOffset(currentPage, pageSize);
List<User> list= userDao.getForPage(offset, pageSize);
page.setPageNo(currentPage);
page.setPageSize(pageSize);
page.setTotalRecords(allRow);
page.setList(list);
return page;
} @Override
public Long getAllRowCount() {
return userDao.getAllRowCount();
}

UserController里调用

@RequestMapping("/getAllUsers")
public String getAllUsers(HttpServletRequest request){
try {
String pageNo = request.getParameter("pageNo");
if (pageNo == null) {
pageNo = "1";
}
Page page = userManager.getForPage(Integer.valueOf(pageNo), 10);
request.setAttribute("page", page);
List<User> pageusers = page.getList();
request.setAttribute("pageusers", pageusers);
} catch (Exception e) {
e.printStackTrace();
}
return "/userManagerPage";
}

  新建显示层jsp文件 UserManagerPage.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<title>My JSP 'addUser.jsp' starting page</title>
<script type="text/javascript">
function del(id){
$.get("/springMVCSSH2/user/delUser?id="+id,function(data){
alert(data.result);
if("success"==data.result){
alert("删除成功");
window.location.reload();
}
else{
alert("删除失败");
}
});
}
</script>
</head>
<body>
<a href="/springMVCSSH2/user/toAddUser">添加用户</a>
<table border="1">
<tbody>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>编辑</th>
</tr>
<c:if test="${!empty pageusers }">
<c:forEach items="${pageusers }" var="u">
<tr>
<td>${u.userName}</td>
<td>${u.age}</td>
<td>
<a href="/springMVCSSH2/user/getUser?id=${u.id}">编辑</a>
<a href="javascript:del('${u.id }')">删除</a>
</td>
</tr>
</c:forEach>
</c:if>
<tr>
<td colspan="6" align="center">共${page.totalRecords}条记录 共${page.totalPages}页 当前第${page.pageNo}页<br> <a href="/springMVCSSH2/user/getAllUsers?pageNo=${page.topPageNo }"><input type="button" name="fristPage" value="首页" /></a>
<c:choose>
<c:when test="${page.pageNo!=1}"> <a href="/springMVCSSH2/user/getAllUsers?pageNo=${page.previousPageNo }"><input type="button" name="previousPage" value="上一页" /></a> </c:when>
<c:otherwise> <input type="button" disabled="disabled" name="previousPage" value="上一页" /> </c:otherwise>
</c:choose>
<c:choose>
<c:when test="${page.pageNo != page.totalPages}">
<a href="/springMVCSSH2/user/getAllUsers?pageNo=${page.nextPageNo }"><input type="button" name="nextPage" value="下一页" /></a>
</c:when>
<c:otherwise> <input type="button" disabled="disabled" name="nextPage" value="下一页" /> </c:otherwise>
</c:choose>
<a href="/springMVCSSH2/user/getAllUsers?pageNo=${page.bottomPageNo }"><input type="button" name="lastPage" value="尾页" /></a>
</td>
</tr> </tbody>
</table>
</body>
</html>

  

 

 

  

  

SpringMVC+Spring+hibernate整合及分页的更多相关文章

  1. SpringMVC+Spring+Hibernate整合开发

    最近突然想认真研究下java web常用框架,虽然现在一直在用,但实现的整体流程不是很了解,就在网上搜索资料,尝试自己搭建,以下是自己的搭建及测试过程. 一.准备工作: 1/安装并配置java运行环境 ...

  2. 【JavaEE】Springmvc+Spring+Hibernate整合及example

    前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码结构. Hibernate和前面两个比就比较复杂了,Hibernate是一个o ...

  3. 笔记58 Spring+Hibernate整合(一)

    Spring+Hibernate整合 一.整合思路 使DAO继承HibernateTemplate这个类 HibernateTemplate这个类提供了setSessionFactory()方法用于注 ...

  4. 3.springMVC+spring+Mybatis整合Demo(单表的增删该查,这里主要是贴代码,不多解释了)

    前面给大家讲了整合的思路和整合的过程,在这里就不在提了,直接把springMVC+spring+Mybatis整合的实例代码(单表的增删改查)贴给大家: 首先是目录结构: 仔细看看这个目录结构:我不详 ...

  5. spring+hibernate整合:报错org.hibernate.HibernateException: No Session found for current thread

    spring+hibernate整合:报错信息如下 org.hibernate.HibernateException: No Session found for current thread at o ...

  6. Springmvc+Spring+Hibernate搭建方法及实例

    Springmvc+Spring+Hibernate搭建方法及实例  

  7. SpringMVC+Spring+Hibernate的小样例

    Strusts2+Spring+Hibernate尽管是主流的WEB开发框架,可是SpringMVC有越来越多的人使用了.确实也很好用.用得爽! 这里实现了一个SpringMVC+Spring+Hib ...

  8. Springmvc+Spring+Hibernate搭建方法

    Springmvc+Spring+Hibernate搭建方法及example 前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码 ...

  9. Maven搭建springMVC+spring+hibernate环境

    这次不再使用struts2做控制器,采用spring自己的springMVC框架实现. 首先,改写pom.xml文件,不需要struts2的相关jar了. pom.xml <project xm ...

随机推荐

  1. Git 多人协作开发

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且你的远程仓库的默认名称是origin 查看远程库的信息,用git remote LV@LV-PC ...

  2. Heartbeat+DRBD+MySQL高可用方案【转】

    转自Heartbeat+DRBD+MySQL高可用方案 - yayun - 博客园 http://www.cnblogs.com/gomysql/p/3674030.html 1.方案简介 本方案采用 ...

  3. python http请求

    from httplib2 import Http def postDada(): http=Http() heads={"pragma":"no-cache" ...

  4. iOS View 模糊效果(毛玻璃)

    iOS View 模糊效果(毛玻璃)   相关资料 http://stackoverflow.com/questions/18404907/using-gpuimage-to-recreate-ios ...

  5. on使用详解

    on()是bind(),live(),delegate()的替代品,1.7及1.7以后使用on() bind() 绑定元素 live() 为元素附加事件,匹配选择器的当前及未来的元素(比如由脚本创建的 ...

  6. C# Socket的TCP通讯

    Socket的TCP通讯 一. socket的通讯原理 服务器端的步骤如下. (1)建立服务器端的Socket,开始侦听整个网络中的连接请求. (2)当检测到来自客户端的连接请求时,向客户端发送收到连 ...

  7. 由浅到深理解java反射

    1.基础概念 class类: 1.1java是面向对象的,但是在java中存在两种东西不是面向对象的 一种是普通的数据类型,这也是封装数据类存在的原因. 二种是静态静态成员. 1.2所以我们首先要理解 ...

  8. TextureView+SurfaceTexture+OpenGL ES来播放视频(二)

    引自:http://www.jianshu.com/p/b2d949ab1a1a 在使用OpenGL ES 绘制前,我先概括下接下来要做的工作:我先借用一个博主kiffa举的的一个栗子,我觉得说的恰到 ...

  9. oracle 常用sql语句

    oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...

  10. makefile中使用echo向文件中输出版本号和编译时间

    @echo "#define BUILD_TIME" `date +"%F_%H:%M:%S"` > buildTime_svnVer.h @echo & ...