WebBack(51)
-
[Spring] 서블릿의 구조
기존의 코드를 서블릿 형식으로 바꾸기 기존의 TwoDice 코드이다. 이를 서블릿으로 바꾸려면 어떻게 해야할까?@Controllerpublic class TwoDice{ @RequestMapping("/rollDice") public static void main(HttpServletResponse response) throws IOException { int idx1 = (int)(Math.random()*6)+1; int idx2 = (int)(Math.random()*6)+1; response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); ..
2024.07.12 -
[Java] StringJoiner
java.util.StringJoiner 클래스로 문자열을 결합하는데 사용한다. 사용 방법은 아래와 같다. StringJoiner sj = new StringJoiner("," , "[", "]");String[] strArr = {"aaa", "bbb", "ccc"};for(String s : strArr) sj.add(s.toUpperCase()); System.out.println(sj.toString()); //[AAA,BBB,CCC] StringJoiner는 다음과 같은 생성자를 가지고 있다. 1. StringJoiner(구분자): 구분자를 기준으로 문자열을 결합한다.2. StringJoiner(구분자, 접두어, 접미어):구분자로 문자열을 결합하는데 접두어로 시작하고 접미어로 끝나는 문자..
2024.07.09 -
[Java] Class.forName / newInstance / getDeclaredMethods
Class.forName과 newInstance는 긴밀한 관계에 있어서 같이 쓰이는 경우가 많다. Class clazz = Class.forName("a");Object obj = clazz.newInstance(); Class.forName이란?문자열을 통해서 객체를 생성하지 않고 클래스를 메모리에 로드하기 위해서 사용한다. 만약 해당 이름을 가진 클래스나 인터페이스가 있다면 이를 객체로 반환한다. 만약 클래스나 인터페이스가 발견되지 않으면 ClassNotFoundException 예외가 발생하기 때문에 사용할 때에는 예외 처리가 필요하다.newInstance란?class 객체에서 newInstance를 호출하여 클래스의 새로운 인스턴스를 생성한다. 기본 생성자를 호출하여 객체를 초기화한다. getD..
2024.07.09 -
[Spring] 자바 버전을 바꿔보자
매개변수 이름을 저장하기 위해 parameters 옵션을 사용하려고 한다. 하지만 JDK 1.8부터 사용이 가능하다. 그런데 현재 사용하고 있는 버전이 1.6이라 해당 기능을 사용할 수 없다. 그러면 이를 해결하기 위해 버전을 바꾸어보도록 하자. 먼저, [project] -> [properties]에 들어가자. 그 다음으로 Compiler를 검색해서 들어가보자. 옵션에 들어가면 현재 버전이 1.6임을 알 수 있다. 이 버전을 1.8 이상으로 바꾸어 주면, classfile Generation에서 Store information about method parameters이 활성화된다. 필자는 자바 11버전을 쓰고 있으므로 11로 바꾸어주었다. 저장하고 창을 닫는다. 하지만 여전히 라이브러리 버전은 ..
2024.07.09 -
[Spring] 어떻게 view로 전달이 될까?
Spring 주제URL원격 프로그램은 어떻게 실행될까?https://ycraah.tistory.com/37AWS에 배포하기https://ycraah.tistory.com/38HTTP 요청을 받아 화면에 출력하기https://ycraah.tistory.com/39resourse폴더 이용하기https://ycraah.tistory.com/40URL에서 포트 번호 생략하는 법https://ycraah.tistory.com/42MVC 패턴https://ycraah.tistory.com/44 앞에서 우리는 [views] 폴더에 jsp 파일을 넣기만 해도 출력이 되는 것을 확인했다. 그런데 이것이 왜 가능할까? 기본적으로 설정이 되어있기 때문이다. 그 설정 파일은 [src] -> [main] -> [webapp] ..
2024.07.09 -
[Spring] MVC 패턴
Spring 주제URL원격 프로그램은 어떻게 실행될까?https://ycraah.tistory.com/37AWS에 배포하기https://ycraah.tistory.com/38HTTP 요청을 받아 화면에 출력하기https://ycraah.tistory.com/39resourse폴더 이용하기https://ycraah.tistory.com/40URL에서 포트 번호 생략하는 법https://ycraah.tistory.com/42 1. 관심사의 분리이번에는 OOP 5대 설계 원칙중에 SRP(단일책임원칙)에 따라 기존의 코드는 크게 수정할 예정이다. SRP는 쉽게 관리하고 유지보수하는 코드를 구현하기 위한 개발 지침이다. 그 지침은 다음과 같다. "한 클래스는 한 기능만 책임진다"(Real-World Softwar..
2024.07.09