//Skip to content
- Session
- 브라우저마다 세션아이디를 생성하고 HttpSession를 생성한다.
- Http get
- get방식은 key=value
- get방식으로 요청하면 주소뒤에 ?name=값 형태로 붙어서 요청한다.
- 파라미터가 없으면 null이 반환된다.
- Jsp Ecriptlets
- 주소 요청이 오면 jsp가 있는지 없는지 검사한다.
- HttpJspBase를 상속받는다.
- jsp 파일이 있다면 .java파일로 변경하고 _jspService()메소드에서 out.write()메소드로 사용자가 작성한 내용을 출력한다.
- jsp파일에서 out.write()메소드를 사용하여 실행하면 화면에 출력된다. 그 이유는 JSP파일에서 내장객체로 out을 가지고 있기 때문이다.
- 소스를 보고 싶으면 쉘에서 find / -name index_jsp.java 명령어로 위치를 찾아서 vi 명령어로 본다. 예를들면 다음과 같은 경로에 파일이 있다.(/Users/mac/Library/Caches/IntelliJIdea2017.2/tomcat/Tomcat_8_0_33_FastCampusJavaWebMaster_3/work/Catalina/localhost/ROOT/org/apache/jsp/index_jsp.java)
- HTML + JAVA 로직이 섞여있어서 개발 후 유지보수 할때 불편한 점이 있다.
- <%@ 지시문 %> , <% 자바코드 %>로 사용 가능하다.
- EL문을 사용할수 있다.
- taglib는 태그라이브러리를 사용할수 있다. WAS는 태그라이브러리 설정이 있는지 확인한다. classpath에서 taglib에 적혀있는 uri가 있는지 확인한다.
- 만약에 jstl taglib를 사용하려면 maven dependency에 'jstl'을 추가하고 jsp에서 taglib jstl 지시문을 설정한다.
- MVC1
- JSP <-> CLASS <-> DB 와 같은 구조가 MVC1구조다.
- 단점은 JSP가 가지고 있는 단점이다.
- MVC2
- 서블릿(로직) -> CLASS -> DB 호출후 결과를 JSP에게 넘기고 JSP에서는 JSTL, EL문만 사용해서 개발한다.(Forward방식으로 전달한다.
- Redirect
- 1. 브라우저는 서버에 요청을 한다.
2. Redirect가 되어있으면 Status Code : 302, location: 주소값 을 반환한다.
3. 브라우저는 302코드 받았으면 자동으로 서버에 location에 적혀있는 주소로 요청한다.
4. 서버가 응답한다.
- Forward
- 포워딩할때는 path가 반드시 '/' 로 시작한다.
- 포워딩 대상에 값을 전달하려면 request가 가지고 있는 setAttribute메소드를 이용하면 된다.
- JSP에서 setAttribue한 값을 출력할수 있다.
- 실습
- 서블릿 게시판, 상세 보기, 페이징 처리 만들기
0 개의 댓글:
댓글 쓰기