Spring Boot: 시큐리티(Security) – 1

  스프링에서 로그인, 권한별 접근 기능 등을 구현하고 싶다면 스프링 시큐리티(Spring Security)를 사용해야 합니다. 1. 처음 스타트 프로젝트 생성 시 디펜던시에서 Security를 선택합니다. 나중에 수동으로 추가할 경우에는 아래를 pom.xml의 <dependencies> 내에 추가합니다. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency>   2. 프로젝트를 생성하고 서버를 가동하면 어떤 URL에 접속해도 기본 더보기…

Spring Boot: 국제화(Internationalization)

여기서 국제화는 홈페이지의 내용을 다국어로 지원하는 것을 뜻합니다. 예를 들어, https://www.navercorp.com/ 사이트를 보면 동일한 레이아웃과 동일한 내용을 한국어 또는 영어로 지원합니다. 이 곳 뿐만 아니라 많은 사이트에서 이런식의 다국어를 지원합니다. 만약 이것을 똑같은 HTML을 복사해서 내용만 바꾸겠다는 식으로 접근하면 홈페이지 제작이 굉장히 힘들겠죠? 처음부터 국제화를 의도하고 제작하는 것이 좋겠습니다. 0. src/main/resources 더보기…

Spring: 데이터베이스 연동(Oracle-JDBC 기준), Spring JDBC

XML 선언 이 부분은 데이터베이스의 종류, 사용하는 플랫폼에 따라 달라지므로 사용 환경에 맞는지 확인해봐야 합니다. Spring Boot의 마리아DB(mariadb)기준은 이 글을 참고해주세요. 이 부분은 properties 태그와 dependencies 태그 사이에 추가합니다. <repositories> <repository> <id>oracle</id> <url>http://maven.jahia.org/maven2</url> </repository> </repositories> 이 부분은 dependencies 태그 쌍 내에 추가합니다.   <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>12.1.0.2</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> 더보기…

Spring: 스프링의 어노테이션(Annotations) 사용법

스프링(Spring)에서 어노테이션은 @[어노테이션이름] 이라는 형식으로 특정 클래스, 메소드, 변수의 맨 위에 붙여 쓰며 일반적으로 해당 구역의 기능을 확장하는 역할을 합니다. @Component: Bean을 생성하며(클래스의 인스턴스화), 클래스 코드 바로 위에 붙여 사용합니다. 멤버 필드 내 값은 지정되지 않습니다. 사용 시 클래스 이름의 앞 글자만 소문자만 바꾸고 사용합니다. 예를 들어 VO 클래스의 이름이 더보기…

넥사크로(Nexacro): 데이터베이스에 읽고 쓰기 및 기타

Deploy 수행 Build > Deploy… > Deploy Application >  을 클릭한 다음 경로는 이클립스 동적 웹 프로젝트 폴더의 WebContents 폴더로 설정합니다. 프로젝트에 폼 설정 childframe으로 이동 후 Appearance의 formurl에서 설정합니다. 폼 간 이동 this.toFrmTest_onclick = function(obj:Button, e:nexacro.ClickEventInfo) { this.go(“Base::FrmPortal.xfdl”); } Base 폴더 밑의 FrmPortal.xfdl 파일명의 폼으로 이동합니다. 전역 변수 사용  alert(application.[전역 더보기…

JSP, Spring: URL을 입력하면 파일이 바로 다운로드되게 하기

주소를 입력하고 엔터를 치면 바로 다운로드가 진행되는 컨트롤러 예제입니다. 만들어진 주소창에 입력해도 되고 자바스크립트의 location.href = 주소 를 사용할 수도 있습니다. This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode 더보기…

JSP: 페이지 포함 방법 중 include 액션 태그와 디렉티브의 차이점

JSP: 페이지 포함 방법 중 include 액션 태그와 디렉티브의 차이점 비교 1. 액션 태그 사용법: <jsp:include page=”페이지 주소” flush=”false> <jsp:param name=”변수 이름” value=”변수 값”></jsp:param> </jsp:include> 액션 태그는 독립된 모듈을 구성할 때 사용합니다. 컴파일 시 클래스 파일이 별도로 생성되며 포함되는 페이지와 포함하는 페이지와는 별개로 취급됩니다.. 리퀘스트 값들은 전달되지 않으며 파라미터도 별도로 더보기…

Spring Boot: mariadb 연결하기 (JDBC-Maven 기준)

Spring Boot에 JDBC를 통해 mariadb(mysql) 연결하는 방법입니다. 1. pom.xml의 <dependencies>에 다음을 추가합니다. <!– mariaDb –> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> </dependency> 혹시 디펜던시 목록에 다른  mysql, Jdbc 과 관련된 게 있다면 충돌이 발생하므로 삭제하는 것이 좋습니다.   2. applications.properties (또는 기타 프로퍼티 파일)에 다음을 추가합니다. spring.datasource.driverClassName=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://127.0.0.1:3306/test (본인 더보기…

PHP: cURL 기초 (정적 웹 페이지에서 정보 가져오기)

웹사이트에서 POST를 통한 로그인을 한 뒤 정보를 가져오는 예제입니다. 만약 로그인이 필요한 웹 페이지라면, 로그인 정보를 POST로 보내고 쿠키로 저장하는 과정이 추가로 필요합니다. <?php $html_brand = “[리퀘스트를 보낼 주소]”; $ch = curl_init(); // cURL 생성 $options = array( CURLOPT_URL => $html_brand, CURLOPT_POSTFIELDS => “param1=value1&param2=value2&…”, // Post로 보낼 값들을 Get 방식처럼 더보기…

PHP: 배열 생성 / 배열을 JSON으로 만들기

배열을 JSON으로 변환하려면 다음 함수를 사용합니다. json_encode($배열)   빈 배열을 생성하려면 array()를 사용합니다. $arr = array();   원소가 있는 배열을 생성하는 방법입니다. $arr2 = array(“A”, “B”, “C”);   연관 배열(associative array)을 만드는 방법입니다. 연관 배열은 다른 언어의 Map, 자바스크립트의 객체(Object) 등과 유사한 자료형입니다. $arr3 = array(1 => “http//google.com”, 2 = > “http://yahoo.com”); 더보기…