在我们预计的系统中,登录后不仅仅是一种角色,可能这个用户是普通用户,其他的某个用户又是管理员了。

那么在接下来,我们就要创建一组页面,来实现每个不同角色的用户登录之后,可以有属于自己这个角色的页面。

同时页面的结构也要规划好,对于头部和尾部要做到复用。

1、先来复习一下我们之前创建的数据库。

看到 user_role_type 那一列了吧,正是我们拿来标识用户。

这里我们约定1为管理员(admin),2为普通用户(user)。

2、然后我们首先在 web/WEB-INF 创建一下页面文件,文件结构和相关文件如下。

admin 文件夹– 主要放置管理员角色相关的页面的主要内容

user 文件夹– 主要放置用户角色相关的页面的主要内容

includes 文件夹–主要放置以上两种角色页面的公共资源文件,比如头部和尾部文件。

相关文件内容如下

注意:

include 就是在这里引用其他文件的内容。flush  就是缓冲器满了就输出,免得爆掉。page 就是你要引用的页面。

admin/index.jsp

admin/page1.jsp

admin/page2.jsp

user/index.jsp

user/page1.jsp

includes/admin/footer.jsp

includes/admin/header.jsp

includes/user/footer.jsp

includes/user/header.jsp

好的,这些就是我们需要的页面文件了。

3、然后我们在 Controller  里创建两个子包,分别叫 Admin 和  User,里面分别放 AdminPageController  和 UserPageController,对上面的页面资源进行展示。

Admin/AdminPageController

 

User/UserPageController

 

4、然后我们来改下我们之前的 IndexController,主要对 index 方法进行修改。

 

5、改好之后,我们再来创建两个拦截器 AdminInterceptor 和 UserInterceptor,用以对越权访问进行拦截(比如管理员访问用户页面,或者用户访问管理员界面啥的)。

AdminInterceptor

UserInterceptor

 

然后再在 dispatcher-servlet.xml 里注册一下新添加的拦截器,分别对指定的路径进行拦截。

 

6、运行,测试。

管理员下 访问 /user ,就会被自动折返回 /admin。