백엔드 과정

    [Spring] 🔒스프링 시큐리티 (Spring Security)

    파이널 프로젝트에서 스프링 시큐리티를 이용하여 로그인 로그아웃과 같은 계정 관리 기능을 맡았다! (+ 회원가입! ) 프로젝트에서 회원가입과 로그인, 게시판이 비교적 배우고 시작하기 때문에 쉽다고 하는데, 지난 세미 프로젝트 때 다른 팀원이 헤매던 것도 봤고, 다른 팀에서 이메일 인증 같은 기능 구현을 한 것을 보면서 '로그인/회원가입 한번 해보고 싶다 !' 생각해서 맡게 되었다. 지난 세미 때 기본적인 기능보다 결제API를 이용한 상품 주문을 구현했기 때문에 오히려 기본으로 돌아가 내가 로그인/회원가입을 제대로 구현할 수 있는지 확인해봐야겠다고 느꼈다. 다행히도 지난 Servlet에서 하던 방식 그대로 진행하는 게 아니라, 스프링 시큐리티를 이용하여 인증과 인가에 대해 더 다양한 옵션으로 로그인 기능을 ..

    [Spring] 🌿Spring Framework 란?

    [Spring] 🌿Spring Framework 란?

    약 2주간 스프링 프레임워크의 핵심 모듈을 배우게 될 예정이다. '스프링을 마스터 하겠다'라는 접근보다는 핵심적인 가치에 대해 이해하는 것이 학습 목표이다. 특히 스프링 학습을 통해 객체 지향 프로그래밍에 대한 깊이있는 이해가 가능하게 될 것이라고 한다. 📌Spring Framework란? 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있으며 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다. Spring 공식 사이트 https://spring.io/ Spring makes Java simple. Level up your Java..

    [Servlet/JSP] 프로젝트 실습 (Servlet 수업 정리하기)

    [Servlet/JSP] 프로젝트 실습 (Servlet 수업 정리하기)

    환경 변수 설정 인코딩 UTF-8 설정하기 ( Workspace/텍스트에디터/CSS/HTML/JSP ) Server 설정에 RunTime Environments 톰캣 9버전 추가하기 Customaize Perspective에 Shortcuts 편집하기 서버 등록후 더블클릭 Server modules without publising 체크 하고 Port Number 바꿔주기 서버에 동적 웹 프로젝트 add 서버 동작 확인하기 web\WEB-INF\classes WEB-INF 하위 index.jsp 생성하기 lib 라이브러리 등록 WEB-INF 하위 lib라이브러리 파일 추가하기 Source 파일 등록 소스파일 등록하기 (동적 웹 프로젝트 하위에 소스파일로 생성하기) 1. mappers 동적 쿼리문 작성을 위..

    [Servlet] MIME-TYPE ?

    MIME-TYPE 서버/서블릿에서 웹 브라우저로 데이터를 전송할 때 MIME-TYPE을 설정해서 전송할 데이터의 종류를 지정한다. HTTP로 전송 시 text/html 일반 텍스트로 전송 시 text/plain XML 데이터로 전송 시 application/xml 웹 애플리케이션은 클라이언트에 해당하는 웹 브라우저와 서버에 해당하는 서블릿이 서로 데이터를 주고받아 실행한다. 웹 브라우저가 네트워크를 통해 서블릿에 데이터를 보내는 경우 서블릿은 네트워크로부터 데이터를 입력받는다. 반대로 서블릿이 데이터를 전송하는 경우에는 네트워크로 데이터를 출력한다. 즉, 네트워크에 대해 자바 I/O 스트림 클래스의 입출력 클래스를 이용하면 쉽게 웹 애플리케이션의 네트워크 기능을 구현할 수 있다. 서버(서블릿)에서 웹 브..

    Servlet 문제 풀이

    문제1. msg가 화면에 출력되지 않는 이유? => 출력식에서 직접 값을 가져와서 출력하기 문제2 예제. if ( list != null ) { request.setAttribute("list", list); => 추가하기 } 아래 코드 확인 ) @WebServlet("/test2") public class TestTwoServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List list = new NoticeService().selectList(); String page = null; if(l..

    [Mybatis] Mybatis 란?

    [Mybatis] Mybatis 란?

    Mybatis란? 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 하기 위해 xml로 구조화한 Mapper 설정 파일을 통해서 JDBC를 구현한 영속성 프레임워크 기존에 JDBC를 통해 구현했던 상당부분의 코드와 파라미터 설정 및 결과 매핑을 xml 설정을 통해 쉽게 구현할 수 있게 해준다. Mybatis API 사이트 MyBatis – 마이바티스 3 | 소개 Copyright © 2009–2021MyBatis.org. . mybatis.org Mybatis의 흐름 이전에 JDBC Template을 통해 SQL을 실행하였다면 Mybatis는 해당 흐름을 전용 라이브러리를 통해 대체하여 동작한다고 생각하면 된다. Mybatis 라이브러리 다운 및 연동 https://github.com/myba..

    [Servlet] file.io

    File upload commons fileupload를 이용하면 multiple도 가능하며, 파일을 여러 input 태그로 업로드 하는 것도 가능하다. 전송 @WebServlet("/commons/fileupload") public class CommonsFileUploadServlet extends HttpServlet { private String rootLocation; private int maxFileSize; private String encodingType; @Override public void init() { ServletContext context = getServletContext(); rootLocation = context.getInitParameter("upload-locati..

    [Servlet] cookie와 session

    HTTP통신방법 HTTP는 서버와 client간의 요청과 응답으로 데이터를 주고 받는 형식으로 서버는 client의 요청에 응답을 하고 나면 그 연결을 끊어버림(stateless) client는 다시 서버에 요청하려면 새로 연결하여 응답을 받아야 한다. 문제점 연결이 끊어지기 때문에 유지되어야 하는 정보들이 사라지는 문제가 발생을 한다. (예 로그인된 후 로그인 정보, 장바구니에 넣은 데이터 등) Session과 Cookie 연결이 끊어진 이후에도 client에 대한 정보를 유기하기 위해 Server에서 데이터를 보관하는 방법과 client에 데이터를 보관하는 방법 두가지가 있는데 서버측에 데이터를 보관하는 방법을 Session이라고 하고, client측에서 데이터를 보관하는 방법이 Cookie이다. *..

    [Servlet] sendRedirect VS RequestDispatcher

    sendRedirect VS RequestDispatcher 1. sendRedirect / encodeRedirectURL client의 브라우저에게 매개변수로 등록한 페이지를 재요청하라고 응답해주는 것(301/302코드 전송) encodeRedirectURL은 매개변수(URL)에 세션ID정보를 추가 재요청 처리 client가 별도로 다른 페이지 요청을 안해도 url주소(페이지)가 변경됨. ** 브라우저가 알아서 서버에 해당 페이지를 요청 쿼리스트링으로 별도의 데이터를 전송하지 않으면 요청데이터가 없음 Rrdirect 테스트 html ) redirect 다른 웹사이트로 redirect 테스트 다른 서블릿으로 redirect 테스트 Servlet ) 1) 다른 웹사이트로 redirect 테스트 @WebS..