300x250
반응형

분류 전체보기 197

[Spring Security] Spring Boot로 만드는 Spring Security 로그인 구현 - Session(1)

코드는 Github을 통해 확인할 수 있습니다. 과거에 사용했었지만 현재 Deprecate된 것은 다시 새롭게 구현했습니다. 일부 코드에 대해 좀 더 효율적인 방법으로 구현해놨습니다. 목차 페이지 별로 권한 주기 - 로그인을 구현하기 전 페이지 접근 시 로그인 권한이 필요한 페이지를 만듭니다. 회원가입과 비밀번호 암호화 설정 - Spring Security를 이용해 암호화 설정이 가능합니다. 로그인 기능 위임 및 Redirect 처리 - 로그인 처리를 Spring Security에게 맡기는 것을 배웁니다. 로그인이 되고나면 사용자가 접속 하려던 사이트로 이동하게 하는 Redirect 기능도 Spring Security가 대신 처리 해줍니다. 환경 구축 start.spring.io를 통해 위와 같이 설정하..

Back-End/Spring 2023.02.10

[Spring Boot] custom error page + 사이트 추천

웹사이트를 운영하다보면 404, 500 등의 에러페이지를 서버에서 기본으로 제공해주는 화면이 아닌 각 사이트의 디자인에 맞춰 변경해야 한다. * 각종 HTML / CSS등 여러 템플릿을 제공하는 사이트 주소는 가장 하단에 기재해 두었다. Tomcat 같은 경우 아래의 페이지를 기본으로 제공해준다. tomcat 404 error 나는 위 페이지를 변경하기위해 검색해보니 대부분 web.xml, pom.xml 등의 .xml 설정파일을 통해 셋팅하는 방식이 많았다. 하지만, 내 프로젝트의 개발환경이 .xml을 사용하지 않고 view 코드를 resource 하위 폴더가 아닌 spring.mvc.view.prefix 설정을 따르고 있었기때문에 정보찾기가 힘들었다. (공식 사이트도 이해하기가 힘들었다..) 기본적으로..

Back-End/Spring 2023.02.10

[JavaScript] 변수의 선언 방식(var, const, let)

자바스크립트 변수의 선언 방법을 var, const, let으로 나누어 살펴보고자 한다. 자바는 int, String, long... 자바스크립트는 그런 거 상관없이 무조건 var~! 이것이 지금까지 주먹구구식으로 배운 나의 얕은 자바스크립트에 대한 지식이었다. 물론, var 외에 const, let 변수는 다른 분들이 코딩해놓은 소스에서는 종종 봤던 것 같다. var는 그렇다 쳐도 const, let... 도대체 이것은 무엇을 의미하는 것일까? 본격적으로 변수의 선언 방식에 대해 알아보기 전, '스코프'의 개념부터 공부해봤다. ※ Scope(스코프)란? - 우리말로 번역하면 범위로, 자바스크립트에서는 변수에 접근할 수 있는 범위를 의미한다. - 전역과 지역, 함수와 블록으로 구분하여 알아본다. ㅁ 전역..

[Spring Boot] 정적자원(Static Resources, img; js; css 파일 등)에 대한 접근 설정

Spring Boot 개발 환경에서 정적 자원에 대한 접근 설정에 대해 이야기하고자 한다. 웹(WEB) 환경에서 클라이언트와 서버는 서로 자원들을 주고받는데, 이 자원들의 속성은 크게 '동적이냐 정적이냐'에 따라 동적 자원(Dynamic Resource)와 정적 자원(Static Resource)로 구분한다. ※ 동적자원 vs 정적자원 동적자원(Dynamic Resource)이란, 프로그램을 실행하기 위해 자원을 배당할 시 적용되는 기준에 따라 결정되는 배당기법이다. 가령 우리가 구글, 네이버와 같은 포털이나 유튜브에서 실시간으로 업로드되고 변하는 정보(뉴스나 날씨)를 볼 수 있는데, 이런 것들이 모두 동적 자원의 한 형태라고 볼 수 있다(좀 더 정확히 말하면, 동적 페이지를 열람하는 것이다). 실시간으..

Back-End/Spring 2023.02.10

[JSP 오류]Name [DB명]은(는) 이 컨텍스트에 바인딩되지 않았습니다. [jdbc]을(를) 찾을 수 없습니다.

1.프로젝트 내에 연결한 톰캣 프로젝트의 server.xml을 연다. 2. 제일 밑으로 내리면 요놈이 있을 것인데 원래는 한 줄로 되어있고 제일 마지막에 /> 로 마감이 되어있을 것이다. /(슬래시) 지우고 3. 이렇게 되게 만든다. 4. 그럼 저 Context 태그 사이에 이걸 추가한다. 대충 이런 그림이 될 것임. 5. 저장하면 에러가 사라지고 실행 잘 됨. 출처 : https://october-east-sea.tistory.com/155 [JSP 오류]Name [DB명]은(는) 이 컨텍스트에 바인딩되지 않았습니다. [jdbc]을(를) 찾을 수 없습니다. 1.프로젝트 내에 연결한 톰캣 프로젝트의 server.xml을 연다. 2. 제일 밑으로 내리면 요놈이 있을 것인데 원래는 한 줄로 되어있고 제일 마..

Front-End/그 외 2023.02.10

[Spring] Spring Boot 시작 및 기초

이 글은 Maven이고 요즘은 gradle로 넘어가는 추세입니다. 1. hello1 프로젝트 1) 프로젝트 생성 STS의 메뉴: File - New - Spring Starter Project Name: hello1 Packaing: War Package: net.skhu Spring Boot Version: 가급적 위 버전과 가장 가까운 2.x.x 버전을 선택하자. spring boot가 계속 버전 업이 되면서, 호환성 문제가 발생하기도 한다. Spring Boot DevTools, Spring Web 체크 이 예제에서는 데이터베이스 연결을 하지 않을 것이기 때문에, 데이터베이스 항목들을 체크하지 않았다. Spring Web 항목: Spring Web MVC Spring Boot DevTools 항목:..

Back-End/Spring 2023.02.10

[Spring] JNDI lookup for name [spring.liveBeansView.mbeanDom...

Spring db 연동 후에 JNDI lookup for name [spring.liveBeansView.mbeanDomain] threw NamingException with message 로그 17:29:21.649 [localhost-startStop-1] DEBUG o.springframework.jndi.JndiTemplate - Looking up JNDI object with name [java:comp/env/spring.liveBeansView.mbeanDomain] 17:29:21.649 [localhost-startStop-1] DEBUG o.s.jndi.JndiLocatorDelegate - Converted JNDI name [java:comp/env/spring.liveBeans..

Back-End/Spring 2023.02.10

eclipse로 개발할 때 maven으로 다운받은 jar의 소스와 javadoc을 자동으로 붙이기

eclipse로 개발할 때 보통 디컴파일러 jad를 설치하고 가져다 쓰는 라이브러리에서의 동작을 들여다 보는 것은 이미 개발에 필수가 된 것 같다. 이러한 개발 방법이 이제는 너무나 익숙해 져서 eclipse 없이 과연 개발할 수 있을까 싶다. 이제 vi로 java를 개발하는 것은 말도 안된다고 강하게 말할 수 있다. 정말 훌륭한 개발자라면 이런 툴에 의존하지 말아야 하겠지만, 이러한 툴의 도움이 개발에 크게 영향을 주는 것은 감출 수는 없다. 라이브러리 안의 클래스를 오픈해서 보면 디컴파일되어 소스가 보이는데, 그 디컴파일된 소스가 엉망인 경우가 많다. 라인도 맞지 않고. 그런 경우 인터넷에서 찾아서 소스를 다운 받고 그 jar 파일에 소스를 attach하여 보곤 했다. 요 짓을 필요할 때 마다 jar..

Back-End/그 외 2023.02.10

[Spring Boot] junit 기본 사용법

1. 테스트를 위한 계산기 작성 package Calculator; public class Calculator { int add(int i, int j) { return i+j; } int subtract(int i, int j) { return i-j; } int muliply(int i, int j) { return i*j; } int devide(int i, int j) { return i/j; } } 2. junit 테스트 케이스 생성 1) 클래스 생성 버튼 우측의 화살표 버튼을 눌러 JUnit Test Case 선택 2) JUnit Test 를 위한 JUnit 클래스 생성 Test 대상 Class뒤에 Test 를 붙여 이름을 짓는게 관례(Calculator+Test) 3. junit 테스트 케이..

Back-End/Spring 2023.02.10

[Spring Boot] DB 연동 및 Mybatis 설정

Spring Boot - ver 2.1.8 Gradle Java - ver 1.8 application.properties 내에 datasource 관련 설정값 선언 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://ip:3306/~?useSSL=false&serverTimezone=UTC spring.datasource.username=id spring.datasource.password=pw 스프링부트 앱을 구동시키는 main 메소드 내의 @SpringBootApplication 을 들어가보면 @EnableAutoConfiguration 어노테이션이 존재. 해당 어노테이션이 프로젝..

Back-End/Spring 2023.02.10
300x250
반응형