전체 글
-
Servlet-JSP MVC05 - mybatis 설치 및 기본설정Web/Servlet-JSP 2023. 6. 14. 17:06
1. 기존 JDBC의 문제 - Connection 객체 얻는 과정에서 코드 내 중요정보 노출 위험 (url정보, user, password 등) - sql문과 java코드가 섞여있어서 개발을 어렵게 만들고, 유지보수가 어렵다 (ex sql에 테이블명이 바뀌는 경우 일일이 수정해줘야한다.) - 속도가 늦다 JDBC에서 Connection을 얻고 해제하는 부분이 시간이 많이 걸린다. -> 이러한 JDBC 기존의 문제를 보완할 수 있는 api가 mybatis api이다. 2. Mybatis API (SQL Mapping Framework) mybatis는 자바소스코드와 sql을 맵핑시키는 api이다. - 자바 소스와 sql을 분리시키고, 이를 연결해서 사용할 수 있게 만드는 API이다. - Connection..
-
HTML 기본정리Web/html-css 2023. 6. 14. 09:24
웹 페이지는 html,css,js가 한 묶음으로 각각을 연결해서 사용한다. html부터 알아보자 1. HTML 기본구조 // 문서가 html언어를 사용함을 알림 // html문서의 시작 //문서 실제 내용 태그와 속성 html문서는 태그를 사용하여 작성되는데, 태그에는 1개 이상의 속성을 넣을 수 있다. 속성 [속성이름]=[값] css 적용하기 html에 css는 3가지 방법으로 적용할 수 있다. - 태그에 style 속성 적용하기 (적용된 태그 한정) - //직접 타이핑해서 사용 4. body안에 들어가는 주요 태그 -- 폰트 사이즈의 크기를 정한다. 문단표시 태그 줄바꿈 하이퍼링크 설정 링크를 넣을 문자열 리스트 관련 태그이다. ol과 li조합은 1,2,3 순서로 표시하고 ul과 li조합은 순서없이 ..
-
Servlet - JSP MVC03 - JSTL and ELWeb/Servlet-JSP 2023. 6. 13. 22:48
1. JSTL이란? JSTL은 - JSP Standard Tag Library jsp에 프로그래밍적인 요소를 태그적인 요소로 바꿀 수 있도록 하는 도구이다. 기존의 등의 jsp에 코드적인 요소를 html태그적인 요소로 바꾸어 좀 더 유지보수하고, 사용하기 편하게 만드는 라이브러리이다. 먼저 jstl을 사용하기 위해서는 외부에서 라이브러리를 받아와야한다. 2. JSTL사용법 JSTL을 사용하기 위해서는 jsp페이지 상단에 아래와 같은 지시자를 포함시켜줘야한다. "c"는 jstl 태그를 사용할 때 접두사로 사용하는 것이다. (다양한 태그들을 식별하기 위함이다.) jstl의 태그는 크게 4가지로 분류되는데 1. 코어태그: for,if,변수 선언 등 기본적인 자바코드 지원 2. FMT: 포맷팅, 날짜, 통화 시..
-
Servlet-JSP MVC03 (1) - forward and RedirectWeb/Servlet-JSP 2023. 6. 13. 21:35
클라이언트 요청을 적절히 처리하고 응답하기 위해 현재 페이지를 전환해야할 때가 있다. 특히 MVC패턴에서는 요청받는 페이지와 응답하는 페이지가 다를 수 있기 때문에 페이지 전환이 자주 일어난다. 이러한 웹에서 페이지 전환 기법은 크게 forward기법과 redirect 기법이 있다. 1. forward기법이란? > 포워드는 Web Container 차원에서 페이지의 이동을 의미한다. > 웹 브라우저에서는 최초 호출한 URL이 표시되고, 이동한 페이지 URL 정보는 확인할 수 없다. > 포워딩 호출 페이지와 호출된 페이지는 같은 Reqeust와 Response를 공유한다. > 단어 그대로 건내주는 것으로 Redirect와는 다르게, 최초 요청과 요청정보가 유지되어 URL에 변화가 없다. > 단순조회나 검색..
-
객체지향 - 캡슐화언어/JAVA 2023. 6. 12. 21:14
캡슐화: 서로 연관있는 속성과 기능들을 하나의 캡슐(capsule)로 만들어 데이터를 외부로부터 보호하는 것 캡슐화의 기능 데이터 보호 - 외부로부터 클래스에 정의된 속성과 기능들을 보호 데이터 은닉 - 내부의 동작을 감추고 외부에는 필요한 부분만 노출 1. 캡슐화는 왜 하는걸까? 구조체,함수들을 이용한 구조적인 프로그래밍을하면, 기존의 절차지향적인 프로그래밍보다 좀 더 구조화된 프로그램을 만들 수 있었다. 하지만, 구조적 프로그래밍은 함수의 개체수가 많아지게 되고 이때 함수를 어떤 기준으로 수납할 것인가?하는 문제가 발생하게 된다. 함수는 크게 1. 기능 2. 데이터 두개의 기준으로 나눌 수 있을 것이다. 이때 데이터에 따라 함수를 분리하면 구조화된 데이터를 사용하는 함수 모듈의 독립성을 침해하는 문제..
-
Servlet-JSP MVC02(4) - Application,Session,CookieWeb/Servlet-JSP 2023. 6. 12. 18:16
- 서블릿 컨테이너의 임시저장소 서블릿사이에 자원을 공유하기 위한 임시저장소들에 대해 앞서 간단하게 알아보았는데, 조금 더 자세하게 이들에 대해 알아보도록 하자 1. Application > Servlet Context라고도 불리는 Application은 WAS의 하나의 웹프로젝트 내에 서블릿 컨테이너에 계속 존재하면서 값을 저장해둔다. > Context라는 말은 Context Path에서 처럼 하나의 웹프로젝트에서의 문맥으로 ContextPath는 WAS내에 웹프로젝트들과 그에 따른 요청을 구별하게 해주는 하나의 문맥, 줄기의 설정이었다면, (ex /MVC01/list.do와 /MVC02/list.do를 구별하게 해주는 역할) Servlet Context는 계속 이어갈 수 있는 상태에 대한 설정을 위한..
-
Servlet-JSP MVC02(3) - 내장객체Web/Servlet-JSP 2023. 6. 12. 15:35
1. 내장객체 앞선 포스트에서 살펴봤듯이 jsp에는 내장객체가 존재한다. 이에 대해 조금 자세히 알아보도록 하자 2. 내장 객체 존재 이유 - 상태 유지의 필요성 내장 객체들은 jsp관점에서 보기보단, 서블릿에 관점에서 먼저 바라보자. 클라이언트 요청이 들어오면 서블릿컨테이너를 통해 서블릿이 메모리에 로드되고, 적절한 처리를 한 뒤에 메모리에서 제거된다. 즉, 서블릿이 호출되고, 종료되면 서블릿이 사용하고있던 자원이 반환된다는 것이다. 하지만, 때론 서블릿이 자원을 받아 일정하게 처리하고, 처리된 결과를 전역변수처럼 계속 유지하며, 서블릿끼리 공유해야할 때도 있을 것이다. (ex 계산기를 만든다고 할때 2 + 2 + 2 = 6 -->사용자 입력이 =이 나올때 까지 전 계산 결과를 계속 유지하고 있어야한다..
-
Servlet-JSP MVC02(2) - JSP와 Servlet의 관계Web/Servlet-JSP 2023. 6. 12. 14:46
1. JSP는 서블릿이다. JSP의 실행과정을 보면 (클라이언트가 jsp로 곧바로 요청을 보냄) 클라이언트 요청 -> WAS가 JSP를 찾아서 랜더링 -> 랜더링 된 JSP페이지를 통해 응답하는 과정을 거친다. 이런 일련의 응답과정에서 JSP가 서블릿으로 (서블릿의 형태로) 변환되어 응답한다. @WebServlet("/test01.jsp") public class Myhap extends HttpServlet { final PageContext pageConext=null; javax.servlet.http.HttpSession session = null; final javax.servlet.ServletContext application =null; //내장객체들 protected void servic..