shh整合后web.xml、spring配置文件和struts.xml的内容
1:web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5"
- 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_2_5.xsd">
- <!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring 提供的classpath:前缀指定从类路径下寻找-->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:beans.xml</param-value>
- </context-param>
- <!-- 对Spring容器进行实例化 -->
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <!-- 启动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>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
2:spring配置文件:
- <?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:aop="http://www.springframework.org/schema/aop"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-2.5.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
- <!-- 通过注解的方式将类交给spring管理 -->
- <!-- 是被@Component、@Service、@Controller、@Repository注解的类,都可以纳入spring容器的管理中 -->
- <context:component-scan base-package="cn.itcast"/>
- <!-- 配置文件占位符 -->
- <!--<context:property-placeholder location="classpath:jdbc.properties"/>-->
- <!-- 配置数据源 -->
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>
- <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/itcast?useUnicode=true&characterEncoding=UTF-8"/>
- <property name="user" value="root"/>
- <property name="password" value="123"/>
- <!-- 连接池启动时的初始值 -->
- <property name="initialPoolSize" value="1"/>
- <!-- 连接池中保留的最小连接数 -->
- <property name="minPoolSize" value="1"/>
- <!-- 连接池中保留的最大连接数 -->
- <property name="maxPoolSize" value="15"/>
- <!-- 最大空闲时间 ,60秒内未使用则丢弃。若为0则永不丢弃。Default:0-->
- <property name="maxIdleTime" value="60"/>
- <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数,default:3 -->
- <property name="acquireIncrement" value="5"/>
- <!-- 每60秒检查所有连接池中的空闲连接。Default:0 -->
- <property name="idleConnectionTestPeriod" value="60"/>
- </bean>
- <!-- 用spring创建sessionFactory供hibernate用 -->
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="dataSource" ref="dataSource" />
- <property name="mappingResources">
- <list>
- <value>cn/itcast/bean/Employee.hbm.xml</value>
- </list>
- </property>
- <property name="hibernateProperties">
- <value>
- hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
- hibernate.hbm2ddl.auto=update
- hibernate.show_sql=true
- hibernate.format_sql=false
- </value>
- </property>
- </bean>
- <!--
- hibernate.cache.use_second_level_cache=true
- hibernate.cache.use_query_cache=false
- hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
- -->
- <!-- 用spring创建sessionFactory供hibernate用 -->
- <!-- 基于注解的映射文件-->
- <!--
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
- <property name="dataSource" ref="dataSource" />
- <property name="annotatedClasses">
- <list>
- <value>cn.itcast.bean.Employee</value>
- </list>
- </property>
- <property name="hibernateProperties">
- <value>
- hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
- hibernate.hbm2ddl.auto=update
- hibernate.show_sql=true
- hibernate.format_sql=false
- </value>
- </property>
- </bean>
- -->
- <!-- 用spring创建sessionFactory供hibernate用 -->
- <!-- 基于注解的映射文件-->
- <!--
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
- <property name="dataSource" ref="dataSource" />
- <property name="packagesToScan" value="com.sdcncsi.entity.*" />
- <property name="hibernateProperties">
- <value>
- hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
- hibernate.hbm2ddl.auto=update
- hibernate.show_sql=true
- hibernate.format_sql=false
- </value>
- </property>
- </bean>
- -->
- <!-- 事务管理服务 -->
- <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory" ref="sessionFactory"/>
- </bean>
- <!-- 采用@Transaction注解方式使用事务 -->
- <tx:annotation-driven transaction-manager="txManager"/>
- </beans>
ps:当使用注解的方式关于映射,则就不是写映射文件了;
而在bean中用注解,下面举个例子:
- @SuppressWarnings("serial")
- @Entity()
- @Table(name="zft_check_login")
- @Cache(usage = CacheConcurrencyStrategy.NONE)
- public class CheckloginEntity implements Serializable{
- private Long id;
- private Long staff_id;
- private Date latest_time;
- private Staff staff;
- private Set<Equipment> equipments;
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public Long getStaff_id() {
- return staff_id;
- }
- public void setStaff_id(Long staff_id) {
- this.staff_id = staff_id;
- }
- public Date getLatest_time() {
- return latest_time;
- }
- public void setLatest_time(Date latest_time) {
- this.latest_time = latest_time;
- }
- @OneToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE},fetch = FetchType.LAZY)
- @JoinColumn(name = "staff_id",insertable=false,updatable=false)
- public Staff getStaff() {
- return staff;
- }
- public void setStaff(Staff staff) {
- this.staff = staff;
- }
- @OneToMany(fetch = FetchType.LAZY)
- @JoinColumn(name = "staff_id",referencedColumnName="staff_id",insertable=false,updatable=false)
- public Set<Equipment> getEquipments() {
- return equipments;
- }
- public void setEquipments(Set<Equipment> equipments) {
- this.equipments = equipments;
- }
- @Transient
- public String getPhoneNums() throws Exception{
- return ReflectionUtils.fetchElementPropertyToString(equipments,"equipmentPhone",", ");
- }
- @Transient
- public Long getMinutes() throws Exception{
- Date etime=new Date(System.currentTimeMillis());
- return (etime.getTime() - this.getLatest_time().getTime())/(60*1000);
- }
- }
3:struts.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>
- <!-- 更换掉struts2内部的对象创建工厂,action用spring创建 -->
- <constant name="struts.objectFactory" value="spring"/>
- <!-- 将struts的主题改成默认主题,防止其生成不必要的html代码 -->
- <constant name="struts.ui.theme" value="simple"/>
- <package name="employee" namespace="/employee" extends="struts-default">
- <!-- 因为action有spring创建,所以只需指定spring创建的action的对象的名称就行 -->
- <action name="list" class="employeeAction">
- <result name="list">/WEB-INF/page/employee.jsp</result>
- </action>
- <action name="manage_*" class="employeeManageAction" method="{1}">
- <result name="add">/WEB-INF/page/employeeAdd.jsp</result>
- <result name="message">/WEB-INF/page/message.jsp</result>
- </action>
- </package>
- </struts>
shh整合后web.xml、spring配置文件和struts.xml的内容的更多相关文章
- 一 SSH整合:Spring整合Struts2的两种方式,struts.xml管理Action&Bean管理Action
SSH回顾 1 引入jar包 Struts2的jar包 D:\Struts2\struts-2.3.35\apps\struts2-blank\WEB-INF\lib 开发基本包 Struts2有一 ...
- maven创建web工程Spring配置文件找不到问题解决方案
使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [ap ...
- Spring Web项目spring配置文件随服务器启动时自动加载
前言:其实配置文件不随服务器启动时加载也是可以的,但是这样操作的话,每次获取相应对象,就会去读取一次配置文件,从而降低程序的效率,而Spring中已经为我们提供了监听器,可监听服务器是否启动,然后在启 ...
- maven创建web工程Spring配置文件找不到
使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [ap ...
- struts2与struts1整合,Unable to load configuration. - interceptor-ref ... struts.xml
struts.xml中为了与struts1的MVC模式整合,需要类似如下的拦截器的引用 <interceptor-stack name="integration"> & ...
- struts2中struts.xml配置文件详解【未整理】
1. 深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1. 包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管 ...
- Struts2笔记1:--Struts2原理、优点、编程流程、6大配置文件以及核心配置文件struts.xml
Struts2原理(底层使用的是Servlet的doFilter方法): Struts2优点: 第一个Struts程序: 在开发Struts程序之前,首先要导入额外的jar包,基本需求的是14个jar ...
- 关于spring配置文件的头部编写
//普通spring配置文件模板1 <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns: ...
- Spring配置文件的读取
1.配置文件的命名 Spring框架中的默认配置文件,建议命名为applicationContext.xml * 编写配置文件,默认位置有两个 ①src目录.②WEB-INF目录 2.Spring 配 ...
随机推荐
- 拓扑排序(附LeetCode题目)
算法期中考到一题关于拓扑序的题目,觉得很值得一写. 1.什么是拓扑序? 对一个有向无环图进行拓扑排序,假如图中存在一条从顶点A到顶点B的路径,则拓扑序中顶点A出现在顶点B的前面.要注意的是,这是对有向 ...
- var和let/const的区别
let和const是 ES6 新增的命令,用于声明变量,这两个命令跟 ES5 的var有许多不同,并且let和const也有一些细微的不同,再认真阅读了阮一峰老师的文档后,发现还是有一些不知道的细节. ...
- windchill相关功能操作
1.创建产品 2.创建文件夹 3.创建文档 4.创建用户账号 5.创建组 6.创建更改请求 7.创建部件新视图版本 8.创建可重用属性和全局枚举 9.在组织内分配上下文 ...
- PAT1063. Set Similarity (25)
来自http://blog.csdn.net/tiantangrenjian/article/details/16868399 set_intersection 交集 set_union 并集 s ...
- Python基础笔记系列五:元组
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 元组 1)元组的结构和访问.使用方法和列表基本一致,区别主要有两点:1.使 ...
- Windows 10 操作系统删除Administrator登录选项
在win10操作系统锁屏界面登录选项中突然出现了两个用户选项,一个是自己微软账户登录的用户,另一个是Administrator登录选项,每次看到好别扭,怎么去掉呢? 一.以管理员身份运行命令提示符(c ...
- BZOJ4456/UOJ184 [Zjoi2016]旅行者
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- 入门教程:.NET开源OpenID Connect 和OAuth解决方案IdentityServer v3 创建简单的OAuth2.0服务器,客户端和API(三)
本教程的目的在于创造尽可能简单的identityserver安装作为一个oauth2授权服务器.这应该能够让你了解一些基本功能和配置选项(完整的源代码可以发现在这里).在后面的文档中会介绍更多的高级功 ...
- Mongodb笔记(三)user && aggregate && mapReduce
版本:mongodb3.4. User: mongodb使用验证登录:默认不开启,mongod中使用--auth开启: mongod -port=3000 --auth : 基本方法: db.cr ...
- python函数式编程之返回函数、匿名函数、装饰器、偏函数学习
python函数式编程之返回函数 高阶函数处理可以接受函数作为参数外,还可以把函数作为结果值返回. 函数作为返回值 def laxy_sum(*args): def sum(): ax = 0; fo ...