Notice
Recent Posts
Recent Comments
Link
«   2026/03   »
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
Tags
more
Archives
Today
Total
관리 메뉴

brograming

CommandHandler_Day38 본문

Kosta

CommandHandler_Day38

brograming 2023. 4. 11. 16:40

CommandHandler

Request, Response를 매개변수로 가지는 process 메서드를 가지는 인터페이스

process 메서드는 추상 메서드의 형태를 가진다.

 

Handler.java

package handler;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//모든 요청 처리 클래스의 부모
public interface Handler { //파라미터로 request, response 받음
	String process(HttpServletRequest request, HttpServletResponse response);//반환타입 string
}

 

 

Handler.java로부터 상속받은 Handler들.

pocess를 이전 서블릿에서 작성한 내용으로 완성했다.

 

JoinHandler.java

package handler.member;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import handler.Handler;
import member.MemberService;
import member.MemberVo;

public class JoinHandler implements Handler {

	@Override
	public String process(HttpServletRequest request, HttpServletResponse response) {
		// 요청 처리에 사용할 req, res를 파라미터로 받고, 결과페이지 경로를 리턴값으로 반환
		// String은 뷰페이지(결과페이지) 경로를 String으로 반환
		// TODO Auto-generated method stub
//		System.out.println("get방식 요청 처리");
		
		String view = "";
		if(request.getMethod().equals("GET")) {
			view = "/member/Join.jsp";
		}else {
			String id = request.getParameter("id"); 
			String pwd = request.getParameter("pwd");
			String name = request.getParameter("name");
			String email = request.getParameter("email");
			
			MemberService service = new MemberService();
			service.join(new MemberVo(id,pwd, name, email));
			
			view = "redirect :/index.jsp";
		}
		return view;
	}

}

 

EditHandler.java

package handler.member;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import handler.Handler;
import member.MemberService;
import member.MemberVo;

//url: /member/edit.do
public class EditHandler implements Handler {

	@Override
	public String process(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		
		String view = "";
		if(request.getMethod().equals("GET")) {
			String id = request.getParameter("id");
			System.out.println(id);
			MemberService service = new MemberService();
			MemberVo m = service.getMember(id);
			//검색한 결과를 request에 담는다. setAttribute(이름, 값);
			request.setAttribute("m", m);
			view = "/member/edit.jsp";
		}else {
			String id = request.getParameter("id");
			String pwd = request.getParameter("pwd");
			String name = request.getParameter("name");
			
			MemberService service = new MemberService();
			service.editMyInfo(new MemberVo(id,pwd, name, ""));
			
			view = "redirect :/index.jsp";
		}
		return view;
	}

}

'Kosta' 카테고리의 다른 글

JQUERY_Day40  (0) 2023.04.13
Properties. load(), keySet()  (0) 2023.04.11
DispatcherServlet / commandHandler / commands.properties_Day38  (0) 2023.04.11
파일 다운로드_Day38  (0) 2023.04.11
로그인(세션과 쿠키)_Day31, Day32  (0) 2023.03.30