본문 바로가기

반응형

Spring

[Spring] 시작 URL(BaseUrl, RootUrl, ContextUrl) 설정하는 방법 문제발생 Spring으로 프로젝트를 실행했다. 내가 컨트롤러에 설정해둔 URL이 아닌 다른 URL로 실행되는 것이었다. 그 결과 홈화면에서 오류가 발생했다. 이런 경우 시작 URL(BaseUrl 혹은 RootUrl)을 바꿔주면 쉽게 해결할 수 있다. 시작 URL(BaseUrl) 설정하는 방법 1. 프로젝트에 마우스를 올리고 마우스 오른쪽 버튼을 눌러준다. 2. Properties를 클릭하면 창이 뜬다. 상단 검색란에 web pro라고 입력하면 Web Project Setting이 나온다. 3. Context root에 시작 url로 설정하고 싶은 url을 입력한다. 아주 간단하다. 끝. 궁서체 입니다. /로 설정한 context url로 실행된다. 이제는 오류가 발생하지 않는다. 더보기
[Spring] 세션(Session)이란? 세션(Session) 세션은 클라이언트가 웹 애플리케이션 서버에 접속할 때 서버 쪽에 생성되는 공간으로 내부적으로는 세션 아이디를 통해 참조된다. 브라우저는 서버에 접속할 때 발급받은 세션 아이디를 기억하고 서버는 해당 세션 아이디로 할당된 영역에 접근하는 형식이다. 세션(Session)의 특징 1. 세션 유효 시간이나 브라우저 종료 전까지 유지되므로 서로 다른 페이지에서도 정보 공유가 가능함 2. 로그인 유지, 장바구니, 컨트롤러 구현 등에서 사용됨 3. 사용자마다 생성되는 공간으로 많은 사용자가 동시에 사용하면 대량의 메모리가 필요하다. 대책이 필요하다. * 세션 관리를 위해 별도의 세션 관리 데이터베이스를 사용하는 경우도 있다. redis라는 인메모리 데이터베이스를 사용하기도 한다. redis는 N.. 더보기
MVC 패턴 : 모델, 뷰, 컨트롤러의 역할 MVC패턴 하나의 디자인 패턴으로 사람들이 써 보니까 유지보수하기 좋고 편리해서 계속 사용되고 있다. 백엔드 기반의 웹 애플리케이션 개발의 기본 모델이 되었다. 패턴의 목적은 화면과 데이터 처리를 분리하여 코드 간 종속성을 줄이는데 있다. 구성요소 간 역할을 명확하게 해서 코드를 쉽게 분리하여 협업이 용이하도록 만든다. MVC는 모델, 뷰, 컨트롤러의 약자다. Model - 데이터를 처리하는 영역이다. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다. 일반적으로 DB와 연동을 위한 DAO클래스와 데이터 구조를 표현하는 DO, DTO, VO, 엔티티 클래스 등으로 구성된다. View - 화면 구성을 담당하는 영역이다. 사용자가 보는 페이지다. 뷰는 데이터를 받아서 화면에 표시해준다. 직접 데이터.. 더보기
[spring] 회원가입 spring security 사용 쇼핑몰 사이트 만들기 spring으로 쇼핑몰을 만들어보자. https://kuzuro.blogspot.com/2018/10/3.html 자료를 참고하여 만들었다. 그냥 따라하는데도 오류가 많이 발생했다. 만드는 순서 1) 회원 테이블, 상품 테이블 → Mapper → VO,DAO,service, controller → jsp 회원가입 1) security 관련 오류 때문에 막혀서 2시간을 날렸음. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberController': Unsatisfied dependency expressed through field 'passEncode.. 더보기
[Spring] HttpServletResponse - html 응답 HttpServletResponse 1. http응답으로 html 반환할 때는 content-type을 text/html로 저장해야 된다. 2. 소스 코드 package hello.servlet.basic.request; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @We.. 더보기
[Spring] text 메시지 HTTP 바디에 담아 전송 및 읽기 텍스트 메시지를 HTTP 메시지 바디에 담아서 전송하고, 읽기 package hello.servlet.basic.request; import org.springframework.util.StreamUtils; import javax.servlet.ServletException; import javax.servlet.ServletInputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOExceptio.. 더보기
[Spring] 게시판 검색창 입력 후 페이징 처리시 유지 안되는 경우 해결방법(session 사용) 문제 상황 게시판 페이징 버튼을 누르면 검색 옵션과 검색어가 풀린다. 그 결과 검색 결과가 1페이지를 넘어가는 양이면 2페이지를 눌렀을 때, 조건에 맞는 데이터를 불러오지 않고 내림차순된 게시판 데이터가 순서대로 출력된다. session을 사용해서 해결해보자 1) 컨트롤러에서 session을 사용한다. 세션(session)은 웹 애플리케이션에서 클라이언트와 서버 간의 상태를 유지하고 데이터를 저장하는 데 사용되는 중요한 개념이다. @Controller public class BoardController { @Inject public BoardService service; @Inject public SqlSessionTemplate sqlSession; // 게시글 목록 @RequestMapping("/l.. 더보기
[Spring] GET 쿼리 파라미터 조회하기 URL의 쿼리 파라미터로 데이터 전달하기 메시지 바디 없이, URL의 쿼리 파라미터를 사용해서 데이터를 전달하자. 예) 검색, 필터, 페이징등에서 많이 사용하는 방식 쿼리 파라미터는 URL에 다음과 같이 ? 를 시작으로 보낼 수 있다. 추가 파라미터는 & 로 구분하면 된다. http://localhost:8080/request-param?username=kim&username=jung&age=30 IntelliJ에서 아래 코드를 입력해보자. RequestParamServlet package hello.servlet.basic.request; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import ja.. 더보기

반응형