TIL (76) 썸네일형 리스트형 [MyBatis] Dynamic Sql if서브메뉴-원하는 금액대에 적합한 추천 메뉴 목록 보여주기 config라는 Source Folder를 생성해서 connection-info.properties 파일을 생성하고 mybatis-config.xml파일을 기존에 있던 것을 복사해온다. connection-info.properties 에는 경로를 따로 작성해주고 mybatis-config.xml 에는 키 값을 넣어서 연결시켜준다. 기존 매퍼를 연결 할 때에는 mapper resource="~~"라고 작성해줬는데, 이번엔 패키지로 지정해준다. 위에서 지정한 똑같은 경로로 소스폴더를 생성하고 기존 MenuMapper.xml을 가져온다. 같은 경로의 같은 이름이어야 하기 때문에 DynamicSqlMapper로 통일 시킨다. 기존 내용들은 지워주고 m.. [MyBatis] crud-javaconfig 앞서 해준 crud는 xmlconfig를 이용한 것이었다. javaconfig를 이용해서 crud를 똑같이 해준다 MenuDAO, mybatis-config.xml이 없어지고 menu-mapper.xml 대신 MenuMapper.java파일이 대체된다. Application, MenuController, PrintResult 코드 동일 Template - mybatis-config.xml에서 해준 설정을 Template에 해준다. package com.greedy.section02.javaconfig; import org.apache.ibatis.datasource.pooled.PooledDataSource; import org.apache.ibatis.mapping.Environment; import .. [MyBatis] crud-xmlconfig JDBC에서 crud를 해줬듯이, MyBatis에서도 crud를 수행해보자. 프로젝트 Properties-java Build Path에서 Libraries, Source 추가 해준다. Template생성 package com.greedy.section02.xmlconfig; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBu.. [MyBatis] xml사용하지 않고 SqlSessionFactory빌드, xml 사용하기 UTF-8 인코딩설정 완료..(생략) Perspective에서 Java로 변경 mybatic-3.5.6.jar파일, ojdbc8.jar파일 lib폴더 생성해서 넣어줌 프로젝트 Properties - Java BuildPath - Libraries - Classpath에 위에 위의 파일들 AddJARs 적용 이전 jdbc에서 사용했던 오라클 계정을 연결시켜준다. DB접속에 관한 환경 설정 - JdbcTransactionFactory : 수동 커밋 - ManagedTransactionFactory : 자동 커밋 - PooledDataSource : ConnectionPool 사용 - UnPooledDataSource : ConnectionPool 미사용 생성한 환경 설정 정보를 가지고 마이바티스 설정 객체 .. [Ajax] ajax 요청 후 stream을 이용한 문자열 응답 1. GET방식의 데이터 요청 1-1. 데이터 전송 없이 문자열 반환 응답하는 데이터가 단순 문자열인 경우 문자열만 내보낼 수 있다. 이 때 기본 응답 데이터는 text/plain이다. 또한 인코딩 설정도 되어 있지 않다. 한글 데이터를 응답하려면 인코딩 설정을 해주어야 한다. 1-2. data로 값 전송 후 문자열 반환 전달된 파라미터를 꺼낼 때는 request의 getParameter 메소드를 이용한다. 마찬가지로 응답 데이터에 한글이 포함되어 있는 경우 응답에 대한 인코딩 설정을 해줘야 한다. 이 때 반환하는 데이터의 기본형태는 text/plain이다. 내가 전달한 값이 출력 alert로 뜬다. 2. POST방식의 데이터 요청 2-1. 데이터 전송 없이 문자열 반환 post방식도 get방식과 같은 .. [Ajax] javascript, jquery AJAX는 대화형 웹 응용프로그램을 만들기 위한 웹 개발 기술이다. 기존 웹 애플리케이션은 동기 요청을 사용하면 서버와 정보를 전송한다. 폼 양식을 작성하고 제출을 누르면 서버의 새 정보가 있는 새 페이지로 이동한다는 의미이다. 하지만 AJAX를 사용한다면 자바스크립트가 서버에 요청하여 결과를 해석하여 현재 화면을 업데이트 하게 된다. 클라이언트는 이러한 화면 갱신 없이 데이터가 서버로 전성되었다는 사실을 알지 못해도 서버 데이터를 수신할 수 있게 된다. AJAX는 서버 소프트웨어와는 별개의 독립적인 웹 브라우저 기술이며 기술 자체로는 프론트엔드로 분류가 된다. 하지만 서버 전송 이후 back-end와 연동되기 때문에 back-end와 혼동할 수 있다. 자바스크립트는 서버와 비동기 상호작용을 수행하기 위.. [Servlet] forward, redirect, cookie 먼저 html에 폼을 만들어 놓자. forward 아이디 : 로그인 비밀번호 : 1. 서블릿에서 아이디와 비밀번호 값을 얻는 메소드를 작성한다. 위에서 요청 정보를 받았고 모든 비즈니스 로직은 성공이라는 가정 하에 user01을 입력 시 해당 아이디를 user01님 환영합니다 라는 메시지를 출력해주는 화면을 만들자 이러한 처리를 해줄 PrintLoginSuccessServlet으로 위임하기 위해서는 RequestDispatcher 인스턴스 생성 후 이 때 다른 서블릿으로 요청하기 위한 데이터는 request에 setAttribute로 전달하여 받는 쪽에서는 getAttribute를 이용해 꺼내서 사용한다. forward받은 서블릿(PrintLoginSuccessServlet)에서도 요청 방식이 get이면.. [Servlet] response, exception-handler 서블릿이 하는 역할은 크게 3가지라고 볼 수 있다. 1. 요청 받기(HTTP method GET/POST 요청에 따른 parameter로 전달 받은 데이터를 꺼내올 수 있다) 2. 비즈니스 로직 처리(DB 접속과 CRUD에 대한 로직 처리 -> 서비스를 호출하는 쪽으로 해결(MVC)) 3. 응답하기 (문자열로 동적인 웹(HTML 태그)페이지를 만들어서 스트림을 이용하여 내보내기) 사용자 브라우저에 응답하기 위해 HttpServletResponse가 가지는 getWriter() 메소드로 PrintWriter 인스턴스를 반환 받는다. PrintWriter는 BufferedWriter와 형제격인 클래스이지만 더 많은 형태의 생성자를 제공하고 있어서 실제로는 범용성으로 인해 더 많이 사용 된다. 문자열을 이용해.. 이전 1 2 3 4 5 ··· 10 다음