*springMVC.xml 配置 *
<context:component-scan base-package="com.spring.mvc" />
<mvc:interceptors>
<mvc:interceptor>
<!--拦截的请求地址-->
<mvc:mapping path="/views/system/*"/>
<mvc:mapping path="/getUsersList"/>
<!--进行排查不需要的拦截 如 getLogin 登陆的-->
<mvc:exclude-mapping path="/views/system/getLogin"/>
<!--<mvc:exclude-mapping path="/views/system/getLogin"/>-->
<!--指定自定义的拦截器-->
<bean class="com.spring.mvc.configs.InterHandlerController">
<property name="excludeUrls">
<list>
<value>/blog/assets</value>
<value>/blog/docs</value>
<value>/blog/incubator-echarts-2.2.7</value>
<value>/blog/nice-validator-master</value>
<value>/blog/html/login.jsp</value>
</list>
</property>
</bean>
</mvc:interceptor>
</mvc:interceptors>
<!--开启注解的配置-->
<mvc:annotation-driven></mvc:annotation-driven>
<!--进行配置视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--前缀,页面从什么地方开始获取-->
<property name="prefix" value="/"></property>
<!--后缀,页面.结合名称-->
<property name="suffix" value=".jsp"></property>
</bean>
<mvc:default-servlet-handler/>创建config 包 在里面创建
//自定义的一个拦截器
public class InterHandlerController implements HandlerInterceptor {
private List<String> excludeUrls;
// 这个方法是在业务处理器请求之前被调用的
//如果不需要调用其他的组件去处理请求,这返回false
//如果拦截器对请求进行拦截处理后,还要进行调用其他的拦截器,则返回true
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//进行格式化字符集
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//获取的session中的数据
Users users=(Users) request.getSession().getAttribute("us");
//获取对应的请求地址
String requestURI = request.getRequestURI();
for (String excludeUrl : excludeUrls) {
if (requestURI.contains(excludeUrl)){
return true;
}
}
if (users==null) {
System.out.println("当前没有账号登陆");
//跳转到登陆页面
response.sendRedirect("blog\html\login.jsp");
}
return true;
}
//这个方法在业务处理完请求后,但是DispatcherServlet向客户端返回数据,在方法中对用户的请求进行处理
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
//在DispatcherServlet 完全处理请求后被代用的,
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
public List<String> getExcludeUrls() {
return excludeUrls;
}
public void setExcludeUrls(List<String> excludeUrls) {
this.excludeUrls = excludeUrls;
}}
controller 层
@Controller
@SessionAttributes({"us"})
@RequestMapping("/views/system")
public class LoginController {
///views/system/views/system/getLogin
@PostMapping("/getLogin")
public String getLogin(Users users, Model model){
System.out.println(users);
model.addAttribute("us",users);
if (users!=null) {
System.out.println(users);
return "blog/html/index";
}
return "blog/html/login";
}
@PostMapping("/getLogin1")
public String getLogin1(Users users, Model model){
System.out.println(users);
model.addAttribute("us",users);
if (users!=null) {
System.out.println(users);
return "blog/html/index";
}
return "blog/html/login";
}
@PostMapping("/getLogin2")
public String getLogin2(Users users, Model model){
System.out.println(users);
model.addAttribute("us",users);
if (users!=null) {
System.out.println(users);
return "blog/html/index";
}
return "blog/html/login";
}}
实体类
public class Users {
/**
*/
private Integer id ;
/**
*/
private String name ;
/**
*/
private String pwd;
@Override
public String toString() {
return "Users{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}}

京公网安备 11010502036488号