본문 바로가기

전체 글

TIL 2023.03.06 Spring Framework 3.X (annotation, ibatis) Spring 3.0 eclipse perspective 설정을 spring으로 변경 프로젝트 생성하자마자 실행하여 Hello, world 볼 수 있는데 한글이 깨지는 것은 JSP 문제다. 아래 코드를 jsp에 추가하면된다. servlet-context.xml 기본적으로 handller mapping은 따로 되어있지 않고 어노테이션을 이용할 수 있도록 해두었고 view resolver 되어있음 그래서 매핑을 하려고 servlet-context를 수정할 필요 없이 어노테이션을 이용하여 매핑을 해야함 최대한 손댈 필요 없도록 만들었던 것이 특징이다. ... Controller @org.springframework.stereotype.Controller public class Ex01Controller impl.. 더보기
TIL 2023.03.03 docker tomcat 배포 docker docker-machine ssh default docker -v -a 전부 확인 -h 설명서 (안되면 --help) docker pull hello-world docker image ls docker container create hello-world docker container ls -a docker container start NAME|ID docker container rm NAME|ID docker image rm hello-world -- getting-started docker image pull docker/getting-started docker container create docker/getting-started docker container start NAME|ID d.. 더보기
TIL 2023.03.02 Spring framework ver 2.X (IoC-DI, AOP, Junit) IoC - DI(의존성 주입) 주입의 방법 3가지 Field injection (파라미터) Setter injection (세터) Constructor injection (생성자) Spring에서는 setter와 생성자를 이용한 DI 를 이용한다. 모듈 정의, 다형성을 이용한 인터페이스 화 public interface Module { public void func1(); } ----------------- public class Module1 implements Module{ public void func1() { System.out.println("Module1 run..."); } } ----------------- public class Module2 implements Module{ public.. 더보기
TIL 2023.02.27 Spring framework ver 2.X POJO (Plain Old Java Object) 자바에서 여러가지를 상속받은 객체를 하나 생성할 뿐인데 모든 부모객체도 생성해야하다보니 점차 프로젝트가 무거워지게 되었는데 최대한 가볍게 써보자 순수한 자바를 이용한 옛날 방식을 이용해보자라는 내용으로 등장한 것이 POJO 이며 이를 통해 탄생한게 스프링 스프링도 가볍지만 않지만 이전에 비해서는 상대적으로 가볍다고 한다. 이후로 모든 프레임 워크들이 POJO 를 지향하며 만들게 되었다고 한다. ORM (Object Relational Mapping) 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑 해주는 것 ibatis mybatis의 전신 현재는 사용되지않고 mybatis로 사용함 Spring framework pom.xml - dependency.. 더보기
TIL 2023.02.23 Java Web 12 (Struts frame work example, (feat.MongoDB)) apache Struts 프레임워크 예전에 쓰던 자동화를 아주 잘해둔 프레임워크 스프링을 해보기전 비교느낌으로 체험 자바 프로젝트로 만들기 다운로드 빌드 패스에 다운받은 라이브러리들 추가 라이브러리 등록 필터 방식으로 구현하고있음 web.xml에 필터 추가 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* src에 struts.xml 생성 /index.jsp Action인터페이스를 상속받아 controller 생성, index.jsp 생성 package com.bit.controller; import com.opensymphony.xwork2.Action; public class IndexActi.. 더보기
TIL 2023.02.22 Java Web 11 (JdbcTemplate, MongoDB replica set) JdbcTemplate ---------------- RowMapper.java package com.bit.framework.jdbc; import java.sql.ResultSet; import java.sql.SQLException; public interface RowMapper { T rows(ResultSet rs) throws SQLException; } ----------------- JdbcTemplate.java package com.bit.framework.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; imp.. 더보기
TIL 2023.02.21 Java web 10 (EL표현식, JSTL, framework - DispatcherServlet) EL 표현식 과 동일하게 ${} 의 안에 작성하는 방식 실수 연산을 하기 때문에 연산을 피하는 것이 좋다. 문자와 문자열을 구분 하지 않는다. 문자열만 존재. 객체 표현 시은 null 불가, EL은 null은 가능하나 new 불가능 null 이면 아예 아무것도 안나오기 때문에 오류도 안떠서 null에 대한 제어문을 줄일 수 있다. EL은 page scope에 실려있는 변수를 호출한다. (scope의 default는 page) bean1 : ${bean1 } bean2 : ${bean2 } 배열, 자료구조 호출 String[] String[] ${arr1 } ${arr1[0] } ${arr1[1] } ${arr1[2] } ${arr1[3] } List List ${arr2 } ${arr2[0] } ${ar.. 더보기
TIL 2023.02.20 Java Web 9 (log4j, Filter, Listener, download, junit, DispatchServlet, JdbcTemplate) log4j 의존성 추가 log4j log4j 1.2.17 controller @WebServlet("/ex01.do") public class Ex01Controller extends HttpServlet { Logger log = Logger.getLogger("com.bit.controller.Ex01Controller"); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { log.debug("출력"); response.getWriter().append("Served at: ").append(request.getContextPath()); }.. 더보기