1. Shiro整合SpringMVC基于XML
1.1. 说明
上面的知识,我们已经了解Shiro的权限授权、权限校验、Md5的加密密码的配置。
但是,我们的需求将Shiro框架用到Web项目。
所以,我们需要使用Shiro整合SpringMVC使用!!!
1.2. 整合步骤说明
1. 配置SpringMVC框架
2. 配置Shiro框架
3. 整合SpringMVC与Shiro
1.3. 整合步骤
1.3.1. 第一部分:SpringMVC框架的配置
1.3.1.1. 步骤说明
1. 导入依赖的Jar包
2. 构建一个请求页面
3. 创建业务控制器
4. 配置web.xml的核心控制器
5. 创建配置文件
6. 构建一个返回页面
1.3.1.2. 第一步:导入依赖的Jar包
1.3.1.3. 第二步:构建一个请求页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="${pageContext.request.contextPath }/admin/addAdmin">addAdmin</a>
</body>
</html>
1.3.1.4. 第三步:创建业务控制器
package cn.gzsxt.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.context.annotation.SessionScope;
@Controller
@SessionScope
@RequestMapping(value="admin")
public class AdminController {
@RequestMapping(value="/addAdmin")
public String addAdmin(){
System.out.println("=增加管理员=");
return "/index.jsp";
}
}
1.3.1.5. 第四步:配置web.xml的核心控制器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>shiro-demo-08-springmvc</display-name>
<!-- 配置核心控制器。拦截器所有的请求 -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定配置文件的路径 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-*.xml</param-value>
</init-param>
<!-- 配置启动的时候就创建对象 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>in