文档章节

springMVC&hibernate

Zero零_度
 Zero零_度
发布于 2015/05/09 10:58
字数 433
阅读 46
收藏 0

一、web.xml

<!-- 通过上下文参数指定spring配置文件的位置 -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:beans.xml</param-value>
 </context-param>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 
 <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:springmvc.xml</param-value>
  </init-param>
 </servlet> 
  
 <servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>*.action</url-pattern>
 </servlet-mapping> 

二、数据源beans.xml

<!-- 注解驱动 -->
 <mvc:annotation-driven/>
 <!-- 组件扫描 -->
 <context:component-scan base-package="com.hcm.controller"></context:component-scan>
 
 <!-- 定义数据源 -->
 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
  <property name="driverClass" value="com.mysql.jdbc.Driver" />
  <property name="jdbcUrl" value="jdbc:mysql://localhost/springmvc" />
  <property name="user" value="root" />
  <property name="password" value="root" />
  
  <property name="initialPoolSize" value="10"/>
  <property name="maxPoolSize" value="50"/>
  <property name="minPoolSize" value="10"/>
 </bean>
 
 <bean id="sf" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource" ref="dataSource"></property>
  
  <!-- hibernate映射文件的位置 -->
  <property name="mappingDirectoryLocations">
   <value>classpath:com/hcm/domain/</value>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.Dialect">org.hibernate.dialect.MySQL5Dialect</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.hbm2ddl">update</prop>
   </props>
  </property>
 </bean>
 
 <!-- 事务管理器 -->
 <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sf"></property>
 </bean>
 
 <!-- 配置事物的传播特性 (事物通知)-->
 <tx:advice id="txAdvice" transaction-manager="txManager">
  <tx:attributes>
   <tx:method name="save*" propagation="REQUIRED"/>
   <tx:method name="delete*" propagation="REQUIRED"/>
   <tx:method name="update*" propagation="REQUIRED"/>
   <tx:method name="find*" read-only="true"/>
   <tx:method name="*" read-only="true"/>
  </tx:attributes>
 </tx:advice>
 
 <aop:config>
  <aop:advisor pointcut="execution(* com.hcm.service.*.*(..))" advice-ref="txAdvice"/>
 </aop:config>

三、mvc模型解析器springmvc.xml

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/jsps/"></property>
  <property name="suffix" value=".jsp"></property>
 </bean>

四、自定义controller:

package com.hcm.controller;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.hcm.domain.Person;
@Controller
@RequestMapping(value="/home")
public class HomeController {
 
 @RequestMapping(value="/hello.action", method=RequestMethod.GET)
 public String hello(String id, String name, String address, Map<String, Object> model) {
  model.put("id", id);
  model.put("name", name);
  model.put("address", address);
  return "hello";
 }
 
 @RequestMapping(value="/person.action")
 public String person(Person person, Map<String, Object> model) {
  model.put("person", person);
  return "person";
 }
 
 /**
  * 加上@RequestParam会出现HTTP ERROR 400的报错
  * @param uid
  * @param uname
  * @param address
  * @param model
  * @return
  */
 @RequestMapping(value="/helloH.action")
 public String hello2(@RequestParam(value="id") String uid, @RequestParam(value="name") String uname, String address, HttpServletRequest req) {
  req.setAttribute("id", uid);
  req.setAttribute("name", uname);
  req.setAttribute("address", address);
  return "hello2";
 }
 
}

五、代码下载:

链接:http://pan.baidu.com/s/1eQ3vAOq 密码:wihz

© 著作权归作者所有

Zero零_度
粉丝 69
博文 1267
码字总数 263854
作品 0
程序员
私信 提问

暂无文章

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部