zoukankan      html  css  js  c++  java
  • ssh文件配置

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
     4     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
     5     xsi:schemaLocation="
     6         http://www.springframework.org/schema/beans 
     7         http://www.springframework.org/schema/beans/spring-beans.xsd
     8         http://www.springframework.org/schema/context 
     9         http://www.springframework.org/schema/context/spring-context.xsd
    10         http://www.springframework.org/schema/tx 
    11         http://www.springframework.org/schema/tx/spring-tx.xsd
    12         http://www.springframework.org/schema/aop 
    13         http://www.springframework.org/schema/aop/spring-aop.xsd">
    14 
    15     <!-- 配置数据源 dbcp数据源 -->
    16     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    17         <property name="driverClassName" value="${driverClass}" />
    18         <property name="url" value="${jdbcUrl}" />
    19         <property name="username" value="${user}" />
    20         <property name="password" value="${password}"/>
    21     </bean>
    22 
    23     <!-- 使用配置文件 加载 数据库需要的4要素 经常使用 -->
    24     <context:property-placeholder location="classpath:jdbc.properties" />
    25     
    26     
    27     <!--配置sessionFactory -->
    28      <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    29         <!-- 读取hibernate配置文件<property name="configLocation" value="classpath:hibernate.cfg.xml"/> -->
    30          <!-- 配置数据源 -->
    31          <property name="dataSource" ref="dataSource"></property>
    32          <!-- 配置映射文件  Teacher.hbm.xml -->
    33          <property name="mappingDirectoryLocations" value="cn/bdqn/bean"/>
    34          <property name="hibernateProperties">
    35           <props>
    36             <prop key="hibernate.hbm2ddl.auto">update</prop>
    37             <prop key="hibernate.show_sql">true</prop>
    38             <prop key="hibernate.format_sql">true</prop>
    39             <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
    40           </props>
    41          </property>
    42      </bean>
    43 
    44   <!--配置dao层  -->
    45   <bean  id="teacherDao" class="cn.bdqn.dao.impl.TeacherDaoImpl">
    46   <property name="sessionFactory" ref="sessionFactory"/>
    47 </bean>
    48 
    49  <!--配置service层  -->
    50   <bean  id="teacherService" class="cn.bdqn.service.impl.TeacherServiceImpl">
    51     <property name="dao" ref="teacherDao"></property>
    52   </bean>
    53 
    54 <!-- 配置action层 -->
    55 
    56 <!-- ==========================事务======================================= -->
    57 <!--  配置事务管理器  -->
    58   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    59     <property name="dataSource" ref="dataSource"/>
    60   </bean>
    61   
    62   
    63   <tx:advice id="txAdvice" transaction-manager="transactionManager"> <!--  设置事务的通知  -->
    64       <tx:attributes>
    65       <!-- 对连接点上的方法进行事务属性的配置 -->
    66        <tx:method name="add*"  isolation="DEFAULT" propagation="REQUIRED"/>
    67        <tx:method name="delete*"  isolation="DEFAULT" propagation="REQUIRED"/>
    68        <tx:method name="update*"  isolation="DEFAULT" propagation="REQUIRED"/>
    69        <tx:method name="find*"  read-only="true" isolation="DEFAULT" propagation="REQUIRED"/>
    70       </tx:attributes>
    71   </tx:advice>
    72   
    73   <aop:config>
    74       <!-- 指定切入点 -->
    75      <aop:pointcut expression="execution(* *..service.*.*(..))" id="myPoint"/>
    76      <aop:advisor advice-ref="txAdvice" pointcut-ref="myPoint"/>
    77   </aop:config>
    78 
    79 </beans>
    applicationContext.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7   <display-name></display-name>
     8   
     9   
    10   <!-- 配置全局监听器 确保 容器 对象 只被实例化一次! -->
    11    <listener>
    12     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    13    </listener>
    14   <!--  默认xml名称 必须是 applicationContext.xml 必须在 WEB-INF的根目录下
    15      现在我们 设置applicationContext.xml文件的路径     我们也可以更改 xml文件的名称 -->
    16    <context-param>
    17     <param-name>contextConfigLocation</param-name>
    18     <param-value>classpath:applicationContext.xml</param-value>
    19   </context-param>
    20 
    21   
    22   <servlet>
    23     <servlet-name>AddServlet</servlet-name>
    24     <servlet-class>cn.bdqn.servlet.AddServlet</servlet-class>
    25   </servlet>
    26 
    27   <servlet-mapping>
    28     <servlet-name>AddServlet</servlet-name>
    29     <url-pattern>/AddServlet</url-pattern>
    30   </servlet-mapping>
    31   

    在 dao层以及service层创建对应的 根据ID获取Teacher的信息!
    使用get方式 不会报错!
    但是使用load方式获取数据的话,就会出现No  Session!
    因为在前台真正获取数据的时候,事务已经提交了,session也关闭了!
    这时候 我们需要配置 OpenSessionInView模式!来保证用户获取数据的时候还有session!
    只需要在web.xml文件中配置如下节点:
      
       <!-- 设置openSessionInView  必须在struts2的核心控制器 之前  不然会起作用 -->
       <filter>
       <filter-name>open</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
      </filter>
     
       <filter-mapping>
         <filter-name>open</filter-name>
         <url-pattern>/*</url-pattern>
       </filter-mapping>
     
     
      <!--配置struts2的核心控制器  -->
         <filter>
       <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>
     
     

    OpenSessionInView模式


    32 <welcome-file-list> 33 <welcome-file>index.jsp</welcome-file> 34 </welcome-file-list> 35 </web-app>
     1 <?xml version="1.0" encoding="UTF-8"?>
     2  <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
     4     "http://struts.apache.org/dtds/struts-2.1.dtd">
     5 
     6 <struts>
     7     <package name="default" namespace="/" extends="struts-default">
     8         <!-- 每次请求AddServlet 都会实例化一个 对象    需要让spring容器去管理 -->
     9         <action name="AddServlet" class="teacherAction" method="add">
    10             <result>/success.jsp</result>
    11         </action>
    12     </package>
    13 
    14 </struts>
  • 相关阅读:
    js组件常用封装方法。。。。。【组件封装】 ★★★★★★ 1月会员日 集人气【弹窗】
    以后开公司用的资源瞎记录
    SpringSecurityFilter 链
    分布式系统数据一致性的6种方案(转)
    统一日志监控系统 springboot websocket 作品
    MyBatis generator 使用方式 小结
    swagger and restful api 参考
    kafka linux 启动脚本 sample
    转 CAS实现SSO单点登录原理
    江南白衣 Java性能优化PPT
  • 原文地址:https://www.cnblogs.com/HHR-SUN/p/6890145.html
Copyright © 2011-2022 走看看