配置spring4+spring mvc+hibernate4+hadoop1.2

来源:互联网 发布:淘宝店铺装修轮播 编辑:程序博客网 时间:2024/05/16 05:40

打算做一个核心出来,用spring4+spring mvc+hibernate4+hadoop1.2,今天下午看了一下spring官方文档!然后百度了一下,终于把环境配置成功了

jar包特别的多,没有整理,全部都放进去了,因为这也是对hadoop1.2操作,所以呢,也有一些hadoop的jar包



第二呢,web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  <display-name>NetworkDisk</display-name> <!-- Spring 配置路径 --> <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>classpath:applicationContext.xml</param-value> </context-param> <filter>  <!-- 配置struts2拦截器 -->  <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> <!-- Spring的OpenSessionInView实现 --><filter>    <filter-name>openSessionInViewFilter</filter-name>    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class><!-- singleSession默认为true,若设为false则等于没用OpenSessionInView 。所以默认可以不写-->     <init-param>       <param-name>singleSession</param-name>       <param-value>true</param-value>      </init-param> <!-- 指定org.springframework.orm.hibernate3.LocalSessionFactoryBean在spring配置文件中的名称,默认值为sessionFactory。 如果LocalSessionFactoryBean在spring中的名称不是sessionFactory,该参数一定要指定,否则会出现找不到sessionFactory的例外。所以默认可以不写--> <init-param>     <param-name>sessionFactoryBean</param-name>   <param-value>sessionFactory</param-value>  </init-param> </filter><filter-mapping>    <filter-name>openSessionInViewFilter</filter-name>    <url-pattern>/*</url-pattern></filter-mapping>  <!-- 配置spring监听器 --> <listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <session-config>  <session-timeout>1480</session-timeout> </session-config> <welcome-file-list>  <welcome-file>index.jsp</welcome-file> </welcome-file-list> <error-page>  <error-code>444</error-code>  <location>/pageNotFund.jsp</location> </error-page> <error-page>  <error-code>440</error-code>  <location>/error.jsp</location> </error-page> </web-app>

第三呢,struts2.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><!-- struts.xml文件可以用include元素进行包含拆分后的struts的xml文件· --><!--<include file="struts_war.xml"></include> --><!-- 用constant元素可以代替struts.properties --><constant name="struts.i18n.encoding" value="UTF-8"></constant>  <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->    <constant name="struts.configuration.xml.reload" value="true" /><!--下边这个常量信息有助于我们在开放过程中看到更多的出错信息 --><constant name="struts.devMode" value="true"></constant><!--下边这个常量信息是关于DMI即动态方法调用的常量,值必须为true才能实现动态方法调用 --><constant name="struts.enable.DynamicMethodInvocation" value="true"></constant><!-- 设置页面主题为simple --><constant name="struts.ui.theme" value="simple" /><!-- 文件上传限制大小 --><constant name="struts.multipart.maxSize" value="104857600000"></constant><!-- 注册自己的文件上传解析类 --><bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest"name="requestParser" class="com.xun.disk.upload.listener.JakartaMultiPartRequest"scope="default" optional="true" /><constant name="struts.multipart.parser" value="requestParser" /><!-- 验证码 --><package name="Security" namespace="/Security" extends="struts-default">    <action name="SecurityCodeImageAction"     class="com.xun.disk.action.longin.SecurityCodeImageAction">        <result name="success" type="stream">            <param name="contentType">image/jpeg</param>            <param name="inputName">imageStream</param>            <param name="bufferSize">2048</param>        </result>    </action></package><!-- 文件上传  --><package name="edu" extends="struts-default"><action name ="fileUpload" class ="com.xun.disk.action.longin.FileAction" method="upload"><param name="savePath">/resources/files</param><result name ="success">/result.jsp</result> <!--这个返回页面无所谓的,不刷新的 -->        </action ></package><!-- 登录 --><package name="login" namespace="/" extends="struts-default">   <action name="loginAction" class="com.xun.disk.action.longin.LoginAction" method="login">      <result name="success">./disk.jsp</result>       <result name="error">./login.jsp</result>   </action>   <action name="regionAction" class="com.xun.disk.action.longin.RegionAction" method="region">      <result name="success">./disk.jsp</result>       <result name="error">./login.jsp</result>   </action>   </package></struts>

然后就是core-site.xml

<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration><property><name>fs.default.name</name><value>hdfs://192.168.117.2:9000</value></property></configuration>

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><!-- hibernate session工厂的名字 --><session-factory name="test"><!-- JDBC配置 --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- 连接字符串默认编码为utf-8 --><property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/disk?useUnicode=true&characterEncoding=utf-8</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">123456</property><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- 选择update更新级别 --><property name="hibernate.hbm2ddl.auto">update</property><property name="hibernate.show_sql">true</property><property name="hibernate.format_sql">true</property><!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --><property name="hibernate.c3p0.acquire_increment">5</property><!-- 每60秒检查所有连接池中的空闲连接。Default: 0 --><property name="hibernate.c3p0.idle_test_period">60</property><!-- 连接池中保留的最大连接数。Default: 15 --><property name="hibernate.c3p0.max_size">50</property><!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 --><property name="hibernate.c3p0.max_statements">10</property><!-- 连接池中保留的最小连接数 --><property name="hibernate.c3p0.min_size">5</property><!-- 当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出 SQLException,如设为0则无限期等待。单位毫秒。Default: 0 --><property name="hibernate.c3p0.timeout">10000</property><!-- 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --><property name="hibernate.c3p0.acquireRetryAttempts">30</property><!-- 两次连接中间隔时间,单位毫秒。Default: 1000 --><property name="hibernate.c3p0.acquireRetryDelay" >1000</property><!-- 连接关闭时默认将所有未提交的操作回滚。Default: false --><property name="hibernate.c3p0.autoCommitOnClose" >false</property><!-- 初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 --><property name="hibernate.c3p0.initialPoolSize"  >10</property><!-- 最大空闲时间,600秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --><property name="hibernate.c3p0.maxIdleTime" >600</property><!-- c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么 属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试 使用。Default: null --><property name="hibernate.c3p0.automaticTestTable" >TestTable</property><!-- 获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 获取连接失败后该数据源将申明已断开并永久关闭。Default: false --><property name="hibernate.c3p0.breakAfterAcquireFailure"  >false</property><!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 --><property name="hibernate.c3p0.maxStatementsPerConnection">10</property><!--c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能 通过多线程实现多个操作同时被执行。Default: 3 --><property name="hibernate.c3p0.numHelperThreads">10</property><!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的 时候都将校 验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 等方法来提升连接测试的性能。Default: false --><property name="hibernate.c3p0.testConnectionOnCheckout">false</property><!--定义所有连接测试都执行的测试语句。在使用连接测试的情况下这个一显著提高测试速度。注意: 测试的表必须在初始数据源的时候就存在。Default: null --><property name="hibernate.c3p0.preferredTestQuery">select current_date as Systemtime;</property><!-- 映射文件 --><mapping resource="com/xun/disk/hibernate/entity/User.hbm.xml" /><!-- 映射文件  --><mapping resource="com/xun/disk/hibernate/entity/Resource.hbm.xml" /><mapping resource="com/xun/disk/hibernate/entity/Admin.hbm.xml" /><mapping resource="com/xun/disk/hibernate/entity/Operation.hbm.xml" /><mapping resource="com/xun/disk/hibernate/entity/Audit.hbm.xml" /><mapping resource="com/xun/disk/hibernate/entity/Folder.hbm.xml" /><mappingresource="com/xun/disk/hibernate/entity/Resource_Folder.hbm.xml" />  </session-factory></hibernate-configuration>

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"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd"><!-- 这里使用import导入三个spring配置文件放置一个文件过大 --><import resource="classpath:applicationContext-dao.xml" /><import resource="classpath:applicationContext-service.xml" /><import resource="classpath:applicationContext-action.xml" /><!-- 让Spring帮我们创建SessionFactory --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!-- 告诉Hibernate配置文件在哪里 --><property name="configLocation"value="classpath:hibernate.cfg.xml"></property></bean><!-- 让Spring来管理Hibernate事务的开启和关闭等1、事务管理器2、建立通知描述事务的特性3、装配起来--><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><!-- 因为事务由Session来创建,因而它需要知道用那个SessionFactory --><property name="sessionFactory" ref="sessionFactory"></property></bean><!-- 定义通知 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><!-- 定义事务的特性 --><tx:attributes><!-- 对于数据查找,我们不希望别人这个时间去修改数据 --><tx:method name="get*" read-only="true" /><tx:method name="show*" read-only="true" /><!-- 对于数据修改我们必须放到一个事务中 --><tx:method name="*"   propagation="REQUIRED"/></tx:attributes></tx:advice><!-- 切面编程 --><aop:config><!-- 切入点 --><aop:pointcut id="myBizOperation"expression="execution(* com.xun.disk.dao.*.*.*(..))" /><!-- 通知 --><aop:advisor advice-ref="txAdvice"pointcut-ref="myBizOperation" /></aop:config><bean class="com.xun.disk.hibernate.entity.User" id="user" scope="prototype"></bean><!-- 创建实体类bean --><bean  class="com.xun.disk.hibernate.entity.DfsOO" id="dfsOO" scope="prototype"></bean><bean class="com.xun.disk.hibernate.entity.Admin" id="admin" scope="prototype"></bean><bean class="com.xun.disk.hibernate.entity.Audit" id="audit" scope="prototype"></bean><bean class="com.xun.disk.hibernate.entity.Operation" id="operation" scope="prototype"></bean><bean class="com.xun.disk.hibernate.entity.Resource" id="resource" scope="prototype"></bean>    <bean class="com.xun.disk.hibernate.entity.Folder" id="folder" scope="prototype"></bean>    <bean class="com.xun.disk.hibernate.entity.FileUploadStatus" id="fileUploadStatus" scope="prototype"></bean>    <bean class="com.xun.disk.hibernate.entity.Resource_Folder" id="resource_Folder" scope="prototype"></bean></beans>



0 0
原创粉丝点击