1.index.jsp中:
一般我们的index.jsp写在webinfo外面
login.jsp写在webinfo里面
index.jsp只需写<jsp:forward page="/WEB-INF/login.jsp"></jsp:forward>
login.jsp为我们的登录界面
2.控制层中
@RequestMapping(value="/login")
public String login(String name,String password,HttpSession session,Model model){
if("admin".equals(name)&&"123456".equals(password)){
session.setAttribute("name", name);
return "forward:list";
}else{
model.addAttribute("msg", "账号或密码错误");
return "login";
}
}
3.LoginInterceptor类中(拦截器):
需要继承HandlerInterceptorAdapter
public class LoginInterceptor extends HandlerInterceptorAdapter{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception{
//判断session
HttpSession session = request.getSession();
if(session.getAttribute("admin")!=null){
return true;
}else{
response.sendRedirect("adminIndex.jsp");//重定向
return false;
}
}
}
4.配置文件中
<!-- 注册拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/><!-- 过滤所有 -->
<mvc:exclude-mapping path="/login"/><!-- 不过滤登录 -->
<bean class="com.zhiyou.lsh.interceptor.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>