SSH框架整合模板配置文件

Struts2的配置

展示了package的配置和constan的使用

<?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>
    <constant name="struts.configuration.xml.reload" value="true" />
    <constant name="struts.devMode" value="false" />
    <constant name="struts.custom.i18n.resources" value="myMessage" />
    <constant name="struts.action.extension" value="do" />
    <constant name="struts.multipart.saveDir" value="\tmp" />
    <constant name="struts.ui.theme" value="simple" />
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.multipart.maxSize" value="100000000" />

    <package name="profile" extends="struts-default">
        <action name="reg" class="Register">
            <result name="success">/index.jsp</result>
            <result name="input">/reg12.jsp</result>
        </action>
        <action name="user_*" class="userAction" method="{1}">
            <result>/index.jsp</result>
            <result name="login" type="redirectAction">user_toOpenBasic</result>
            <result name="listProvince">/perfect.jsp</result>
            <result name="finish">/dealwith.jsp</result>
            <result name="fillinfo">/perfect.jsp</result>
            <result name="addinfo" type="chain">user_toOpenBasic</result>
            <result name="tobasic">/WEB-INF/basic.jsp</result>
            <result name="tologin">/WEB-INF/tologin.jsp</result>
        </action>
    </package>

    <package name="browser" namespace="/" extends="struts-default">
        <action name="browser" class="browserAction">
            <result name="ERROR">/error.jsp</result>
/action>
    </package>

</struts>

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.xml中 有web容器管理-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <context-param>
        <param-name>serverName</param-name>
        <param-value>http://localhost:8080/Profile/user_login.do</param-value>
    </context-param>
    <context-param>
        <param-name>casServerLogoutUrl</param-name>
        <param-value>http://localhost:8080/usercenter/logout</param-value>
    </context-param>

    <filter>
        <filter-name>Character Encoding Filter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>Character Encoding Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 防注入式及XSS攻击 -->
    <filter>
        <filter-name>InjectFilter</filter-name>
        <filter-class>com.profile.util.InjectFilter</filter-class>
        <!-- filter word, split with blank -->
        <init-param>
            <param-name>invalidsql</param-name>
            <param-value>select insert delete update create destory ‘</param-value>
        </init-param>
        <!-- error page -->
        <init-param>
            <param-name>error</param-name>
            <param-value>/exception/errcon.jsp</param-value>
        </init-param>
        <!-- debug -->
        <init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>InjectFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>AdminFilter</filter-name>
        <filter-class>com.profile.util.AdminFilter</filter-class>
        <init-param>
            <param-name>excludedPages</param-name>
            <param-value>/admin_login.do</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>AdminFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- 用户登陆权限验证 -->
    <filter>
        <filter-name>OwnerFilter</filter-name>
        <filter-class>com.profile.util.OwnerFilter</filter-class>
    </filter>

    <!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置 个人建议得配 -->
    <listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
    </listener>

    <!-- 该过滤器用于实现单点登出功能,可选配置。 -->
    <filter>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 该过滤器负责用户的认证工作,必须启用它 -->
    <filter>
        <filter-name>CASFilter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <param-value>http://localhost:8080/usercenter</param-value>
            <!-- 这里的server是服务端的IP -->
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://localhost:8080</param-value>
        </init-param>
    </filter>
    <!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->
    <filter>
        <filter-name>CAS Validation Filter</filter-name>
        <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>http://localhost:8080/usercenter</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://localhost:8080</param-value>
        </init-param>
    </filter>
    <!-- 该过滤器负责实现HttpServletRequest请求的包裹,比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 -->
    <filter>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
    </filter>
    <!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 -->
    <filter>
        <filter-name>CAS Assertion Thread Local Filter</filter-name>
        <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
    </filter>

    <!-- 到此为止单点登录结束 以下为struts2的过滤配置 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>OwnerFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>CASFilter</filter-name>
        <url-pattern>/user_login.do</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>CAS Validation Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>CAS Assertion Thread Local Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- struts2的过滤器结束 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <listener>
        <listener-class>com.profile.util.SessionListener</listener-class>
    </listener>
    <!-- 以下为单点登录配置 用于单点退出,该过滤器用于实现单点登出功能,可选配置 -->
    <servlet>
        <servlet-name>CheckCodeServlet</servlet-name>
        <servlet-class>com.profile.util.CaptchaImageCreateController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CheckCodeServlet</servlet-name>
        <url-pattern>/code</url-pattern>
    </servlet-mapping>
    <!-- <servlet-mapping> <servlet-name>regiset</servlet-name> <url-pattern>reg12.jsp</url-pattern>
        </servlet-mapping> -->
    <welcome-file-list>
        <welcome-file>/WEB-INF/basic.jsp</welcome-file>
    </welcome-file-list>
    <error-page>
        <error-code>404</error-code>
        <location>/exception/error.jsp</location>
    </error-page>
    <login-config>
        <auth-method>BASIC</auth-method>
    </login-config>
    <!-- <error-page> <error-code>404</error-code> <location>/</location> </error-page> -->
</web-app>

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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <!-- 定义数据源 -->
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource"
        destroy-method="close">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8
            </value>
        </property>
        <property name="username">
            <value>root</value>
        </property>
        <property name="password">
            <value>123123</value>
        </property>
    </bean>
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
        <property name="mappingResources">
            <list>
                <!--下边试讲hibernate中的bean.cfg.xml文件进行注入-->
                <value>com/profile/bean/Province.hbm.xml</value>
                <value>com/profile/bean/City.hbm.xml</value>
            </list>
        </property>
    </bean>
    <!-- hibernateTemplate -->
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
    </bean>
    <!--这里是一个接口的注入-->
    <bean id="userDao" class="com.profile.dao.impl.UserDaoImpl">
        <property name="hibernateTemplate" ref="hibernateTemplate" />
    </bean>

    <!-- 浏览器检测 -->
    <bean id="browserService" class="com.browser.util.BrowserServiceImpl">
        <property name="userDao">
            <ref bean="userDao" />
        </property>
    </bean>
    <bean id="browserAction" class="com.browser.util.BrowserAction">
        <property name="browserService">
            <ref bean="browserService" />
        </property>
    </bean>

    <!--下边是service的注入  其中每一个service都有一个属性userDao  就是上边注入配置的一个接口-->
    <bean id="adminService" class="com.profile.service.impl.AdminServiceImpl">
        <property name="userDao" ref="userDao" />
    </bean>
    <bean id="userService" class="com.profile.service.impl.UserServiceImpl">
        <property name="userDao" ref="userDao" />
    </bean>

    <!--这下边是 struts中注入的东西 userAction是action的名字  property是action中所拥有的属性 -->
    <bean id="userAction" class="com.profile.action.UserAction" scope="prototype">
        <property name="userService" ref="userService" />
        <property name="cityService" ref="cityService" />
    </bean>
    <bean id="adminAction" class="com.profile.action.AdminAction"
        scope="prototype">
        <property name="userService" ref="userService" />
        <property name="adminService" ref="adminService" />
        <property name="browserService" ref="browserService" />
    </bean>
</beans>

如果大家有兴趣可以到我的github上去下载:https://github.com/xuliugen/SSHFrameSet

时间: 2024-10-03 14:44:37

SSH框架整合模板配置文件的相关文章

SSH框架整合过程总结

---------------------siwuxie095 SSH 框架整合过程总结 (一)导入相关 jar 包(共 41 个) 1.导入 Spring 的核心 jar 包和日志相关的 jar 包(6 个) Commons Logging 下载链接: http://commons.apache.org/proper/commons-logging/download_logging.cgi LOG4J 下载链接: https://www.apache.org/dist/logging/log4

SSH框架整合的其它方式

--------------------siwuxie095 SSH 框架整合的其它方式 1.主要是整合 Spring 框架和 Hibernate 框架时,可以不写 Hibernate 核心配置文件:hibernate.cfg.xml 2.把Hibernate 核心配置文件中的配置全都转移到 Spring 核心配置文件中 3.具体实现 applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?&g

SSH框架整合

ssh框架整合步骤如下 提示:myeclipse环境.工程环境.tomcat环境的jdk保持一致 1.新建一个工程,把工程的编码为utf-8 2.把jsp的编码形式改成utf-8 3.把jar包放入到lib下 4.建立三个src folder src 存放源代码 config 存放配置文件 hibernate 存放hibernate的配置文件 spring 存放spring的配置文件 struts 存放struts的配置文件 struts.xml test 存放单元测试 5.在src下建立包 c

用myecplise自带工具实现对SSH框架整合

之前搭建ssh环境的,都是先要引入一堆jar包,一下没整明白就会出现jar包冲突的问题,在这里,我们使用myecplise自带的工具,实现jar包的依赖和配置文件的生成. 我们用的到的工具是:myecplise2014 第一步:新建一个web project 第一步:添加项目所依赖的jar包 1.添加struts所依赖的jar包 完成后,在src目录下可以发现struts.xml 2.添加spring所依赖的jar包 完成后,可以在src目录下发现applicationContext.xml 3

ssh框架整合实例

MyEclipse开发SSH(Struts+Spring+Hibernate)入门 Spring技术   2009-02-03 15:59   阅读328   评论0 字号: 大大  中中  小小 2008-01-31 01:31 (本文参考自 oksonic 的"Struts+Spring+Hibernate练习(完整)") 源码下载:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2857703 注意:这个实例要加入

SSH框架整合总结

SSH 框架为 Struts + Spring + Hibernate 的一个集成框架,是目前较流行的一种 web 应用程序开源框架. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰.可复用性好.维护方便的Web应用程序.其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate.具

J2EE进阶(十一)SSH框架整合常见问题汇总(二)

J2EE进阶(十一)SSH框架整合常见问题汇总(二) 问题8 java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean      解决 数据库中userdetail表的映射文件如下,可见xb字段数据类型为boolean类型,而自己在userdetail模型类中定义的类型为String类型.为此可以得出这样的结论.模型类中的数据及类型必须与数据表映射文件中的字段信息保持一致.应该可以同时生成

【课程分享】jQuery2.0应用开发:SSH框架整合jQuery2.0实战OA办公自动化(VSS、operamasks-UI框架)

我的qq是2059055336,对这个课程有兴趣的可以加我qq联系. 课程下载地址:链接:http://pan.baidu.com/share/link?shareid=395438909&uk=3611155194 密码:mlvl 课程下载地址:http://www.kuaipan.cn/file/id_192202874577496484.htm?source=1 一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景 jQuery 2.0 正式版发布,不在支持 IE 6/7/8

jQuery2.0应用开发:SSH框架整合jQuery2.0实战OA办公自动化(VSS、operamasks-UI框架)

我的qq是2059055336,对这个课程有兴趣的可以加我qq联系. 一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景 jQuery 2.0 正式版发布,不在支持 IE 6/7/8 浏览器.因此该版本更小.更快.       为了提高现代社会人们的办公效率,满足人们自动化办公的需要,我们开发了这套稳定可靠.操作方便.安全有效的MyOffice系统     1.2.课程内容简介       本课程全面详细的介绍jQuery2.0以及OA办公自动化系统的开发流程.其中重点详细的介绍