jeesite简单入口分析

这两天要开新项目 , 准备使用比较受欢迎的 jeesite框架 . 

jeesite是一个写好的网站 , 用到的框架比较多 具体请看 -- > github链接

 

下载下来之后 , 手动把maven版本改成了普通的web项目 , 然后导入数据库 . 启动成功 .

接下来开始了解项目的基本构成 , 我比较喜欢先从程序的入口开始分析 , 发现直接打开项目地址 会自动跳转到登陆地址(a/login)  ,然后就分析这个跳转是怎么做的 . 

比较纳闷的是 , web.xml没有欢迎页面 直接就跳转了 . 后来分析了 springMVC的配置 发现 spring-mvc.xml里面有如下代码 :

<!-- 定义无Controller的path<->view直接映射 -->
<mvc:view-controller path="/" view-name="redirect:${web.view.index}"/>

意思注释说的很明白 , 如果直接访问项目的根目录  即: localhost:8080/projectName/  则会直接跳转到 view-name 里面的地址 "redirect"的意思是重定向 . ${web.view.index} 这个是spring通过加载 xxxx.properties 文件获得的全局变量 . 加载properties 文件配置如下 :

<!-- 加载配置属性文件 -->
<context:property-placeholder ignore-unresolvable="true" location="classpath:jeesite.properties" />

这样就把 该 properties 文件里面所有 key-value 加载到spring全局里面 . 然后在所有的spring配置里面 都可以用 类似 ${key} 来调用相应的值 , 很方便 . 

来看看这个${web.view.index}在 jeesite.properties 文件里是多少  :

web.view.index=/a

/a 

看到这里应该明白 , 如果直接访问项目根目录 , 则直接跳转到 localhost:8080/projectName/a 这个url . 渐渐的有眉目了 , 但还不够 . 

全局搜索 /a 是啥意思 , 发现jeesite.properties里面有个 值 

adminPath=/a

有个 adminPath 承接了这个 /a 路径 . 

jeesite 还用了一个管理权限的框架 , 也是第一次接触 叫  Apache Shiro . 项目中有个 spring-context-shiro.xml 配置文件 , 就是关于shiro的配置 . 其中就有一段 这样的配置 :

    <!-- Shiro权限过滤过滤器定义 -->
    <bean name="shiroFilterChainDefinitions" class="java.lang.String">
        <constructor-arg>
            <value>
                /static/** = anon
                /userfiles/** = anon
                ${adminPath}/cas = cas
                ${adminPath}/login = authc
                ${adminPath}/logout = logout
                ${adminPath}/** = user
                /act/editor/** = user
                /ReportServer/** = user
            </value>
        </constructor-arg>
    </bean>

具体的意思 可以了解一下shiro  

${adminPath}/** = user  关键在于这句话  意思是 访问的链接 是类似 ${adminPath}/** 这个的话 , 则 必须得有用户登录  , 否则跳转到登陆界面 . 而  ${adminPath} 又恰好是 /a 于是  如果 有 /a/** (**是匹配所有的意思) 链接 , 则需要登陆 ,如果没有登陆则跳转到 登陆界面 . 

至此 , 登陆跳转大致算清晰了 . 

转载于:https://www.cnblogs.com/Human-nature/p/6483481.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值