쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/sangyoungMVC에 올려두었습니다.
Controller
- Servlet은 모든 요청을 받아야한다. ( 진입점 설정 )
- 모든 요청을 받고 요청을 처리할 XxxAction을 찾아서 실행
- XxxAction이 반환하는 페이지로 이동
* DD 설정
- 이름이 다르더라도 확장자를 같게 하면 모든 요청을 받을 수 있다.
<servet>
<servlet-name>객체명</servlet-name>
<servlet-class>패키지명.클래스명</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>객체명</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
interface와 java.util.Map 사용법
- interface : 같은 이름의 객체를 다르게 사용하는 것(객체 다형성)
- Map : 키와 값을 쌍으로 되어있는 데이터 형, 키를 사용하여 값을 검색
// 1. Map생성
Map map=new HashMap();
// 2. Map 객체 생성하여 할당
map.put("a",new A());
map.put("b",new B());
map.put("c",new C());
// 3. 사용( Key를 넣어 값을 얻는다. )
String key="a"; //||b||c
if( "a".equals(key) ){
A a=(A)map.get( key );
a.execute();
}
if( "b".equals(key) ){
B b=(B)map.get( key );
b.execute();
}
if( "c".equals(key) ){
C c=(C)map.get( key );
c.execute();
}
// 객체 다형성을 사용하지 않으면
// 중복 코드가 많이 발생한다.
Map과 interface를 사용
// 1. Map 생성
Map<String, SuperInterface> map=new HashMap<String,SuperInterface>();
// 2. Map 객체 생성하여 할당
map.put("a",new A());
map.put("b",new B());
map.put("c",new C());
// 3. 사용( Key를 넣어 값을 얻는다. ) : 객체 다형성 - 값을 받아서 사용하는 코드가 줄어든다.
String key="a"; // ||b||c
SuperInterface si=map.get( key );
String value=si.execute(); //override 된 method가 최우선적으로 호출된다.
서블릿에서 JSP 로 페이지 이동
- forward를 사용한 페이지 이동
// 1. 처리된 데이터가 존재한다면 scope 객체에 할당
request.setAttribute("이름",값);
// 2. 이동할 페이지 설정
RequestDispatcher rd=request.getRequestDispatcher("URI");
// 3. 페이지 이동
rd.forward(request,response);
- redirect를 사용한 페이지 이동
response.sendRedirect("URL");
일반 클래스에서 Web Parameter 처리
- Servlet이나 JSP가 요청되면 HttpServletRequest 인터페이스가 객체를
WAS로부터 할당 받는다.
- Servlet이나 JSP에서 클래스를 생성하고 request나 response객체를 넣어주면
일반클래스에서 웹에 파라메터를 받을 수 있다.
EMP 테이블에서 사원번호와 사원명만 조회
조회된 사원번호를 클릭하면 사원의 상세정보를 조회
'성장 일기 > 쌍용교육센터' 카테고리의 다른 글
0504/Spring 흐름 (0) | 2023.05.04 |
---|---|
0502/MVC 패턴 (0) | 2023.05.02 |
0429/MVC 패턴 (0) | 2023.05.02 |
0428/Cookie, Servlet DD 설정 (0) | 2023.05.02 |
0427/페이지 이동, 관계 유지 (0) | 2023.05.02 |