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>  


spring-user.xml

<?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
原创粉丝点击