일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- getter
- .repeat
- int오류
- 작성순서
- ifelse
- 겟터
- Join
- 생성자
- 상속
- 오라클
- 객체
- Java
- 삼항연산자
- 생성자쓰는이유
- 프로그래머스
- 향상된for문
- HAVING
- setter
- SQL
- SELECT 절
- 제어문
- .substring
- for문
- 자바
- 칼럼명에 별칭 지정
- sql오류
- executeUpdate
- 연산자
- 카카오인턴십
- 이터레이블
- Today
- Total
CoDream
시험 복습 - UI 설계 본문
1. 브라우저에서 WAS 측으로 요청을 보내는 방법
- URL 입력: 사용자가 브라우저 주소창에 URL을 입력하면 브라우저는 해당 URL에 대한 HTTP 요청을 서버에 보냅니다.
- a 태그: <a href="URL">Link</a>를 클릭하면 브라우저는 href 속성에 명시된 URL로 GET 요청을 보냅니다.
- form 태그: <form action="URL" method="POST">와 같이 사용하며, 사용자가 폼을 제출하면 브라우저는 action 속성에 명시된 URL로 지정된 method(POST, GET 등)로 요청을 보냅니다.
- JS 활용하여 주소 변경 (location.href): JavaScript를 사용하여 location.href = 'URL';로 URL을 변경하면 해당 URL로 브라우저가 이동하며 GET 요청을 보냅니다.
- AJAX 통신: JavaScript의 XMLHttpRequest 객체 또는 Fetch API를 사용하여 비동기 요청을 보냅니다.
2. 마이바티스 설정에서 JDBC 타입을 제공하지 않을 때 null 값 처리를 위한 name 값
<setting name="jdbcTypeForNull" value="NULL"/>
MyBatis 설정 파일에서 jdbcTypeForNull을 설정하여 파라미터에 JDBC 타입을 명시하지 않을 때 null 값을 처리할 수 있습니다.
3. 마이바티스가 ResultSet을 Java Object와 매핑하는 과정
MyBatis는 ResultSet의 컬럼명과 resultType의 필드명을 비교하여 매핑합니다. 즉, SQL 쿼리 결과의 컬럼명과 Java 객체의 필드명이 일치할 경우 자동으로 매핑이 이루어집니다.
4. mapper 파일의 select 태그의 resultType 속성에 작성하는 클래스파일 경로에 대한 별칭 등록
<typeAliases>
<typeAlias alias="BoardVo" type="com.example.board.vo.BoardVo"/>
</typeAliases>
MyBatis 설정 파일에서 <typeAliases> 태그를 사용하여 클래스의 별칭을 등록하면 resultType 속성에 해당 별칭을 사용할 수 있습니다.
5. mapUnderscoreToCamelCase의 사용 경우
mapUnderscoreToCamelCase는 ResultSet의 컬럼명이 snake_case인 경우 이를 camelCase로 자동 매핑할 때 사용합니다. 예를 들어, user_name 컬럼은 userName 필드로 매핑됩니다.
<setting name="mapUnderscoreToCamelCase" value="true"/>
6. 특정 문자열을 추가하거나 제거하기 위한 마이바티스의 동적 SQL 태그
<trim> 태그를 사용합니다. prefix, suffix, prefixOverrides, suffixOverrides 속성을 사용하여 SQL 구문에 조건부로 문자열을 추가하거나 제거할 수 있습니다.
<trim prefix="(" suffix=")" suffixOverrides=","> ... </trim>
7. Connection Pool에 대한 설명
Connection Pool은 데이터베이스 연결 객체(Connection)를 미리 생성해두고, 필요할 때 가져다 쓰고 사용 후 반환하는 방식으로 관리합니다.
이를 통해 데이터베이스 연결의 생성과 종료에 드는 비용을 줄이고, 효율성을 높입니다.
8. Java 클래스를 WebComponent(Servlet)로 만들어 WebContainer에 등록하기 위한 설정
annotation 방식:
@WebServlet("/path")
public class MyServlet extends HttpServlet {
// ...
}
xml 방식: (web.xml 파일)
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/path</url-pattern>
</servlet-mapping>
9. Controller layer의 역할
- 요청을 받아서 필요한 데이터를 꺼내고, 데이터들을 모아서 서비스 레이어에 전달합니다.
- 서비스 레이어의 결과를 받아서 클라이언트에게 적절히 응답합니다.
10. Service layer의 역할
- 비즈니스 로직을 처리합니다.
- DAO를 호출하여 데이터베이스 작업을 수행합니다.
- 트랜잭션을 관리하고 자원을 반납합니다.
11. Dao layer의 역할
- SQL 쿼리를 실행하고, 데이터베이스와의 상호작용을 담당합니다.
- 데이터를 가져오거나 저장, 수정, 삭제하는 작업을 수행합니다.
12. WEB-INF 폴더의 특징
- 외부에서 직접 접근할 수 없습니다.
- JSP, 서블릿 등의 웹 애플리케이션 파일들을 보관하는 폴더입니다.
13. localhost의 IP 주소
127.0.0.1
14. AJAX 통신 방식에서 데이터를 전달할 때 일반적으로 사용하는 형식 2가지
XML
xhr.setRequestHeader('Content-Type', 'application/xml');
JSON
xhr.setRequestHeader('Content-Type', 'application/json');
15. HTTP Status Code 중 4XX의 의미
클라이언트 측에서 잘못된 요청을 보냈을 때 사용됩니다. 예: 404 Not Found, 400 Bad Request
16. HTTP Status Code 중 5XX의 의미
서버 측에서 오류가 발생했을 때 사용됩니다. 예: 500 Internal Server Error, 503 Service Unavailable
17. JSP의 동작 방식
JSP 파일에 대한 요청이 들어오면, 웹 컨테이너는 JSP 파일을 서블릿 코드로 변환합니다.
그런 다음 이 서블릿을 컴파일하고 실행하여 클라이언트에게 응답을 보냅니다.
18. 마이바티스를 사용하기 위한 준비 과정 (환경설정)
- Jar 파일 준비: MyBatis 관련 라이브러리(JAR 파일)를 프로젝트에 추가합니다.
- 설정 파일 작성: MyBatis 설정 파일 (mybatis-config.xml)을 작성합니다.
- SqlSession 얻기: MyBatis 설정 파일을 이용하여 SqlSession을 얻는 자바 코드를 작성합니다.
- Mapper 파일 작성: SQL 쿼리문을 포함한 Mapper XML 파일을 작성합니다.
- 설정 파일에 Mapper 연결: MyBatis 설정 파일에 Mapper 파일을 연결합니다
'TEST (오답노트)' 카테고리의 다른 글
공공데이터 test (0) | 2024.07.01 |
---|---|
UI 설계 및 구현 (0) | 2024.06.04 |
인터페이스 구현 (0) | 2024.05.13 |
서버프로그램 구현 (0) | 2024.05.13 |
애플리케이션 설계 (0) | 2024.05.13 |