안녕세계
[T아카데미] 모바일 서버 프로그래밍 기본 - 4일차 본문
[T아카데미] 모바일 서버 프로그래밍 기본 - 4일차
Junhong Kim 2016. 6. 30. 18:00* package 만들 때
- "com.tistory.inma.appname.기능" 형식을 따른다.
1) 공통 파일
: com.tistory.inma.appname.comm
2) MVC 디자인 패턴 모델 파일
: com.tistory.inma.appname.model
3) 데이터를 관리하는 패키지 묶음 (VO = Value Object)
: com.tistory.inma.appname.vo
* 용어
1) DAO = data access object
2) VO = value object
3) JDBCUtil.class = DB 연동하기 위한 클래스 파일(프로그래머가 만들어서 관리)
● 모델1 vs 모델2(MVC) - 게시판 만들기
1) 모델1
: JSP가 요청을 받아서 JSP로 출력한다.
2) 모델2(MVC)
: Servlet이 모든 요청을 받아서 처리하고, JSP로 출력한다.
- JSP 파일은 WebContent/WEB-INF/views 에 넣는다.
- Servlet의 forward 경로를바꿔준다 "./WEB-INF/views/result1.jsp;"
※ 웹에서 데이터를 json으로 보고 싶을때
<%@ page language="java" contentType="application/json; charset=UTF-8" pageEncoding="UTF-8"%> ${result}
|
※ 클라이언트에서 Post 방식으로 글자를 전송하는 경우 한글/특수문자 등이 께진다.
: 께지지 않게 하기 위해서는 서버 페이지에서 한글 께짐을 방지하기 위한 메서드 Post로 넘어갈 때 상단에 아래 코드를 써준다.
"request.setCharacterEncoding("utf-8");"
● 모델1
- json으로 데이터를 보내는 방법 (GSON 활용)
<% BoardDAO dao = new BoardDAO(); dao.doGetBoard(vo); Gson gson = new Gson(); %> |
● 모델2 (MVC[Model View Controller] 디자인 패턴)
: Servlet 에서 request 를 받아서 처리하고(Controller), JSP 에서는 클라이언트에게 화면을 보여준다. (View)
- CRUD? = Creat Read Update Delete 를 일컫는 말
* 사용자가 입력하거나 선택하는 정보는 아니지만 폼 전송이 같이 전송해줘야 하는 정보를 담기 위해서 히든 필드(Hidden Field)를 사용
<form action="member" method="post"> </form |
<form action="member?action=login> 으로 써도 무방하긴 하지만 이렇게 안 씀
* 서블릿에서 session 쓰기
: HttpSession session = request.getSession(true);
- JSP 에서는 그냥 쓸 수 있지만, Servlet 에서 쓰려면 session 을 가져와서 써야 함.
● 수업 시간 중 번외 이야기
* 일반 기업 구성원
디자이너 : 그림 그리는 사람
퍼블리셔 : 프로그램을 이쁘게 꾸미는 사람
서버개발자 : servlet , jsp 등 만들기
응용개발자1 : 실제 업무 기능 ( 순수 자바 )
응용개발자2(JDBC) : 디비 연동만
DBA : 디비만 사용
모바일
기획
팀장
* 벤쳐/스타트업 구성원
디자이너 + 퍼블리셔
Server 개발자 + 응용개발자1 + 응용개발자(JDBC) + DBA
모바일
기획 + 팀장
'My Trace > T아카데미' 카테고리의 다른 글
[T아카데미] 모바일 서버 프로그래밍 기본 - 5일차 (0) | 2016.07.01 |
---|---|
[T아카데미] 모바일 서버 프로그래밍 기본 - 3일차 (0) | 2016.06.29 |
[T아카데미] 모바일 서버 프로그래밍 기본 - 2일차 (0) | 2016.06.28 |
[T아카데미] 모바일 서버 프로그래밍 기본 - 1일차 (0) | 2016.06.27 |
[T아카데미] 모바일 서버 프로그래밍 기본 과정 합격! (0) | 2016.06.26 |