SpringMVC Mybatis Shiro RestTemplate的實現客戶端無狀態驗證及訪問控制【轉】

A.首先須要搭建SpringMVC+Shiro環境web

a1.pom.xml配置
 spring:spring

<dependency>apache

 <groupId>org.springframework</groupId>json

<artifactId>spring-webmvc</artifactId>
    <version>4.1.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>4.1.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>

    <artifactId>spring-jdbc</artifactId>
    <version>4.1.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>4.1.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.8.7</version>
</dependency>

 Mybatis:spring-mvc

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.3.0</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.2.3</version>
</dependency>
<dependency>
    <groupId>jdbc.driver</groupId>
    <artifactId>oracle.n</artifactId>
    <version>12.1.0.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>c3p0</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.1.2</version>
</dependency>

JSON轉換,Bean轉換,加密,文件上傳,日誌記錄等相關工具:mybatis

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.6.3</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.6.3</version>
</dependency>
<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.2.2-jdk15</version>
</dependency>
<dependency>
    <groupId>net.sf.ezmorph</groupId>
    <artifactId>ezmorph</artifactId>
    <version>1.0.6</version>
</dependency>
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.9</version>
</dependency>
<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.7.0</version>
</dependency>
<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2</version>
</dependency>
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.4</version>
</dependency>
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.1</version>
</dependency>
<dependency>
 <groupId>org.slf4j</groupId>
 <artifactId>slf4j-log4j12</artifactId>
 <version>1.7.7</version>
</dependency>

shiro:mvc

<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-core</artifactId>
    <version>1.2.2</version>
</dependency>
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-web</artifactId>
    <version>1.2.2</version>
</dependency>
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring</artifactId>
    <version>1.2.2</version>
</dependency>

a2.web.xml配置oracle

 

<!-- 定義應用在Spring容器中的全局標誌,避免衝突 -->
<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>reedws</param-value>
</context-param>
<!-- 配置SpringMVC入口 -->
<servlet>
    <servlet-name>mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>mvc</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 加載log4j配置文件 -->
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.properties</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

<!-- 配置Spring業務層,shiro相關配置就處於業務層 -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring/spring-mybatis.xml,classpath:spring/spring-service.xml,classpath:spring/spring-shiro.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- 配置Spring自帶的Web應用生命週期管理器 -->
<listener>
    <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>

<!-- 配置全局編碼,和項目編碼一致便可,此處用GBK,建議用UTF-8 -->
<filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>GBK</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 和shiro整合,經過過濾器代理配置shiro的過濾器 -->
<filter>
    <filter-name>shiroFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    <init-param>
        <param-name>targetFilterLifecycle</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>shiroFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-m
 

核心技術:Maven,Springmvc mybatis shiro, Druid, Restful, app

Dubbo, ZooKeeper,Redis,FastDFS,ActiveMQ,Nginx 
1.     項目核心代碼結構截圖框架

分佈式框架介紹 - kafkaee - kafkaee的博客

   項目模塊依賴

分佈式框架介紹 - kafkaee - kafkaee的博客

 

特別提醒:開發人員在開發的時候能夠將本身的業務REST服務化或者Dubbo服務化

2.    項目依賴介紹

   2.1 後臺管理系統、Rest服務系統、Scheculer定時調度系統依賴以下圖:

 

分佈式框架介紹 - kafkaee - kafkaee的博客

       2.2 Dubbo獨立服務項目依賴以下圖:

 分佈式框架介紹 - kafkaee - kafkaee的博客

3.  項目功能部分截圖:

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客
 

zookeeper、dubbo服務啓動 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客
 

dubbo管控臺 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 REST服務平臺

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

 

分佈式框架介紹 - kafkaee - kafkaee的博客

相關文章
相關標籤/搜索