学习淘淘商城第八十二课(SSO工程搭建)

来源:互联网 发布:火炬之光 mac人物存档 编辑:程序博客网 时间:2024/05/18 13:05

       首先,我们还是再看一下淘淘商城的系统架构,到目前为止,我们已经做了后台管理系统、商城门户、搜索系统、商品服务、内容服务、搜索服务、缓存redis、Solr服务、索引库、消息队列ActiveMQ。还未实现的部分是会员系统、订单系统、单点登录服务、订单服务、持久层。我们这节要搭建的工程便是会员系统和单点登录服务。


         下面我们便开始搭建工程,首先来搭建单点登录服务系统taotao-sso,这个工程是个pom(聚合)工程,包含两个子模块,taotao-sso-interface、taotao-sso-service。

          File----->New------>Other------>Maven------->Maven Project------->勾选"Create a simple project (skip archetype selection)"之后便看到如下图所示界面。填完相应信息后点击"Finish"。


          修改taotao-sso工程的pom.xml文件,添加对taotao-common的依赖以及配置tomcat插件(大家可以参考taotao-manager工程的pom.xml文件)


            当前taotao-sso工程的pom.xml文件的全部内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <parent>    <groupId>com.taotao</groupId>    <artifactId>taotao-parent</artifactId>    <version>0.0.1-SNAPSHOT</version>  </parent>  <groupId>com.taotao</groupId>  <artifactId>taotao-sso</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>pom</packaging>    <dependencies><dependency><groupId>com.taotao</groupId><artifactId>taotao-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies><!-- 配置tomcat插件 --><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><port>8087</port><path>/</path></configuration></plugin></plugins></build></project>
         下面新建taotao-sso聚合工程的两个子工程,首先新建taotao-sso-interface工程,方法是在taotao-sso工程上右键------->New------->Other便会看到如下图所示对话框,点击"Maven"下的"Maven Module"然后点击"Next"。

         我们会看到如下图所示对话框,勾选上面的复选框并在Module Name一栏输入"taotao-sso-interface",然后点击"Next"。

          打包方式默认就是jar,我们不用动,直接点击"Finish"。

         修改taotao-sso-interface工程的pom.xml文件,添加如下图所示依赖。

         当前taotao-sso-interface工程的pom.xml文件的内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <parent>    <groupId>com.taotao</groupId>    <artifactId>taotao-sso</artifactId>    <version>0.0.1-SNAPSHOT</version>  </parent>  <artifactId>taotao-sso-interface</artifactId>    <dependencies>  <dependency>  <groupId>com.taotao</groupId>    <artifactId>taotao-manager-pojo</artifactId>    <version>0.0.1-SNAPSHOT</version>  </dependency>  </dependencies></project>
        下面我们新建taotao-sso-service工程,它也是一个模块,在taotao-sso工程上右键----->New------>Other------>Maven Module可以看到如下图所示界面,勾选复选框并输入Module Name然后点击"Next"。

           在下图打包方式中选择"war",然后点击"Finish"。


           修改taotao-sso-service工程的pom.xml文件,添加一些依赖,修改后的pom.xml文件内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <parent>    <groupId>com.taotao</groupId>    <artifactId>taotao-sso</artifactId>    <version>0.0.1-SNAPSHOT</version>  </parent>  <artifactId>taotao-sso-service</artifactId>  <packaging>war</packaging>    <dependencies><dependency><groupId>com.taotao</groupId><artifactId>taotao-manager-dao</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>com.taotao</groupId><artifactId>taotao-sso-interface</artifactId><version>0.0.1-SNAPSHOT</version></dependency><!-- spring的依赖 --><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency><!-- dubbo相关 --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><!-- 排除依赖 --><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring</artifactId></exclusion><exclusion><groupId>org.jboss.netty</groupId><artifactId>netty</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId></dependency><!-- Redis客户端 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId></dependency></dependencies>  </project>
           下面把taotao-manager-service工程的src/main/resources目录下的文件拷贝过来,mybatis目录下的SqlMapConfig.xml文件不用修改,如下图所示。

        SqlMapConfig.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 配置分页插件 --><plugins><plugin interceptor="com.github.pagehelper.PageHelper"><property name="dialect" value="mysql"/></plugin></plugins></configuration>

         properties目录下的db.properties文件我们也不用修改


            db.properties文件内容如下:

#数据库连接jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/taotao?characterEncoding=utf-8jdbc.username=rootjdbc.password=root
           resource.properties文件内容我们清空就可以了,如下图所示。

         下面看spring目录下的applicationContext-dao.xml文件的内容也不用动。

        applicationContext-dao.xml文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"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-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd"><!-- 配置数据库连接池 --><!-- 加载配置文件 --><context:property-placeholder location="classpath:properties/*.properties" /><!-- 数据库连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"destroy-method="close"><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="driverClassName" value="${jdbc.driver}" /><property name="maxActive" value="10" /><property name="minIdle" value="5" /></bean><!-- SqlSessionFactory --><!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 数据库连接池 --><property name="dataSource" ref="dataSource" /><!-- 加载mybatis的全局配置文件 --><property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" /></bean><!-- Mapper映射文件的包扫描器 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.taotao.mapper" /></bean></beans>
         spring目录下的applicationContext-jedis.xml文件我们也原封不动的留着


        applicationContext-jedis.xml文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"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-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">    <!-- redis单机版 --><bean id="jedisPool" class="redis.clients.jedis.JedisPool"><constructor-arg name="host" value="192.168.156.21"/><constructor-arg name="port" value="6999"/></bean><bean id="jedisClientPool" class="com.taotao.jedis.service.impl.JedisClientPool"></bean> <!-- redis集群版 --><!--<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"><constructor-arg><set><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.156.15"/><constructor-arg name="port" value="6379"/></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.156.16"/><constructor-arg name="port" value="6379"/></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.156.17"/><constructor-arg name="port" value="6379"/></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.156.18"/><constructor-arg name="port" value="6379"/></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.156.19"/><constructor-arg name="port" value="6379"/></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.156.20"/><constructor-arg name="port" value="6379"/></bean></set></constructor-arg></bean><bean id="jedisClientCluster" class="com.taotao.jedis.service.impl.JedisClientCluster"></bean> --></beans>
         既然要保留jedis的配置文件就需要把相关包和类拷贝过来,我们参考taotao-content-interface和taotao-content-service工程,将taotao-content-interface工程下的"com.taotao.jedis.service"包以及包下的JedisClient.java类拷贝到taotao-sso-interface工程的src/main/java目录下,如下图所示。


        JedisClient.java类的代码如下:

package com.taotao.jedis.service;public interface JedisClient {//Redis SET命令用于在Redis键中设置一些字符串值String set(String key, String value);//根据key去查询相应的值String get(String key);//判断key在Redis缓存中是否存在Boolean exists(String key);//设置key的过期时间Long expire(String key, int seconds);//Redis TTL 命令以秒为单位返回 key 的剩余过期时间Long ttl(String key);//Redis Incr 命令将 key 中储存的数字值增一Long incr(String key);/** * Redis Hset 命令用于为哈希表中的字段赋值 。     * 如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。     * 如果字段已经存在于哈希表中,旧值将被覆盖。 * @param key * @param field * @param value * @return */Long hset(String key, String field, String value);//Redis Hget 命令用于返回哈希表中指定字段的值。String hget(String key, String field);//Redis Hdel 命令用于删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。Long hdel(String key, String... field);}
         接着把taotao-content-service工程下的src/main/java目录下的"com.taotao.jedis.service.impl"包以及包下的两个类复制到taotao-sso-service工程的src/main/java目录下,如下图所示。

         JedisClienttCluster.java类的代码如下:

package com.taotao.jedis.service.impl;import org.springframework.beans.factory.annotation.Autowired;import com.taotao.jedis.service.JedisClient;import redis.clients.jedis.JedisCluster;public class JedisClientCluster implements JedisClient {@Autowiredprivate JedisCluster jedisCluster;@Overridepublic String set(String key, String value) {return jedisCluster.set(key, value);}@Overridepublic String get(String key) {return jedisCluster.get(key);}@Overridepublic Boolean exists(String key) {return jedisCluster.exists(key);}@Overridepublic Long expire(String key, int seconds) {return jedisCluster.expire(key, seconds);}@Overridepublic Long ttl(String key) {return jedisCluster.ttl(key);}@Overridepublic Long incr(String key) {return jedisCluster.incr(key);}@Overridepublic Long hset(String key, String field, String value) {return jedisCluster.hset(key, field, value);}@Overridepublic String hget(String key, String field) {return jedisCluster.hget(key, field);}@Overridepublic Long hdel(String key, String... field) {return jedisCluster.hdel(key, field);}}
        JedisClientPool.java类的代码如下:

package com.taotao.jedis.service.impl;import org.springframework.beans.factory.annotation.Autowired;import com.taotao.jedis.service.JedisClient;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;public class JedisClientPool implements JedisClient {@Autowiredprivate JedisPool jedisPool;@Overridepublic String set(String key, String value) {Jedis jedis = jedisPool.getResource();String result = jedis.set(key, value);jedis.close();return result;}@Overridepublic String get(String key) {Jedis jedis = jedisPool.getResource();String result = jedis.get(key);jedis.close();return result;}@Overridepublic Boolean exists(String key) {Jedis jedis = jedisPool.getResource();Boolean result = jedis.exists(key);jedis.close();return result;}@Overridepublic Long expire(String key, int seconds) {Jedis jedis = jedisPool.getResource();Long result = jedis.expire(key, seconds);jedis.close();return result;}@Overridepublic Long ttl(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.ttl(key);jedis.close();return result;}@Overridepublic Long incr(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.incr(key);jedis.close();return result;}@Overridepublic Long hset(String key, String field, String value) {Jedis jedis = jedisPool.getResource();Long result = jedis.hset(key, field, value);jedis.close();return result;}@Overridepublic String hget(String key, String field) {Jedis jedis = jedisPool.getResource();String result = jedis.hget(key, field);jedis.close();return result;}@Overridepublic Long hdel(String key, String... field) {Jedis jedis = jedisPool.getResource();Long result = jedis.hdel(key, field);jedis.close();return result;}}
        下面修改applicationContext-service.xml,如下图所示,在taotao-sso-interface工程下新建扫描包"com.taotao.sso.service",在taotao-sso-service工程下新建"com.taotao.sso.service.impl"。发布的dubbo服务名称修改为"taotao-sso",dubbo服务的端口修改为"20883"。

           applicationContext-service.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"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-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">        <!-- 配置包扫描器,扫描所有带@Service注解的类 --><context:component-scan base-package="com.taotao.sso.service"/><!-- 发布dubbo服务 --><!-- 提供方应用信息,用于计算依赖关系 --><dubbo:application name="taotao-sso" /><!-- 注册中心的地址 --><dubbo:registry protocol="zookeeper" address="192.168.156.14:2181" /><!-- 用dubbo协议在20880端口暴露服务 --><dubbo:protocol name="dubbo" port="20883" /><!-- 声明需要暴露的服务接口 --><!-- <dubbo:service interface="com.taotao.service.ItemService" ref="itemServiceImpl" timeout="300000"/> --></beans>

           下面修改applicationContext-trans.xml,只需要修改切面。如下图所示。


         applicationContext-trans.xml文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"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-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">        <!-- 事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 数据源 --><property name="dataSource" ref="dataSource" /></bean><!-- 通知 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!-- 传播行为 --><tx:method name="save*" propagation="REQUIRED" /><tx:method name="insert*" propagation="REQUIRED" /><tx:method name="add*" propagation="REQUIRED" /><tx:method name="create*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="find*" propagation="SUPPORTS" read-only="true" /><tx:method name="select*" propagation="SUPPORTS" read-only="true" /><tx:method name="get*" propagation="SUPPORTS" read-only="true" /></tx:attributes></tx:advice><!-- 切面 --><aop:config><aop:advisor advice-ref="txAdvice"pointcut="execution(* com.taotao.sso.service.*.*(..))" /></aop:config></beans>
         下面我们拷贝taotao-content-service工程下的WEB-INF目录及web.xml文件,修改下<display-name>,如下图所示。


         下面我们再创建一个表现层工程,taotao-sso-web,如下图所示。


          修改taotao-sso-web工程的pom.xml文件,全部内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <parent>    <groupId>com.taotao</groupId>    <artifactId>taotao-parent</artifactId>    <version>0.0.1-SNAPSHOT</version>  </parent>  <groupId>com.taotao</groupId>  <artifactId>taotao-sso-web</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>war</packaging>    <dependencies><dependency><groupId>com.taotao</groupId><artifactId>taotao-sso-interface</artifactId><version>0.0.1-SNAPSHOT</version></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency><!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><scope>provided</scope></dependency><!-- dubbo相关 --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><!-- 排除依赖 --><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring</artifactId></exclusion><exclusion><groupId>org.jboss.netty</groupId><artifactId>netty</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency></dependencies><!-- 配置tomcat插件 --><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><port>8088</port><path>/</path></configuration></plugin></plugins></build>  </project>
         将taotao-item-web工程的src/main/resources目录下的资源文件拷贝到taotao-sso-web工程的src/main/resources目录下,resource目录下的resource.properties文件我们清空它,如下图所示。


         下面修改springmvc.xml文件,如下图所示。

         springmvc.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:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">           <!-- 加载配置文件 -->    <context:property-placeholder location="classpath:resource/resource.properties"/>    <!-- 配置注解驱动 --><mvc:annotation-driven /><!-- 视图解析器 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean><!-- 配置包扫描器,扫描@Controller注解的类 --><context:component-scan base-package="com.taotao.sso.controller"/><!-- 引用dubbo服务 --><dubbo:application name="taotao-sso-web"/><dubbo:registry protocol="zookeeper" address="192.168.156.14:2181"/>    <!-- <dubbo:reference interface="com.taotao.service.ItemService" id="itemService" /> --></beans>
        最后添加web.xml文件,如下图所示。将taotao-item-web替换为taotao-sso-web



          web.xml文件如下

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"  id="WebApp_ID" 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"> <display-name>taotao-sso-web</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <!-- post乱码过滤器 --><filter><filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 前端控制器 --><servlet><servlet-name>taotao-sso-web</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/springmvc*.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>taotao-sso-web</servlet-name><!-- 伪静态化--><url-pattern>*.html</url-pattern></servlet-mapping></web-app>
           这样,SSO工程便搭建完了。

       

阅读全文
0 0
原创粉丝点击