玩一下shiro.demo支持Jetty,支持Mybatis最新版本

https://www.sojson.com/shiro里面有个关于Shiro的Demo,只支持tomcat

分析代码和依赖,修改了几下,支持jetty启动登录使用

同时支持mybatis3.5.2,shiro1.4.1,并把使所有日志归集到slf4j日志框架,运行时log4j2

Log4j2使用2.8.2的版本,适配tomcat7,版本过高就不能用tomcat7的maven插件启动了

web.xml修改如下:


    
        shiroFilter
        
        /*
    

去掉webapp\user\index.shtml(要执行mvn clean)

pom文件修改如下:

 

   
        UTF-8
        4.3.24.RELEASE
        1.4.1
        1.7.26
        2.8.2
   


   
       
           
                src/main/resources
               
                    **/*.properties
                    **/*.xml
                    **/*.ini
               

                false
           

           
                src/main/java
               
                    **/*.properties
                    **/*.xml
               

                false
           

       

       
           
                org.apache.maven.plugins
                maven-war-plugin
                3.2.3
               
                    false
                   
                        false
                       
                            false
                       

                       
                        ${project.build.directory}/work
                        ${project.build.directory}/${project.build.finalName}
                       
                       
                        WEB-INF/classes/*-filter.properties,**.svn/**
                   

               

           

           
                org.eclipse.jetty
                jetty-maven-plugin
                9.4.19.v20190610
               
                   
                        9090
                        localhost
                        60
                   

                    access-jetty
                    9091
                    10
                    1
                    src/main/webapp
                   
                        /
                   

                    ${project.build.directory}/work
               

           

           
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
               
                    localhost
                    8080
                    /
                    UTF-8
                    UTF-8
                    ${project.artifactId}
                    0
                    tomcat7
               

           

           
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
               
                    1.8
                    1.8
                    true
               

           

         
            org.apache.maven.plugins
            maven-surefire-plugin
            2.22.2
           
              true
           

         

       
        ${project.artifactId}
   
   
       
            junit
            junit
            4.12
            test
       

       
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
       

       
            javax.servlet
            jstl
            1.2
       

       
            javax.servlet
            jsp-api
            2.0
            provided
       

       
            org.apache.tomcat
            tomcat-juli
            7.0.96
       

       
            org.apache.httpcomponents
            httpclient-cache
            4.5.9
       

       
            org.apache.httpcomponents
            httpmime
            4.5.9
       

       
            org.apache.openejb
            javaee-api
            5.0-1
            provided
       

       
            javax.faces
            jsf-api
            1.2_04
            provided
       

       
            javax.faces
            jsf-impl
            1.2_04
            provided
       

       
       
            org.mybatis
            mybatis
            3.5.2
       

       
       
            org.springframework
            spring-context
            ${spring.version}
       

       
            org.springframework
            spring-test
            ${spring.version}
       

       
            org.springframework
            spring-webmvc
            ${spring.version}
       

       
            org.springframework
            spring-context-support
            ${spring.version}
       

       
            org.springframework
            spring-core
            ${spring.version}
           
               
                    commons-logging
                    commons-logging
               

           

       

       
            org.springframework
            spring-aspects
            ${spring.version}
       

       
            org.springframework
            spring-jdbc
            ${spring.version}
       

       
            org.mybatis
            mybatis-spring
            1.3.2
       

       
            mysql
            mysql-connector-java
            5.1.47
       

       
            com.alibaba
            druid
            1.1.18
       

       
            org.aspectj
            aspectjweaver
            1.9.4
       

       
            org.codehaus.jackson
            jackson-mapper-asl
            1.9.13
       

       
            commons-fileupload
            commons-fileupload
            1.4
       

       
            com.alibaba
            fastjson
            1.2.58
       


       

       
            commons-attributes
            commons-attributes-api
            2.2
       

       
            commons-attributes
            commons-attributes-compiler
            2.2
       

       
            commons-beanutils
            commons-beanutils-core
            1.8.3
       

       
            commons-codec
            commons-codec
            1.13
       

       
            commons-collections
            commons-collections
            3.2.2
       

       
            commons-dbcp
            commons-dbcp
            1.4
       

       
            commons-httpclient
            commons-httpclient
            3.1
       

       
            commons-io
            commons-io
            2.6
       

       
            commons-lang
            commons-lang
            2.6
       

       
            commons-logging
            commons-logging
            1.2
       

       
            commons-pool
            commons-pool
            1.6
       

       
            net.sf.ezmorph
            ezmorph
            1.0.6
       

       
            net.sf.json-lib
            json-lib
            2.4
            jdk15
       

       

       
       
            org.freemarker
            freemarker
            2.3.28
       

       
       
       
            net.mingsoft
            shiro-freemarker-tags
            1.0.0
           
               
                    org.apache.shiro
                    shiro-all
               

           

       

       
       
            org.opensymphony.quartz
            quartz
            1.6.1
       

       
            org.apache.shiro
            shiro-all
            ${shiro.version}
           
               
                    org.slf4j
                    slf4j-api
               

           

       

       
            org.apache.shiro
            shiro-core
            ${shiro.version}
           
               
                    org.slf4j
                    slf4j-api
               

           

       

       
            org.apache.shiro
            shiro-web
            ${shiro.version}
           
               
                    org.slf4j
                    slf4j-api
               

           

       

       
            org.apache.shiro
            shiro-quartz
            ${shiro.version}
       

       
            org.apache.shiro
            shiro-spring
            ${shiro.version}
           
               
                    org.slf4j
                    slf4j-api
               

           

       

       
            javax.mail
            mail
            1.4.7
       

        
            org.slf4j
            log4j-over-slf4j
            ${slf4j.version}
        

       
            org.slf4j
            jul-to-slf4j
            ${slf4j.version}
        

       
            org.slf4j
            jcl-over-slf4j
            ${slf4j.version}
       

       
            org.apache.logging.log4j
            log4j-slf4j-impl
            ${log4j2.version}
           
               
                    org.slf4j
                    slf4j-api
               

           

       

        
        
            org.apache.logging.log4j
            log4j-core
            ${log4j2.version}
        

       
       
            com.lmax
            disruptor
            3.4.2
       

       
       
       

       
       
            org.apache.activemq
            activemq-core
            5.7.0
           
               
                    org.slf4j
                    slf4j-api
               

           

       

       
       
            redis.clients
            jedis
            2.9.3
           
               
                    org.slf4j
                    slf4j-api
               

           

       

       

       
       
            com.fasterxml.jackson.core
            jackson-databind
            2.9.9
       

       
            com.fasterxml.jackson.core
            jackson-core
            2.9.9
       

       
            com.fasterxml.jackson.core
            jackson-annotations
            2.9.9
       

       
   

BaseMybatisDao.java增加mybatis新版去掉的注入:


    @Autowired(required = false)
    public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory)
    {
        super.setSqlSessionFactory(sqlSessionFactory);
    }

    @Autowired(required = false)
    public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate)
    {
        super.setSqlSessionTemplate(sqlSessionTemplate);
    }

log4j2.xml内容如下:



   
        logs
   

   
       
           
       

       
                                         fileName="${LOG_HOME}/shary-async.log"
                                 filePattern="${LOG_HOME}/$${date:yyyy-MM}/rattanapi-root-%d{yyyy-MM-dd}-%i.log">
           
           
               
               
           

           
       

       
                                         fileName="${LOG_HOME}/shary-error.log"
                                 filePattern="${LOG_HOME}/$${date:yyyy-MM}/rattanapi-error-%d{yyyy-MM-dd}-%i.log">
           
               
           

           
           
               
               
           

           
       

   

   
       
           
           
           
           
       

   

spring-mvc.xml修改如下:

   
       
           
           
           

           
           
               
           

           
               
                   
                        text/plain;charset=utf-8
                        text/html;charset=UTF-8
                        text/json;charset=UTF-8
                        application/json;charset=UTF-8
                       
                   

               

               
                   
                        WriteMapNullValue
                        QuoteFieldNames
                        WriteNullStringAsEmpty
                       
                   

               

           

       
   

   
   
   
   
   
   
   
   
   
   

   
   

   


   
   
   
   

   
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       
       

       
            org.springframework.web.servlet.view.InternalResourceView
       

       
   

   
   
            class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
       
       
       
       
       
       
   

            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       
       
       
       
   

   
            class="com.sojson.core.freemarker.extend.FreeMarkerConfigExtend">
       
            /WEB-INF/ftl/
       

       
           
               
               
           

       

       
            utf-8
       

       
           
                0
                UTF-8
                UTF-8
                zh_CN
                true,false
                yyyy-MM-dd HH:mm:ss
                yyyy-MM-dd
                HH:mm:ss
   
                #
                true
               
                   
                    /common/config/top.ftl as _top,
                    /common/config/left.ftl as _left
               

           

       

   

   
   
   
            class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8">
       
   

改造前:

玩一下shiro.demo支持Jetty,支持Mybatis最新版本_第1张图片

改造后:

玩一下shiro.demo支持Jetty,支持Mybatis最新版本_第2张图片

你可能感兴趣的:(Eclipse,Java,Web,Java框架捣鼓)