웹어플리케이션- 웹 서버 : 웹 브라우저의 요청을 받아서 알맞은 결과를 웹 브라우저에 전송한다. 프로그램 처리가 필요하다면 어플리케이션 서버를 사용하거나 프로그램을 직접 호출하여 결과를 생성한다. 주로 정적인 HTML, 이미지, CSS, 자바 스크립트를 웹브라우저에 제공할 때 웹 서버가 사용된다. (아파치) - 웹 어플리케이션 서버 : 게시글 목록, 로그인 처리와 같은 기능을 실행(처리)하고, 그 결과를 응답으로 웹 서버에 전달한다. (톰갯, 웹로직, JBOSS 등)- 데이터베이스 : 웹 어플리케이션이 필요로하는 데이터를 저장한다. (오라클, MySQL, MS-SQL 등) 아파치와 톰캣- 톰캣 자체에 웹 서버 기능이 있어 톰캣만으로도 jsp가 실해오디는 웹을 구성할 순 있지만, 톰캣의 웹 서버 기능은 아..
회원제 게시판 구현 과정을 되짚어보고예제프로젝트를 진행하며 앞에서 슬쩍 지나간 부분을 다시 살펴본다. 1. 회원 관련 주요 기능- 회언 가입- 회원 정보 수정- 로그인/로그아웃- 로그인한 사람만 특정 기능 실행 2. 회원제 게시판 기본 셋팅 2-1 데이터베이스 생성- user 테이블 2-2 프로젝트 생성WebContent/WEB-INF/lib 파일들의 용도1) mysql-connector-java-5.1.46-bin.jar- JDBC (Java DataBase Connectivity) : 자바에서 데이터베이스와 관련된 작업을 처리할 때 사용하는 API이다. DBMS의 종류에 상관없이 하나의 JDBC API를 사용해서 데이터베이스 작업을 처리 할 수 있다. 2) commons-dbcp2-2.1.jar / ..
필터 : HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 클래스 사용 예 :사용자 인증, 캐싱 필터, 자원 접근에 대한 로깅, 응답 데이터 변환(HTML 변환, 응답 헤더 변환, 데이터 암호화 등), 공통 기능 실행 - 모든 페이지에서 로그인 여부를 판단하는 코드를 넣지 않고 필터를 적용하여 사용- XSL/T를 이용하여 XML문서를 변환하여 보여줄 수 있음- 모든 페이지에 캐리터 인코딩()을 적용할 수 있음 실습 예제 코드 : https://github.com/KihyunLim/chap19.git
모델1 구조웹 브라우저의 요청을 JSP가 직접 처리한다. 웹 브라우저의 요청을 받은 JSP는 자바빈이나 서비스 클래스를 사용해서 웹 브라우저가 요청한 작업을 처리하고 그 결과를 클라이언트에 출력한다. 모델2 구조웹 브라우저의 요청을 하나의 서블릿이 받는다. 서블릿은 웹 브라우저의 요청을 알맞게 처리한 후 그 결과를 보여줄 JSP 페이지로 포워딩한다. 포워딩을 통해 요청 흐름을 받은 JSP 페이지는 결과 화면을 클라이언트에 전송한다. MVC(Model-View-Controller) 패턴모델 == 로직 처리 클래스, 자바빈 : 비즈니스 영역의 로직을 처리한다.뷰 == JSP : 비즈니스 영역에 대한 프레젠테이션 뷰(즉, 사용자가 보게 될 화면)를 담당한다.컨트롤러 == 서블릿 : 사요자의 입력 처리와 흐름 ..
서블릿은 jsp 표준이 나오기 전에 만들어진 표준으로 자바로 웹 어플리케이션을 개발할 수 있도록 하기 위해 만들어졌다. 서블릿 2.5까지는 web.xml에 서블릿으로 등록해야 서블릿 클래스 사용이 가능했는데서블릿 3.0부터는 @WebServlet 애노테이션을 사용하면 web.xml파일에 따로 등록하지 않아도 서블릿으로 등록된다.톰캣7(서블릿 3.0)이나 8버전(서블릿 3.1)이 해당된다. @WebServlet 애노테이션을 사용할 때 고려할점은 서블릿이 범용적으로 사용되는 서블릿인지의 여부이다.MVC 프레임워크는 어떤 URL을 서블릿이 처리할지 미리 알 수 없다. 단지, 다양한 요청 URL을 MVC 프레임워크가 처리할 수 있는 기능을 구현할 수 있을 뿐이다.>>>>>>>>>>>>>>>>> 일단은 먼소린지 ..
jsp를 사용했을 때 123456789101112 로그인 한 상태 로그인 하지 않은 상태Colored by Color Scriptercs jstl을 사용했을 때123456 로그인 한 상태 로그인 하지 않은 상태Colored by Color Scriptercs 커스텀 태그를 사용했을 때123456 로그인 한 상태 로그인 하지 않은 상태cs 커스탬 태그의 장점- 재사용 : 한 번 작성한 커스텀 태그는 어떤 jsp 컨테이너에서도 사용 가능하다.- 쉽고 단순한 jsp 코드 작성 : 자바 코드에 익숙하지 않은 개발자들도 커스텀 태그를 사용하면 쉽게 jsp 페이지를 작성할 수 있게 된다. - 코드 가독성 향상 : 커스텀 태그는 뚜렷한 의도를 갖고 사용하면 스크립트 코드를 줄일 수 있게 된다. 123 Colored ..
웹의 일반적인 구성요소service 클래스 : 사용자의 요청을 처리하는 기능을 제공한다. 기능을 제공하기 위한 로직을 구현하며 DAO 클래스를 이용해서 DB연동을 처리한다. 가입 신청 처리, 글 목록 제공 등의 기능을 구현한다.DAO(Data Access Object) 클래스 : DB와 관련된 쿼리를 실행한다. sercive 클래스들은 데이터를 DB에서 읽어오거나 DB에 데이터를 저장할 때 DAO클래스를 사용한다.JSP(뷰) : service 클래스가 실행한 결과를 화면에 출력하거나 service가 기능을 수행하는데 필요한 데이터를 전달한다.MVC 프레임워크 : 사용자의 요청을 service에 전달하고 service의 실행 결과를 JSP와 같은 뷰에 전달한다. 스프링 MVC와 같은 프레임워크가 해당된다...
365페이지에서create user 'jspexam'@'%' identified by 'jsppw';부분만 쿼리 실행에 실패를 한다.ㅡㅡ 어차피 '%' 부분이 호스트이니localhost는 성공 했으니 상관 없겠지?? ---------------------------------------------------------------------5/13 jdbc는 java database connectivity자바에서 데이터베이스와 관련된 작업을 처리할 때 사용하는 api자바는 dbms의 종류에 상관없이 하나의 jdbc api를 사용해서 데이터베이스 작업을 처리할 수 있다.jdbc 드라이버는 WEB-INF/lib 폴더에 넣으면 Java Resources > Libraries > Web App Libraries에..
jsp는 스크립트릿과 표현식 등의 스크립트 코드와 html 코드가 뒤섞이게 되는데, 이렇게 뒤섞인 jsp 코드는 알아보기가 쉽지 않다. jsp는 와 같은 태그를 개발자가 추가할 수 있는 기능을 제공하는데 이를 커스텀 태그라고 한다. 커스텀 태그 중에서 많이 사용되는 것들을 모아서 jstl이라는 표준을 만들었다. 이는 코드를 간결하고 이해하기 쉬운 jsp 코드 작성을 하게 해준다. jsp2.3과 호환되는 jstl 버전은 1.2이며jsp2.1과 jsp.2.2.와도 호환된다.다운로드한 파일은 WEB-INF/lib에 복사한다. 이번 챕터도 나중에 실습을 통해 익히는 걸로...ㅎ
읽기만 하니까 먼 소린지를 모르겠네ㅡㅡ 뒤에 프로젝트 실습할때 나오면 봐야지ㅂㄷㅂㄷ
- Total
- Today
- Yesterday
- 컨트롤러
- postHandler
- 의존성
- aspect oriented programming
- 의존성 주입
- @Autowired
- java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
- 검색
- #java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent삭제
- application context
- multiple SLF4J bindings
- LoggingEvent
- 스프링 컨테이너
- servlet context
- SqlSessionFactoryBean
- setter 인젝션
- NoClassDefFoundError
- exclude-mapping
- XmlWebApplicationContext
- blocking
- 횡단 관심
- Class path contains multiple SLF4J bindings
- aop
- afterCompletion
- Controller
- preHandler
- ViewResolver
- 어노테이션
- handlermapping
- JoinPoint
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |