본문 바로가기

java spring/servlet&jsp9

서블릿 jsp 11 (컨트롤러 나누기) 지금까지 서블릿을 컨트롤러와 뷰로 나누었다. 하지만 일반적으로 여기서 컨트롤러를 다시 나눈다. 컨트롤러는 요청을 받으면 그 요청을 서비스에게 다시 보내는 식으로 나누는 것이다. 위와 같이 사용자의 요청 -> 컨트롤러가 요청을 받고 처리할 서비스를 서비스에게 전달 -> 서비스에서 처리하고 모델을 만들어서 -> 컨트롤러에게 전달 -> 모델을 받은 컨트롤러가 뷰로 전달 -> 뷰는 사용자에게 화면 출력 일단 컨트롤러의 코드를 보자. 1. 사용자가 /notice/list의 url을 요청한다. 그렇게 되면 위의 컨트롤러에 매핑되고 2. doGet메소드가 실행된다. 처음에 요청할 때는 /notice/list 위에 쿼리스트링이 따로 없으므로 각각 field는 "title", query ="" 이다. 3. 그리고 Not.. 2021. 4. 7.
서블릿 jsp 8(프로젝트 시작하기) 전에 jdbc에서 sql을 연결을 위해 드라이버를 설치하고 프로젝트의 buildPath에서 sql의 jar파일을 추가하였다. 하지만 웹 프로젝트는 다른 곳에 sql jar파일을 추가해줘야한다. 위처럼 web info의 lib에 jar파일을 그대로 복사해준다. 이러게 되면 드라이버 준비를 끝낸 것이다. 또한 서블릿에 커넥터를 올리고 나의 데이터베이스와 연동하기 위해서는 코드 블럭 안에다가 코드들을 넣어주면 된다. 그냥 위처럼 코드 블럭에 넣어주기만 하면 되는 것이다. 다만 Import시에는 블럭에 임포트 문을 넣어줘야 한다. 그러면 notice 테이블에 저장된 데이터들을 화면에 불러와 보자. while문을 통해 notice 테이블의 모든 데이터를 불러오고 있다. 물론 jsp에서도 당연히 rs와 st를 파일.. 2021. 4. 5.
서블릿, jsp 7(EL, 내장객체) 지난 포스트에서 뷰와 컨트롤러를 완전히 분리하였다. 하지만 아직 뷰에는 입니다. 위와 같은 자바 코드가 남아있었다. 뷰에는 완전히 출력만을 하기 위해 jsp는 EL이라는 것을 제공한다. 사용방법은 간단하다. 컨트롤러에서 뷰로 보내는 데이터의 key값으로 value를 얻을 수 있다. 다음과 같다. ${key} 이렇게 하면 value의 값을 얻을 수 있는 것이다. 아래의 코드를 보자. spag.jsp의 11 line의 자바코드가 들어간 것보다. 12번 라인이하는 훨씬 간결하다. 또한 리스트 데이터도 전달받을 수 있는데, 13line처럼 ${키[index]}라 하면 해당 인덱스의 데이터를 얻을 수 있다. 아래는 결과 저장소로 사용할 수 있는 객체에는 page, request, session, applicati.. 2021. 4. 4.
서블릿, jsp 6 전 포스팅에서 지저분한 out.write의 남발을 보았다. 이러한 노동을 jsp를 쓰면 재스퍼가 알아서 만들어준다. (jsp=재스퍼) 간단하게 확장자를 .jsp라고 만들면되는데, 만약 calculator.jsp라는 파일을 만들면 재스퍼가 calculator_jsp.java 라는 서블릿을 만들어준다. 이 서블릿은 HttpJapBase를 상속받는 클래스와 그안에는 service라는 메소드가 있다. 우리가 jsp파일에 내용을 적으면 그 내용들을 여기 calculator_jsp.java라는 파일에 알맞게 넣어준다. jsp에는 코드블럭을 넣을 수 있는 1. 변수를 출력해주는 2. _jsp.java 서블릿의 service함수가 아닌 클래스의 멤버변수로 들어가는 즉 변수나 메서드를 선언하는 3. 파일의 인코딩 방식등.. 2021. 4. 3.