S2SH框架新手搭建详细过程

S2SH框架整合新手学习总结

第一篇:S2SH框架新手搭建准备工作只都需要导入那些文件

第二篇:S2SH框架新手搭建详细过程

版本信息:Struts2.3+Hibernate4.3.6+Spring4.2.0

三个框架,是需要整合起来可以使用的:

首先是导入必要的包,具体导入哪些文件可以参考我的第一篇博文

(1)导入Struts2包

(2)配置Struts2

新建一个struts.xml文件,默认的位置是项目的src根目录,与你的action等等包是同级的

<?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>
	<!-- 将Action的创建交给spring来管理 -->
    <constant name="struts.objectFactory" value="spring" />  

	<!-- 更改struts2请求Action的后缀名,默认为action。若想去掉后缀,设为","即可
	<constant name="struts.action.extension" value=","></constant>
	-->
    <package namespace="/" name="struts2" extends="struts-default">  

        <!-- package中的标签必须按照如下顺序配置
        result-types,interceptors,default-interceptor-ref,default-action-ref,default-class-ref,global-results,global-exception-mappings,action*(就是所有的action放到最后)
        -->
		<!-- 自定义拦截器 ,如果有拦截器,必须放在package标签内的第一位-->
        <interceptors>
        	<!--
        	<interceptor name="myInterceptor" class="自定义pojo类"></interceptor>
        	-->
        	<interceptor-stack name="myInterceptorStack">
        		<!--
        		<interceptor-ref name="myInterceptor"></interceptor-ref>
        		-->
        		<interceptor-ref name="defaultStack"></interceptor-ref>
        	</interceptor-stack>
        </interceptors>  

        <global-results>
        	<result></result>
        </global-results>

    </package>

	<!-- 包含的配置文件
	<include file="/configs/struts-user.xml"></include>
	-->
</struts>

配置web.xml文件

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>
          org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
        <init-param>
        	<param-name>configs</param-name>
        	<!-- 默认位置
        		<param-value>struts.xml</param-value>
        	 -->
        	<param-value>classpath:configs/struts.xml</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

接下来就是导入Spring数据包了,导入之后需要进行一些配置:

(1)导入Spring相关文件:详细哪些文件可参考第一篇博客

(2)初步配置Spring

新建一个aplicationContext.xml文件,默认的存放位置与Struts一样,暂时文件的内容可以:

<?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: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/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
</beans>

接下来对框架之间的整合的时候需要再去补充!

配置web.xml文件,在web.xml文件中添加:

<!-- spring -->
<listener>
    	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    	<param-name>contextConfigLocation</param-name>
    	<param-value>classpath:configs/applicationContext*.xml</param-value>
</context-param>

现在还剩下Hibernate了

(1)导入Hibernate包:详细文件信息可以参考我的第一篇博客

(2)配置Hibernate

以往我们单独使用Hibernate的时候,都需要单独的去配置Hibernate,有一个默认的配置文件,hibernate.cfg.xml,但是在这里,我们不去使用这个文件了,再整合Hibernate与Spring框架的时候,我们把这个文件放到哪去了!

好吧!开始整合框架吧!

(1)Hibernate与Spring之间的整合

之前说了,在这里我们可以没有hibernate.cfg.xml配置文件,那么我们就需要在aplicationContext.xml进行配置,在该文件中添加如下代码:

<!-- datasource -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/lfdcwtjxt?characterEncoding=UTF-8" />
        <property name="username" value="root" />
        <property name="password" value="root" />
    </bean>
    <!-- spring与hibernate整合
    spring来管理session的创建、打开和关闭
    -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    	<!--  通过配置文件的方式获取数据源,出现异常,未解决
    	<property name="configLocation">
    		<value>classpath:configs/hibernate.cfg.xml</value>
    	</property>
    	-->
    	<property name="dataSource" ref="dataSource" />
    </bean>
    <!-- 定义事物管理器,并位事物管理器配置上述所定义的session-->
    <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    	<property name="sessionFactory">
    		<ref bean="sessionFactory"/>
    	</property>
    </bean>
    <!-- 对事物管理器进行设置
    	表示对save、del、update开头的方法应用事物
     -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
    	<tx:attributes>
    		<tx:method name="save*" propagation="REQUIRED"/>
    		<tx:method name="del*" propagation="REQUIRED"/>
    		<tx:method name="update*" propagation="REQUIRED"/>
    	</tx:attributes>
    </tx:advice>

注意了没有?有一个bean的内容很类似hibernate.cfg.xml文件里面的内容!

(2)整合Spring与Structs

这里说的整合主要是在Structs的配置文件中存在一些细微的区别,主要也都是action的配置

以往我们单独使用Struts2的时候,action配置项中都会明确的用class属性指定一个带包名的java文件,比如

<action name="login" class="com.action.LoginAction">
<result name="success">/index.jsp</result>
</action>

但是整合Spring之后,我们就不这么配置了,上述中的class属性,可以是一个简单的名字,比如login,但是这个login必须左右Spring配置文件中的一个bean的id存在,然后再这个bean中去配置详细的是哪一个java文件,即为:

struts2.xml中添加:

<action name="login" class="login">
<result name="success">/index.jsp</result>
</action>

在applicationContext.xml中添加:

<bean id="login" class="com.action.LoginAction">
</bean>

暂时就介绍这么写,详细的action跳转、service、dao、以及hibernate的实体与映射文件的配置,会在下一篇博文详细介绍!

时间: 2024-07-28 17:33:44

S2SH框架新手搭建详细过程的相关文章

GitLab搭建详细过程

一.前提 系统:Centos 6.5 软件版本:gitlab-7.8.4 Selinux:关闭 防火墙规则:先清空(搭建好了后续自己添加相关放行规则) 二.yum源配置和相关依赖包 1.添加epel源和PUIAS_6_computational源 1 # yum -y install epel-release 创建该文件并添加以下内容: 1 2 3 4 5 6 7 # vim /etc/yum.repos.d/PUIAS_6_computational.repo [PUIAS_6_computa

从svn签下代码以及集成开发环境的搭建详细过程

在经过几次的从svn上签下来代码的经历之后,终于总结出了详细的步骤 在upupw/htdocs下建立新的文件夹(此处根据你服务器的根目录而变),此处为bpb1027 ,再右键,选择SVN Checkout 填入内网或外网访问SVN的地址,后面要加个/trunk(主干开发) SVN 主干(trunk).分支(branch ).标记(tag)的不同 trunk:是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk,当模块开发完成后,需要修改,就用branch. branch:是用来做并行

IDEA SpringBoot多模块项目搭建详细过程(转)

文章转自https://blog.csdn.net/zcf980/article/details/83040029 项目源码: 链接: https://pan.baidu.com/s/1Gp9cY1Qf51tG9-5gUZsnHQ 提取码: 5izt CSDN源码下载: https://download.csdn.net/download/zcf980/10719615 1. 项目介绍: 本项目包含一个父工程 demo  和 四 个子模块(demo-base, demo-dao, demo-se

我们的一个已投产项目的高可用数据库实战 - mongo 副本集的搭建详细过程

我们的 mongo 副本集有三台 mongo 服务器:一台主库两台从库.主库进行写操作,两台从库进行读操作(至于某次读操作究竟路由给了哪台,仲裁决定),实现了读写分离.这还不止,如果主库宕掉,还能实现不需要用户干预的情况下,将主库自动切换到另外两台从库中的某一台,真正实现了 db 的高可用. 1. 背景 1.1 环境 CPU核数:4 内存配置:8G 带宽:100MB 磁盘:系统盘 40G,数据盘 180G 操作系统版本:Ubuntu 14.04 64位 1.2 系统部署结构图 2. MongoD

Learning Discriminative and Transformation Covariant Local Feature Detectors实验环境搭建详细过程

依赖项: Python 3.4.3 tensorflow>1.0.0, tqdm, cv2, exifread, skimage, glob 1.安装tensorflow:https://www.tensorflow.org/install/pip?lang=python3 1.安装python开发环境 sudo apt update sudo apt install python3-dev python3-pip sudo pip3 install -U virtualenv 2.创建虚拟环境

s2sh框架整合详细配置-xml方式

s2sh整合之xml方式 说明:本文档所采用的框架版本为:Struts 2.1.8, Sping2.5.5,  Hibernate 3.5.6 1.    需要的jar包: ------------Strut2-----------: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging.jar freemarker-2.3.15.jar ognl-2.7.3.jar struts2-core-2.1.8.1.jar

springmvc学习总结(二) -- maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解

@[email protected] 写在最前 之前分享过下面这几篇: mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上)(附demo和搭建过程遇到的问题解决方法) mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下) springmvc学习笔记(一) -- 从零搭建,基础入门 这一篇,在这些练习的基础上,将它们整合在一起! 搭建步骤如下 一.新建maven项目,配置环境,测试是否配置成

java S2SH项目框架整合搭建实例教程(转载)

现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆. 1 开发环境 ?         MyEclipse5.5 ?         JDK 1.6 ?         Java EE 5.0 ?         Tomcat6.0 ?         Struts2.1.6 ?         Spring2.5.6 ?         Hibernate3.3.1 2 为ssh做好准备 2.1下载包 ?         Strut

java S2SH项目框架整合搭建实例教程

原创整理不易,转载请注明出处:java S2SH项目框架整合搭建实例教程 代码下载地址:http://www.zuidaima.com/share/1787220771113984.htm 现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆. 1 开发环境 ?         MyEclipse5.5 ?         JDK 1.6 ?         Java EE 5.0 ?         Tomcat6.0 ?