struts2 中关于url配置的问题

在xml配置里面是这样写的:

<package name="admin" extends="AdminLevelIntercepter">
        <!-- 后台登陆 -->
        <action name="login" class="cc.sqzr.blog.action.AdminAction" method="login">
            <result name="success">/ADMIN/login.jsp</result>
            <interceptor-ref name="defaultStack"/>
        </action>

        <!-- 后台验证 -->
        <action name="check" class="cc.sqzr.blog.action.AdminAction" method="check">
            <result name="success" type="redirect">/admin/main</result>
            <interceptor-ref name="defaultStack"/>
            <interceptor-ref name="token" />
        </action>

        <!-- 后台主界面 -->
        <action name="main" class="cc.sqzr.blog.action.AdminAction" method="main">
            <result name="success">/ADMIN/main.jsp</result>
            <result name="error">/ADMIN/error.jsp</result>
        </action>

    </package>

但是当我访问的时候:

http://127.0.0.1:8081/admin/login
http://127.0.0.1:8081/login

这两个链接都能访问到 后台登陆... 是我配置错误,还是怎么的..不想让 /login 访问到,而是必须通过/admin/login..

/admin/main

还有这里,不知道有没有其他更好的办法进行跳转..大家登陆成功后一般都是怎么进行跳转的

阅读 5k
2 个回答

按你的意思可以这么配置用struts2默认的包配置:
package name="default" extends="struts-default"
然后,把action改成你想要的访问
action name="admin/login" class="cc.sqzr.blog.action.AdminAction"

<package name="admin" extends="AdminLevelIntercepter">

不应该是

<package name="admin" namespace="/admin" extends="AdminLevelIntercepter">

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题