SpringMVC_Spring3_Hibernate4
来源:互联网 发布:粒子群优化算法优缺点 编辑:程序博客网 时间:2024/06/14 07:54
抄的网上的一个实例,忘记是网址了。。。。。。
放在这里,自己学习使用。
1.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"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>SpringMVC_Spring3_Hibernate4</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 配置Spring --> <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> <!-- 配置SpringMVC --> <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><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 设置字符集 --> <filter><filter-name>encodingFilter</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>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-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>
2.其他配置文件
spring-servlet.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:mvc="http://www.springframework.org/schema/mvc" 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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"><!-- 注解扫描的包 --><context:component-scan base-package="com.jialin" /><!-- 开启注解方案1 --><!-- 注解方法处理 --><!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> --><!-- 注解类映射处理 --><!-- <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean> --><!-- 开启注解方案2 --><mvc:annotation-driven /><!-- 静态资源访问,方案1 --><mvc:resources location="/img/" mapping="/img/**" /><mvc:resources location="/js/" mapping="/js/**" /><!-- 静态资源访问,方案2 --><!-- <mvc:default-servlet-handler/> --><!-- 视图解释类 --><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 --><property name="suffix" value=".jsp"></property></bean><!-- 上传文件bean --><!-- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8" /> <property name="maxUploadSize" value="10485760000" /> <property name="maxInMemorySize" value="40960" /> </bean> --></beans>
spring-hibernate.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:mvc="http://www.springframework.org/schema/mvc" 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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"><!-- 配置数据源 --><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://127.0.0.1/springmvc" /><property name="username" value="root" /><property name="password" value="123456" /></bean><!-- 配置hibernate SessionFactory--><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="hiberante.format_sql">true</prop></props></property><property name="configLocations"><list><value>classpath*:config/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="transactionBese"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="del*">PROPAGATION_REQUIRED,-Exception</prop><prop key="get*">PROPAGATION_NEVER</prop></props></property></bean></beans>
spring-core.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" 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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 引入其他配置文件,可以为多个 --> <import resource="classpath*:config/spring/spring-user.xml"/> </beans>
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">]><beans> <!-- Spring Bean --><bean id="userDao" class="com.jialin.dao.UserDao"><property name="sessionFactory" ref="sessionFactory"></property></bean><bean id="userManagerBase" class="com.jialin.service.UserManager"><property name="userDao" ref="userDao"></property></bean><!-- parent为transactionBese,表示支持事务 --><bean id="userManager" parent="transactionBese"><property name="target" ref="userManagerBase"></property></bean></beans>
hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <!-- 引入需要映射的类 --> <mapping class="com.jialin.entity.User"/> </session-factory></hibernate-configuration>
java代码:
UserController.java
package com.jialin.controller;import com.jialin.entity.User;import com.jialin.service.IUserManager;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;@Controller //类似Struts的Action @RequestMapping({"/user"})public class UserController{ @Resource(name="userManager") // 获取spring配置文件中bean的id为userManager的,并注入 private IUserManager userManager; @RequestMapping({"/addUser"}) // 请求url地址映射,类似Struts的action-mapping public String addUser(User user) { if (this.userManager.addUser(user)) { return "redirect:/user/getAllUser"; // 重定向 } return "/fail"; } @RequestMapping({"/updateUser"}) public String updateUser(User user, HttpServletRequest request) { if (this.userManager.updateUser(user)) { user = this.userManager.getOneUser(user); request.setAttribute("user", user); return "/UserEdit"; } return "/fail"; } @RequestMapping({"/delUser"}) public void delUser(User user, HttpServletResponse response) { String result = "{\"result\":\"error\"}"; if (this.userManager.delUser(user)) result = "{\"result\":\"success\"}"; PrintWriter out = null; response.setContentType("application/json"); try { out = response.getWriter(); out.write(result); } catch (IOException e) { e.printStackTrace(); } } @RequestMapping({"/toAddUser"}) public String toAddUser() { return "/UserAdd"; } @RequestMapping({"/toUpdateUser"}) public String toUpdateUser(User user, HttpServletRequest request) { User user1 = this.userManager.getOneUser(user); request.setAttribute("user1", user1); return "/UserEdit"; } @RequestMapping({"/getAllUser"}) public String getAllUser(HttpServletRequest request) { List userList = this.userManager.getAllUser(); request.setAttribute("userlist", userList); return "/UserMain"; }}
IUserDao
package com.jialin.dao;import com.jialin.entity.User;import java.util.List;public abstract interface IUserDao{ public abstract boolean addUser(User paramUser); public abstract boolean delUser(User paramUser); public abstract boolean updateUser(User paramUser); public abstract List<User> getAllUser(); public abstract User getOneUser(User paramUser);}
UserDao.java
package com.jialin.dao;import com.jialin.entity.User;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;public class UserDao implements IUserDao{ private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public boolean addUser(User user) { this.sessionFactory.getCurrentSession().save(user); return true; } public boolean delUser(User user) { this.sessionFactory.getCurrentSession().delete(user); return true; } public boolean updateUser(User user) { this.sessionFactory.getCurrentSession().update(user); return true; } public List<User> getAllUser() { Query query = this.sessionFactory.getCurrentSession().createQuery("from User"); List userlist = query.list(); return userlist; } public User getOneUser(User user) { User user1 = (User)this.sessionFactory.getCurrentSession().load(User.class, user.getId()); return user1; }}
User.java
package com.jialin.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;import org.hibernate.annotations.GenericGenerator;@Entity@Table(name="t_user")public class User{ @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid", strategy="uuid") @Column(length=32) private String id; @Column(length=32) private String userName; @Column(length=32) private String age; public String getId() { return this.id; } public void setId(String id) { this.id = id; } public String getUserName() { return this.userName; } public void setUserName(String userName) { this.userName = userName; } public String getAge() { return this.age; } public void setAge(String age) { this.age = age; }}
IUserManager.java
package com.jialin.service;import com.jialin.entity.User;import java.util.List;public abstract interface IUserManager{ public abstract boolean addUser(User paramUser); public abstract boolean delUser(User paramUser); public abstract boolean updateUser(User paramUser); public abstract User getOneUser(User paramUser); public abstract List<User> getAllUser();}
UserManager.java
package com.jialin.service;import com.jialin.dao.IUserDao;import com.jialin.entity.User;import java.util.List;public class UserManager implements IUserManager{ private IUserDao userDao; public User getOneUser(User user) { return this.userDao.getOneUser(user); } public void setUserDao(IUserDao userDao) { this.userDao = userDao; } public boolean addUser(User user) { return this.userDao.addUser(user); } public boolean delUser(User user) { return this.userDao.delUser(user); } public boolean updateUser(User user) { return this.userDao.updateUser(user); } public List<User> getAllUser() { return this.userDao.getAllUser(); }}
JSP页面:
fail.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>操作失败</body></html>
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>操作成功</body></html>
UserAdd.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form action="/SpringMVC/user/addUser" method="post"><h3>添加用户信息</h3>姓名:<input type="text" name="userName" id="userName"value="" /> 年龄:<input type="text" name="age" id="age"value="" /> <input type="submit" value="提交" /></form></body></html>
UserEdit.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ page import="java.util.*" %><%@ page import="com.jialin.entity.User" %><%/* User user=(User)request.getAttribute("user"); System.out.println(user.getId()); System.out.println(user.getUserName()); System.out.println(user.getAge()); */ //注意request中已经有一个user,再放入一个user,不会将前一个覆盖%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form action="/SpringMVC/user/updateUser" method="post"><h3>更改用户信息</h3><input type="hidden" name="id" value="${user1.id }" /> 姓名:<input type="text" name="userName" value="${user1.userName} " /> 年龄:<input type="text" name="age" value="${user1.age} " /> <input type="submit" value="提交" /></form></body></html>
UserMain.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%-- <%@ page import="java.util.*" %><%@ page import="com.jialin.entity.User" %><% List list=(List)request.getAttribute("userlist"); for(Iterator iter=list.iterator();iter.hasNext();) { User user =(User)iter.next(); System.out.println(user.getId());}%> --%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script type="text/javascript" src="/SpringMVC/js/jquery-1.7.1.min.js"></script><script type="text/javascript">function delUser(id) {alert("323")$.get("/SpringMVC/user/delUser?id=" + id, function(data) {if (data.result == "success") {alert("删除成功");window.location.reload(); } else {alert("操作失败");}});}function addUser() {window.location.href = "/SpringMVC/user/toAddUser";}</script></head><body><h3>用户信息</h3><table><tr><td>id</td><td>用户名</td><td>年龄</td><td>操作</td></tr> <c:choose><c:when test="${empty userlist }"><tr><td colspan="3">无数据</td></tr></c:when><c:otherwise><c:forEach items="${userlist}" var="user"><tr><td>${user.id }</td><td>${user.userName }</td><td>${user.age }</td><td><a href="/SpringMVC/user/toUpdateUser?id=${user.id} ">编辑</a> <ahref="javascript:delUser('${user.id }')">删除</a></td></tr></c:forEach></c:otherwise></c:choose></table><input type="button" id="btnAdd" value="添加用户" onclick="addUser()"></body></html>
0 0
- SpringMVC_Spring3_Hibernate4
- 快速学Arm(12)--APB,AHB地址与接口的关系
- poj 2513 Colored Sticks 字典树
- iOS_二维码扫描(iOS自带)
- 使用jqueryUI插件,easyui-datagrid,列表显示加载两次
- HNU 13103 Easy Delete 最小点覆盖=最大匹配数
- SpringMVC_Spring3_Hibernate4
- 换博客了。。。。。。
- KVM虚拟化开源高可用方案(七)GLUSTERFS搭建及常见故障处理
- <pre>标记、表格标记、html表单标记、插入Flash、框架技术
- 调整volume的参数
- 【Effective C++笔记】让自己习惯C++
- WPF程序将DLL嵌入到EXE的两种方法
- GlusterFS分布式文件系统使用简介
- C# 合并dll和exe