#servlet-context
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --> <!-- Enables the Spring MVC @Controller programming model --> <annotation-driven /> <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --> <resources mapping="/resources/**" location="/resources/" /> <resources mapping="/images/**" location="/resources/images/" /> <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <beans:property name="prefix" value="/WEB-INF/views/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean> <context:component-scan base-package="com.spring.springInterceptorEx" /> <!-- Interceptor 설정(정의) --> <beans:bean id="member1Interceptor" class="com.spring.springInterceptorEx.interceptor.Member1Interceptor" /> <beans:bean id="member2Interceptor" class="com.spring.springInterceptorEx.interceptor.Member2Interceptor" /> <beans:bean id="member3Interceptor" class="com.spring.springInterceptorEx.interceptor.Member3Interceptor" /> <beans:bean id="member4Interceptor" class="com.spring.springInterceptorEx.interceptor.Member4Interceptor" /> <interceptors> <interceptor> <!-- 회원만/준회원 이상 --> <mapping path="/board/boardList"/> <mapping path="/member/memberDelete"/> <mapping path="/member/memberMain"/> <mapping path="/member/memberUpdate"/> <beans:ref bean="member4Interceptor"/> </interceptor> <interceptor> <!-- 정회원 이상 --> <mapping path="/member/memberList"/> <mapping path="/board/boardInput"/> <mapping path="/board/boardUpdate"/> <mapping path="/pds/**"/> <exclude-mapping path="/pds/pdsDelete"/> <exclude-mapping path="/pds/pdsUpdate"/> <beans:ref bean="member3Interceptor"/> </interceptor> <interceptor> <!-- 우수회원 이상 --> <mapping path="/board/boardDelete"/> <mapping path="/pds/pdsDelete"/> <mapping path="/pds/pdsUpdate"/> <beans:ref bean="member2Interceptor"/> </interceptor> <interceptor> <!-- 관리자만 --> <mapping path="/admin/adminMenu"/> <beans:ref bean="member1Interceptor"/> </interceptor> </interceptors> </beans:beans> | cs |
----------------------------Interceptor부분-----------------------------
#Member2Interceptor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package com.spring.springInterceptorEx.interceptor; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class Member2Interceptor extends HandlerInterceptorAdapter { // 우수회원(2레벨) 이상만 가능 // 컨트롤러 수행 전, 처리할 내용 기술 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println(); System.out.println("이곳은 boardInterceptor의 preHandle 메소드 입니다."); HttpSession session = request.getSession(); int level = session.getAttribute("sLevel")==null ? 99 : (int) session.getAttribute("sLevel"); if(level == 3 || level == 4) { RequestDispatcher dispatcher = request.getRequestDispatcher("/message/levelNo"); dispatcher.forward(request, response); return false; } else if(level > 4) { RequestDispatcher dispatcher = request.getRequestDispatcher("/message/loginNo"); dispatcher.forward(request, response); return false; } return true; } // 컨트롤러 수행 후, 처리할 내용 기술 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println(); System.out.println("이곳은 boardInterceptor의 postHandle 메소드 입니다."); } } | cs |
#Member3Interceptor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package com.spring.springInterceptorEx.interceptor; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class Member3Interceptor extends HandlerInterceptorAdapter { // 정회원(3레벨) 이상만 가능 // 컨트롤러 수행 전, 처리할 내용 기술 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println(); System.out.println("이곳은 boardInterceptor의 preHandle 메소드 입니다."); HttpSession session = request.getSession(); int level = session.getAttribute("sLevel")==null ? 99 : (int) session.getAttribute("sLevel"); if(level == 4) { RequestDispatcher dispatcher = request.getRequestDispatcher("/message/levelNo"); dispatcher.forward(request, response); return false; } else if(level > 4) { RequestDispatcher dispatcher = request.getRequestDispatcher("/message/loginNo"); dispatcher.forward(request, response); return false; } return true; } // 컨트롤러 수행 후, 처리할 내용 기술 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println(); System.out.println("이곳은 boardInterceptor의 postHandle 메소드 입니다."); } } | cs |
#Member4Interceptor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | package com.spring.springInterceptorEx.interceptor; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class Member4Interceptor extends HandlerInterceptorAdapter { // 준회원(4레벨) 이상만 가능/ 회원만 가능 // 컨트롤러 수행 전, 처리할 내용 기술 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println(); System.out.println("이곳은 boardInterceptor의 preHandle 메소드 입니다."); HttpSession session = request.getSession(); int level = session.getAttribute("sLevel")==null ? 99 : (int) session.getAttribute("sLevel"); if(level > 4) { RequestDispatcher dispatcher = request.getRequestDispatcher("/message/loginNo"); dispatcher.forward(request, response); return false; } return true; } // 컨트롤러 수행 후, 처리할 내용 기술 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println(); System.out.println("이곳은 boardInterceptor의 postHandle 메소드 입니다."); } } | cs |
----------------------------Controller부분-----------------------------
나머지 controller는 그냥 jsp페이지로 보내주기만 해서 뺐습니다.
#MemberController
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | package com.spring.springInterceptorEx; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @Controller @RequestMapping("/member") public class MemberController { @RequestMapping(value = "/memberLogin", method = RequestMethod.GET) public String loginGet() { return "member/memberLogin"; } @RequestMapping(value = "/memberDelete", method = RequestMethod.GET) public String deleteGet() { return "member/memberDelete"; } @RequestMapping(value = "/memberJoin", method = RequestMethod.GET) public String joinGet() { return "member/memberJoin"; } @RequestMapping(value = "/memberList", method = RequestMethod.GET) public String listGet() { return "member/memberList"; } @RequestMapping(value = "/memberMain", method = RequestMethod.GET) public String mainGet() { return "member/memberMain"; } @RequestMapping(value = "/memberUpdate", method = RequestMethod.GET) public String updateGet() { return "member/memberUpdate"; } @RequestMapping(value = "/memberLogout", method = RequestMethod.GET) public String logoutGet(HttpServletRequest request) { HttpSession session = request.getSession(); String mid = (String) session.getAttribute("sMid"); session.invalidate(); return "redirect:/message/logout?mid="+mid; } @RequestMapping(value = "/memberLogin", method = RequestMethod.POST) public String loginPost(Model model,HttpServletRequest request, @RequestParam(name="mid", defaultValue = "", required=false) String mid, @RequestParam(name="pwd", defaultValue = "", required=false) String pwd) { if(!pwd.equals("1234")) { return "redirect:/message/falseLogin"; } String midStarter = mid.substring(0,1); String strLevel = ""; int level = 0; if(midStarter.equals("a")) { strLevel = "관리자"; level = 1; } else if(midStarter.equals("b")) { strLevel = "관리자"; level = 2; } else if(midStarter.equals("c")) { strLevel = "정회원"; level = 3; } else if(midStarter.equals("d")) { strLevel = "준회원"; level = 4; } System.out.println("midStarter : " + midStarter); HttpSession session = request.getSession(); session.setAttribute("sMid", mid); session.setAttribute("sLevel", level); session.setAttribute("strLevel", strLevel); if(mid == null || mid.equals("")) { model.addAttribute("msg", "로그인 후 사용하세요"); model.addAttribute("url", "/member/memberLogin"); } else { model.addAttribute("msg", mid + "님 로그인 되었습니다."); model.addAttribute("url", "/member/memberMain"); } return "include/message"; } } | cs |
#messageController
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package com.spring.springInterceptorEx; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @Controller public class MessageController { @RequestMapping(value = "/message/{msgFlag}", method = RequestMethod.GET) public String boardListGet(@PathVariable String msgFlag, Model model, @RequestParam(name="mid", defaultValue = "", required=false) String mid) { if(msgFlag.equals("levelNo")) { model.addAttribute("msg", "회원 등급을 확인해주세요"); model.addAttribute("url", "/member/memberMain"); } else if(msgFlag.equals("loginNo")) { model.addAttribute("msg", "로그인 후 사용해주세요"); model.addAttribute("url", "/member/memberLogin"); } else if(msgFlag.equals("logout")) { model.addAttribute("msg", mid+"님 로그아웃 되었습니다"); model.addAttribute("url", "/member/memberLogin"); } else if(msgFlag.equals("falseLogin")) { model.addAttribute("msg", "비밀번호가 틀렸습니다"); model.addAttribute("url", "/member/memberLogin"); } return "include/message"; } } | cs |
첫댓글 우쌤 뽀에버...☆