728x90 반응형 전체 글114 [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. [스프링 MVC 4] 웹 애플리케이션 이해: HTML, HTTP API, CSR, SSR 1. 정적 리소스 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공 주로 웹 브라우저 (주로) 웹 브라우저가 hello.html을 요청하면 이미 생성된 파일을 제공 2. HTML 페이지 동적으로 필요한 HTML 파일을 생성해서 전달 웹 브라우저: HTML 해석 주문내역 페이지를 요청하면, WAS가 애플리케이션로직을 수행하여 DB를 통해 주문정보를 조회한다. 주문정보 조회한 데이터를 로직에 넣어 동적으로 HTML을 생성하여(뷰 템플릿이라고함) 웹브라우저에 전달한다. SSR - 서버 사이드 렌더링 HTML 최종 결과를 서버에서 생성해서 웹 브라우저(클라이언트)에 전달 주로 정적인 화면에 사용 관련기술: JSP, 타임리프 → 백엔드 개발자 CSR - 클라이언트 사이드 렌더링 HTML 결과를 자바.. 2023. 7. 22. [스프링 MVC 15] 서블릿: HTTP 응답 데이터 HTTP 응답 메시지는 주로 다음 내용을 담아서 전달한다. (3가지) 단순 텍스트 응답 writer.println("ok"); HTML 응답 HTTP API - MessageBody JSON 응답 HttpServletResponse - HTML 응답 HTTP 응답으로 HTML을 반환할 때는 content-type을 text/html 로 지정해야 한다. @WebServlet(name="responseHtmlServlet", urlPatterns = "/response-html") public class ResponseHtmlServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletRespo.. 2023. 7. 22. [스프링 MVC 14] 서블릿: HttpServletResponse HttpServletResponse 역할 HTTP 응답 메시지 생성 HTTP 응답코드(상태코드) 지정 헤더 생성 바디 생성 편의 기능 제공 Content-Type, 쿠키, Redirect HttpServletResponse 기본 사용법 @WebServlet(name="responseHeaderServlet", urlPatterns = "/response-header") public class ResponseHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //[status-l.. 2023. 7. 21. 이전 1 ··· 10 11 12 13 14 15 16 ··· 19 다음 728x90 반응형