안녕세계
[T아카데미] 모바일 서버 프로그래밍 기본 - 3일차 본문
[T아카데미] 모바일 서버 프로그래밍 기본 - 3일차
Junhong Kim 2016. 6. 29. 17:55● Java와 MySQL 연동
- JDBC의 연동 과정
1) JDBC 드라이버 이름 및 접속할 JDBC URL을 설정한다.
2) JDBC 드라이버를 로드한다.
3) JDBC URL과 계정 정보를 이용해 Connection 객체를 얻는다.
4) JDBC 이용해 데이터베이스를 사용한다.
5) Connection을 종료한다.
※ 확인사항
- MySQL에 '데이터베이스'와 '테이블'을 만들어 둬야 함
- mysql-connector-java-5.1.22-bin.jar 파일을 WebContent/WEB-INF/lib 아래에 넣어야 함
- import 할 때는 import java.sql.* 아래에 있는 것을 import 해야 함
public class DBTest { public DBTest() { public static void main(String[] args) { }
|
※ 웹에서 출력하고 싶으면 위 코드를 복사하여 jsp 파일에 복사한다.
System.out.println을 out.println으로 바꾸면 client 쪽에서 출력된다.
● Database Connection Pool(DBCP)
: 데이터베이스에 대한 여러 개의 연결을 미리 맺은 후 그것을 한곳에 모아놓고 웹 어플리케이션들이 필요할 때마다 가져가 사용한 후
반환 할 수 있도록 만들어 놓은 장소.
● 웹 Error Page 보여주기
/* 에러시 보여 줄 페이지 설정*/ <%@ page language="java" contentType="text/html; charset=UTF-8"
|
/* 에러 페이지 설정 */ <%@ page language="java" contentType="text/html; charset=UTF-8"
|
/* 에러가 나오면 보여줄 페이지 설정 web.xml */
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" metadata-complete="true" version="3.1"> |
● 이벤트 리스너(event listener)
: 웹 컨테이너 안에서 어떤 사건(event)이 일어났을 때 자동으로 호출되는 프로그램.
[web.xml] 에 추가
<listener>
|
[MySessionListener.java]
@WebListener /** /** /**
|
● 필터(filter)
: 여러 웹 자원(servlet/JSP 등) 에 대해 동일한 사전작업이나 사후작업이 필요한 경우
클라이언트와 웹 컨테이너 사이에 개입하여 이를 처리할 수 있는 방법
[web.xml] 에 추가
<filter>
|
[AFilter.java]
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("A Filter 사전작업");
|
● 래퍼(wrapper)
: 클라이언트와 웹 자원 사이를 오가는 요청 객체와 응답 객체를 변경할 수 있는 방법. 필터와 함께 사용된다.
[AFilter.java]
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
|
[MyWrapperRequest.java]
public class MyWrapperRequest extends HttpServletRequestWrapper { public MyWrapperRequest(HttpServletRequest request) { @Override
|
[g.jsp]
<body>
|
● 배포
프로젝트 오른쪽 버튼 → export → WAR file → Destination(위치 설정) → finish
WebContent 아래에 있는것만 배포, wara 파일로 됨.
java 파일은 배포 되지 않는다. 즉, build 된것(class)만 배포 됨
이제 배포버전 달라고 하면 이 war 파일을 복사해서 실제 톰캣이 설치되어 있는
C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps 아래에 넣는다
되는지 확인하려면
C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin\Tomcat8 실행
아까 그 war 파일이 압축해제 됨.
그 다음 브라우저로 가서 해당 서버(ip) 주소를 치고 들어가서 하면된다.
이 컴퓨터를 끄지 않으면 이제 서버운영 구축이 된 것임. 컴퓨터를 끄지말자~ 그러면 내 서버가 돌아가는 중!!
● 설계 모델
1) 모델1
- 화면에 보여지는 부분과 DB 연결 부분이 모두 JSP에서 구현된 모델
- 비교적 간단한 웹 어플리케이션에 적합
- JSP 내에서 동적인 부분은 스크립트릿으로 처리하고, 나머지 부분은 템플릿으로 처리
* 자바빈 (Java Bean) : 자바로 작성되어진 컴포넌트들을 일컫는 말
2) 모델2 (MVC 디자인 패턴)
- 화면에 보여지는 부분(view) 과 데이터를 관리하는 부분(model) 그리고 이를 제어 및 분기 (controller) 해주는 부분을 구성된 모델
- 비교적 복잡한 웹 어플리케이션에 적합한 모델
- 모델 2 구조는 RequestDispatcher.forward() 메소드를 통해서 구현될 수 있음
- 쪼개서 하는 것
클라이언트에서 요청하는것을 서블릿이 처리, 서블릿은 데이터베이스로부터 읽기/쓰기를 함, controller & model
보여주는건 JSP가 함. JSP는 view 출력을 함
고쳐야하는 것이 있으면 해당하는 것만 고치면 됨.
servlet은 웹 응용프로그램임 → web.xml에서 수정해야 함 → 서버를 껏다 다시켜야 함 → 서버 껏다 키는건 심각한 것 임
MVC 디자인 패턴으로 하는것이 좋음!!
'My Trace > T아카데미' 카테고리의 다른 글
[T아카데미] 모바일 서버 프로그래밍 기본 - 5일차 (0) | 2016.07.01 |
---|---|
[T아카데미] 모바일 서버 프로그래밍 기본 - 4일차 (0) | 2016.06.30 |
[T아카데미] 모바일 서버 프로그래밍 기본 - 2일차 (0) | 2016.06.28 |
[T아카데미] 모바일 서버 프로그래밍 기본 - 1일차 (0) | 2016.06.27 |
[T아카데미] 모바일 서버 프로그래밍 기본 과정 합격! (0) | 2016.06.26 |