분류 전체보기
-
스프링 - 어노테이션자바 초보개발/스프링 2024. 2. 21. 17:43
스프링의 가장 큰 장점은 객체 생성과 조립을 자동으로 해준다는 것이다. 객체를 조립한다는 것은 Servlet 프로젝트를 진행해봤다면 이해하기 쉽다. 일반적으로 서버를 가동한 후 사용자수가 많아지고, 백만, 천만 단위로 점점 사용자가 많아지면 일일이 객체를 생성하면 서버에 큰 부하가 올 수 있다고 한다. 그래서 미리 몇개의 객체를 생성해 놓고, 자료구조에 객체를 넣어놓은 다음 사용자 요청이 있을 때마다 만들어둔 객체를 꺼내서 서비스를 제공하는 방식으로 부하를 줄이는 방법이 있다. //객체를 넣어둘 자료구조 Map 생성 New Map controllerMap = new HashMap; //생성한 객체를 Map에 넣어둔다. controllerMap.put("/main", new MainController())..
-
스프링 - 의존성 주입카테고리 없음 2024. 2. 16. 17:51
스프링을 처음 접하게 됬다. 코딩을 배울 때 어떤 도구를 처음 배우게 되면, 부담감을 느끼게 되는 이유중 하나가 갑작스럽게 마주하는 낯선 단어들 인 것 같다. 처음 스프링을 해본 오늘 봐도, 뭔가 자주 쓸 것 같은 Annotation과, bean에 대한 단어의 설명을 봐도 이해가 제대로 되지 않았다. 그래서 특히 이해가 가지 않았던 키워드들 중 하나인 "의존성 주입"에 대해서 깊이 파헤쳐서, 가장 작은 단위들로 만들어 이해해 보려고 한다. 의존성 주입이란 단어를 봤을때, 주입 자체의 뜻은 알지만, 국어사전 내용을 안다고 해서 이해할 수 있는 단어는 아닌 것 같았다. 그에 대한 이해를 위해 조사를 진행해봤다. 먼저 , 아래 코드들을 통해 "의존적" 인게 무엇이고, "주입"이 무엇을 의미하는지 좀 더 쉽게 ..
-
2차 프로젝트 - 서블릿을 통한 웹페이지 서버, jsp로 페이지 구현자바 초보개발/JSP-Servlet 2024. 2. 13. 17:51
프로젝트 간 내 역할과 목표 5개월동안 내가 팀원들과 의논해서 결정한 내 역할은 팀장이었고, 상품 관리를 담당했다. 그렇기 때문에 프로젝트를 진행하면서 팀원들과의 의사소통은 잘 일어날 수 있도록 하는데 특히 신경썼다. 수업에서 중점적으로 배웠던 것이 서버사이드에서 데이터를 다루는 것이었기 때문에, 데이터의 처리와 관리에 우선적으로 신경쓰는게 좋을 것이라 생각했다. 그래서 이번 프로젝트에서 내가 우선순위로 두었던 것은, 요구사항 정의에 대한 정보 전송과 교환, 데이터 표시만 되도록 최대한 빨리 구현하는 것이었다. 디자인과 최선의 구현방법에 대한 것은 우선순위에서 좀 내려놓았다. 그냥 학원에서 일시적으로 정한 역할일 뿐이지만, 팀장으로써 어떤 방식으로 팀 프로젝트를 진행할지 회의를 주도했을 때, 팀원들도 내..
-
학습중 흐름 최대한 요약하기 - MVC모델 CRUD카테고리 없음 2024. 1. 24. 16:36
Dispatcher Servlet (FrontController) 에서 먼저 request, response 객체를 받아, 1차 처리 후 Controller에 전달. Controller에서 request를 전달받은 뒤 입력한 url에 따라 parameter를 수집한다. 그 뒤 요청에 따른 service의 dao를 실행한다. service에서 dao를 실행해 데이터베이스의 정보를 변경하고, 그 결과를 가져와 컨트롤러에 전달한다. 결과를 받은 Controller가 해당 정보를 request에 추가한뒤 다음으로 이동할 페이지 경로를 반환한다. Dispatcher Servlet에서 이동할 페이지 경로를 받아 , 정보가 추가되거나 수정된 request와 함께 최종적으로 이동할 페이지로 이동시킨다. --프로젝트 진..
-
서블릿 web.xml에서의 오류 처리, include 태그 유의점카테고리 없음 2024. 1. 23. 17:49
"name"과 "value" 속성들을 포함한 "jsp:param" 표준 액션이 요구됩니다. 십몇분간 고전한 오류 오류를 검색해보니, Include 태그의 끝부분에 / 하나가 빠져서 이런 오류가 났다 ㅠ X O jsp 코딩을 하다가, 잘못된 부분이 있으면 브라우저에서 기본으로 제공하는 오류 페이지가 있다 그런데 이런 에러페이지를 직접 jsp를 만들어서 처리도 가능하다. 프로젝트 내 web.xml 파일 내 아래 코드를 붙이면 된다. 404 /WEB-INF/views/error/404_2.jsp 500 /WEB-INF/views/error/500.jsp error-code 부분에 웹에서 보이는 오류 번호를 쓰고, location 부분에 해당 오류가 뜰 시 오류처리에 사용할 페이지 경로를 입력해준다. 이 부분을..
-
언제 테이블 추가할지 + 아우터 조인 + 접속종료 오류카테고리 없음 2024. 1. 22. 14:22
한 테이블에 모든 데이터를 넣어서 처리할지, 다른 테이블을 하나 더 만들지 고민될 때가 있는데, 데이터가 1대 다수 관계에 있으면 새로 테이블을 더 만드는 게 좋다. 예) 동일한 신발에 색깔을 여러개 입력해야 한다. -> 신발을 FK로 가진 색깔 테이블을 하나 더 만들어서 저장한다. 한 상품에 가격 정보가 여러개 들어가야 한다 -> 상품을 FK로 가진 가격 테이블을 하나 더 만든다. 기존 테이블 한 컬럼에 빨강/파랑/초록 처럼, 필요한 데이터를 전부 한줄로 저장한 뒤 자바에서 후처리 할 때 / 기호로 끊어서 데이터를 처리할 수는 있으나, 정말 데이터 간소화가 필요한게 아니면 삼가도록 하자. * JDBC는 기본적으로 auto commit 옵션이 true로 설정되있다. 오류없이 sql문이 실행되면 commi..
-
JSP - 날짜 데이터 입력시 날짜 선택화면 띄우기자바 초보개발/JSP-Servlet 2024. 1. 19. 16:53
Form 태그 안에 input 태그를 만들어 날짜 데이터를 받아오려면, 사용자로부터 직접 정해진 형식대로 입력하길 요구할 수도 있다. 이를 위해 정규표현식을 사용하거나, placeholder 속성을 통해 어떤 방식으로 작성해야 하는지 알려줄 수 있다. 하지만 type을 date 형식으로 지정해주거나, 더 나아가 jquery 홈페이지에서 지원하는 datepicker 라이브러리를 이용하면 더 쉽게 날짜 선택화면을 만들 수 있다. * 아래는 기본 텍스트 방식으로 생년 월일을 입력받는 페이지 코드이다. 날짜 등록 생년월일: 등록 *자동완성으로 뜨는 날짜는 무시하자. autocomplete = "off" 속성값을 추가해주면 없앨 수 있다. type 속성을 date로 변경하기 생년월일: 이렇게 input의 type..
-
다른 jsp파일을 현재 jsp파일 페이지에 불러오기 - include자바 초보개발/JSP-Servlet 2024. 1. 17. 13:07
jsp같은 서버사이드 스크립팅 언어에서 액션태그 include를 사용해 다른 jsp,html 등을 불러올 수 있다. ex) 위 예시는 부트스트랩의 well 디자인 안에 replyList.jsp (댓글) 을 넣어서 표시한다. include 예시 사진 사진 속 댓글 리스트의 코드 댓글 리스트 등록 ${replyVO.writer } ${replyVO.writeDate } ${replyVO.content} ${replyVO.writeDate } 수정 삭제 위 코드를 실행해 사진의 댓글 리스트 부분을 보여준다. 이렇게 include 액션 태그를 사용할 때 주의점으로, 불러오려는 페이지에 head,body,html 태그를 제거해야 페이지를 불러오면서 특정 태그가 중복되는 일을 방지할 수 있다는 점이 있다. 태그 뿐..