pom.xml
4.0.0
com.monkey1024
03mvc
0.0.1-SNAPSHOT
war
junit
junit
3.8.1
test
javax.servlet
javax.servlet-api
3.1.0
org.springframework
spring-webmvc
5.0.4.RELEASE
03mvc
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
UTF-8
web.xml
springMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
springMVC
*.do
springmvc.xml
PermissionInterceptor.java
package com.monkey1024.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
/*
* 权限拦截器
*/
public class PermissionInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object handler) throws Exception{
System.out.println("拦截器中的preHandle方法");
String user = (String) request.getSession().getAttribute("user");
//判断用户名为monkey1024的用户是否已登录
if(!"monkey1024".equals(user)){
request.getRequestDispatcher("/jsp/fail.jsp").forward(request, response);
//不进行后续处理
return false;
}
return true;
}
public void postHandle(HttpServletRequest request,HttpServletResponse response,Object handler,ModelAndView modelAndView) throws Exception{
System.out.println("拦截器中的postHandle方法");
}
public void afterCompletion(HttpServletRequest request,HttpServletResponse response,Object handler,Exception ex) throws Exception{
System.out.println("拦截器中的afterCompletion方法");
}
}
LoginController.java
package com.monkey1024.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/*
* 登陆
*/
@Controller
public class LoginController {
@RequestMapping("/welcome.do")
public ModelAndView welcome() throws Exception{
ModelAndView mv = new ModelAndView();
mv.addObject("welcome","欢迎登陆本系统");
mv.setViewName("/welcome");
return mv;
}
}
fail.jsp
Insert title here
登录失败
welcome.jsp
Insert title here
${welcome }
login.jsp
Insert title here