본문 바로가기
728x90
반응형

분류 전체보기111

[스프링MVC 19] MVC 패턴 1. 하나의 서블릿이나 JSP만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리하게 되면, 너무 많은 역할을 하게되고, 결과적으로 유지보수가 어려워진다. (비즈니스 로직을 호출하는 부분에 변경이 발생해도 해당 코드를 손대야 하고, UI를 변경할 일이 있어도 비즈니스 로직이 함께 있는 해당 파일을 수정해야 한다.) 예시 HTML 코드 하나 수정해야 하는데, 수백줄의 자바 코드가 함께 있다! 비즈니스 로직 하나 수정해야 하는데 수백 수천줄의 HTML 코드가 함께 있다! 2. 이게 정말 중요한데, 진짜 문제는 둘 사이에 변경의 라이프 사이클(변경 주기)이 다르다는 점이다! UI 를 일부 수정하는 일과 비즈니스 로직을 수정하는 일은 각각 다르게 발생할 가능성이 매우 높고 대부분 서로에게 영향을 주지 않는다. 이렇게.. 2023. 7. 26.
[스프링MVC 18] JSP로 회원 관리 웹 애플리케이션 JSP로 회원 관리 웹 애플리케이션을 만들어보자. JSP를 사용하려면 build.gradle에 라이브러리를 추가해야 한다. implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' 회원 등록 폼 JSP (main/webapp/jsp/members/new-form.jsp) username: age: 전송 JSP 문서는 첫줄에 이렇게 시작해야 한다 첫 줄을 제외하고는 완전히 HTML와 똑같다. JSP는 서버 내부에서 서블릿으로 변환되는데, 이전의 MemberFormServlet과 거의 비슷한 모습으로 변환된다. [스프링MVC 17] 서블릿으로 회원 관리 웹 애플리케이션 (tistory.com).. 2023. 7. 26.
[스프링MVC 17] 서블릿으로 회원 관리 웹 애플리케이션 서블릿으로 회원 관리 웹 애플리케이션을 만들어보자. MemberFormServlet 단순하게 회원 정보를 입력할 수 있는 HTML Form을 만들어 응답 /**회원 등록 폼*/ @WebServlet(name="memberFormServlet", urlPatterns = "/servlet/members/new-form") public class MemberFormServlet extends HttpServlet { private MemberRepository memberRepository = MemberRepository.getInstance(); //싱글톤이므로 new 안됨 @Override protected void service(HttpServletRequest req, HttpServletRespo.. 2023. 7. 25.
[Java] StringBuilder 클래스 문자열을 저장하는 String은 내부의 문자열을 수정할 수 없다.(내용 변경 불가) 또한 문자열을 결합하는 +연산자를 많이 사용할수록 성능을 느리게 한다. →문자열을 변경하는 작업이 많을 경우에는 StringBuffer 또는 StringBuilder 클래스를 사용하는 것이 좋다! StringBuffer 클래스 String처럼 문자형배열(char[])을 내부적으로 갖고있다. 그러나, String과 달리 내용을 변경할 수 있다. 배열은 길이 변경 불가. 공간이 부족할땐? 3단계 처리 필요 새로운 배열 생성 내용복사 참조(주소) 변경 → StringBuffer는 저장한 문자열의 길이를 고려해서 적절한 크기로 생성해야 한다. StringBuffer는 equals()가 오버라이딩되어있지않다. (내용이 아닌, 주소.. 2023. 7. 24.
[스프링 MVC 5] 웹 애플리케이션 이해: 자바 백엔드 웹 기술의 역사 자바 웹 기술 (과거) 서블릿 - 1997 HTML 생성이 어려움 JSP - 1999 HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당 서블릿, JSP 조합 MVC 패턴 사용 모델, 뷰, 컨트롤러로 역할을 나누어 개발 MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초 MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능 지원 스트럿츠, 웹워크, 스프링 MVC(과거 버전) 자바 웹 기술 (현재 사용 기술) 애노테이션 기반의 스프링 MVC 등장 @Controller MVC 프레임워크의 춘추 전국 시대 마무리 스프링 부트의 등장 스프링 부트는 서버를 내장 과거에는 서버에 WAS를 직접 설치하고, 소스는 War 파일을 만들어서 설치한 WAS에 배포 스.. 2023. 7. 24.
[스프링MVC 16] 회원 관리 웹 애플리케이션 회원 관리 웹 애플리케이션 요구사항 회원 정보 이름: username 나이: age 기능 회원 저장 회원 목록 조회 회원 관리 웹 애플리케이션을 서블릿, JSP, MVC 패턴 순으로 구현해보자. 회원 도메인 모델 /**회원 도메인 모델*/ @Getter @Setter public class Member { private Long id; private String username; private int age; public Member() {} public Member(String username, int age) { this.username = username; this.age = age; //id는 Member를 회원저장소(DB)에 저장하면 회원저장소가 할당 } } id 는 Member를 회원 저장소에.. 2023. 7. 24.
728x90
반응형