본문 바로가기
728x90

분류 전체보기257

[SpringBoot] 로그아웃 후 이전 페이지로 이동(뒤로가기) 방지 웹 브라우저에서 로그아웃, 세션 만료 등으로 인해 로그인페이지로 이동됐을 때 뒤로가기 버튼을 눌러 이전 페이지로 돌아가는것을 막는 방법..! 웹 사이트에서는 보통 Session을 이용해 사용자의 로그인 상태를 유지한다. Interceptor를 등록해 session의 유무를 확인하여 로그아웃이나 세션 유지기간의 만료로 인해 세션이 소멸된 경우 로그인 화면으로 강제로 이동(redirect)시킨다. 하지만 강제로 로그인 페이지로 Redirect 시키더라도 웹 브라우저의 뒤로가기 버튼을 누르면 이전 페이지를 볼 수 있다. *Session이 없는 상태에서 주요 페이지를 보는것은 보안 매우 취약할 수 있다. 원인: 웹브라우저에서 페이지를 이동하면 자체적으로 방문기록(History)을 캐시(cache)에 저장하는데 .. 2023. 10. 20.
[JasperReports] 05. Java) JasperPrint Export. 보고서 출력 JasperSoft Studio로 생성한 Report(.jrxml)파일을 출력하는 방법 1. Library Setting 1. Library 의존성 추가: net.sf.jasperreports jasperreports 6.4.0 2. jasper File Directory 생성: jasper studio에서 common directory를 경로로 잡았기 때문에 studio에서 .jrxml 파일을 수정하고 저장하면 자동 반영된다. 2. Report 요청 - Controller @ResponseBody @RequestMapping(value = "/searchReport01", method = RequestMethod.GET) public void searchReport01(Model model, HttpS.. 2023. 10. 20.
[JasperReports] 04. Parameter, Variable, Dataset (Style) JasperReports에 데이터를 삽입하는 방법 1. Parameter Parameter: 외부에서 값을 전달받아 사용할 수 있는 변수로 동적으로 값을 생성하거나 보고서의 동작을 제어하는 데 사용된다. // 3. java) parameter 전달: Map parameters = new HashMap(); parameters.put("ReportTitle", "Sales Report"); JasperPrint jasperPrint = JasperFillManager.fillReport("YourReport.jasper", parameters, dataSource); 2. Variable Variable: 데이터를 계산하고 저장하기 위한 요소로 이를 통해 보고서에서 다양한 계산을 수행할 수 있다. // 3.. 2023. 10. 19.
[JasperReports] 03. Elements 구성요소 JasperSoft Studio에서 사용하는 Elements설명 Elements 목록 Properties 지정 *Element 선택 시 나오는 Properties 창에서 font, color, size 등 Style을 지정할 수 있다 (source화면에서 code로 작성 가능) Elements 구성 Text Field: 문자, 숫자 등 작성. (변수) 주로 parameter를 받을 때 사용한다. Variable, Paramter를 선택하여 삽입 가능 ex> $P{reportTitle1} Static Text: 문자, 숫자 등 작성. (상수) Table: 표 형식의 테이블. Table Column에 TextField, StaticText등 요소를 삽입하여 테이블 구조 세팅 $F{Field_name}을 사용.. 2023. 10. 19.
[JasperReports] 02. Report Design / Source JasperSoft Studio의 주요 화면에 대해 알아보자 Design화면: GUI로 직관적으로 확인하며 보고서를 수정하는 화면이다. - Elements를 추가, 수정하고 작업한 내용은 Source code로 자동으로 생성된다. Source화면: Design 화면에서 작업한 것을 코드로 확인하는 화면이다. (.jrxml) - Code를 사용하여도 Elements, Style등을 구성할 수 있지만 Design화면을 활용하는 것을 좋다.. 주요 Tag .jrxml 파일에서 주로 사용하는 tag 설명 : report를 정의하는 최상위 요소 : report의 속성 설정 : style을 정의하고 재사용 : sub dataset을 정의하여 report의 sub report에 데이터 제공 (table, chart .. 2023. 10. 19.
[JasperReports] 01. Jaspersoft Studio 설치 및 세팅 JasperReport를 생성하기 위한 GUI 도구 설치 Studio 설치 해당 경로에서 Jaspersoft Studio 다운로드 https://sourceforge.net/projects/jasperstudio 프로그램 세팅 # 상단 메뉴 File > OpenProjects from FileSystem 선택 - Spring 프로젝트의 .jrxml 파일이 저장될 디렉토리 경로를 선택한 후 Finish한다. ex. (jasperreport\common) Reprot 파일 생성 - Directory 우클릭> new > jasper report Blank A4 선택하여 생성 구성 File Navigation jrxml, jasper 파일 목록 View Report 현재 작성중인 report의 design, s.. 2023. 10. 19.
[JasperReports] JasperReports란? (feat. Jaspersoft Studio) JasperReports는 오픈 소스 리포트 생성 라이브러리로, 비즈니스 애플리케이션에서 보고서를 디자인하고 생성하는 데 사용된다. JasperReports는 2001년에 Teodor Danciu에 의해 개발되었다. 초기에는 Java에서 리포트를 생성하는 데 중점을 두었는데 그 후 JFreeReport라는 프로젝트와 통합하여 JFreeReport 프로젝트에서 발전된 양식의 리포트를 생성하기 위한 핵심 엔진으로 사용되었다. 개요 JasperReports는 리포트(보고서) 생성 및 디자인 프레임워크이며, 4가지의 주요 컴포넌트로 구성된다. JasperReports Library: 리포트 생성 및 디자인을 위한 핵심 엔진 JasperReports Server: 리포트를 스케줄링 및 관리하고 다양한 형식으로 배.. 2023. 10. 19.
[디지털 공학 응용] 중간 시험 #시험 문제 1. pwm 원리와 카운터 컴퍼레이터 매치를 설명하시오) - pwm(펄스 폭 변조): 디지털 신호를 사용하여 아날로그 신호를 흉내내는 기술로 일정한 주기로 반복되는 신호를 생성하며, 펄스의 폭을 조절하여 평균 출력값을 변화시킨다. 즉 신호를 일정 주기마다 켜고 끄는 것으로 아날로그 값을 나타낸다. 이를 통해 모터 속도 조절, 밝기 조절 가능. - 카운터(counter): 일정한 주기로 증가/감소하는 값을 가지는 레지스터. - 컴퍼레이터(comparator): 카운터의 현재 값과 비교하여 특정 조건을 검사. - 매치(match): 컴퍼레이터가 특정 조건을 검사한 결과가 만족할 때 발생하는 이벤트. => counter값을 comparator값과 비교하여 일치하는 경우 매치 이벤트를 발생시키는 기.. 2023. 10. 18.
[Kotlin] 코틀린이란? (feat. Java) Kotlin은 JetBrains에서 개발한 신속하고 안전하며 실용적인 프로그래밍 언어로, 2011년 처음 공개되었다. Java 가상 머신 (JVM) 위에서 실행되며, Android 앱 개발을 비롯한 다양한 영역에서 사용되고 있다. 코틀린은 JetBranins에서 개발하는 크로스 플랫폼 범용 프로그래밍 언어로, 자바와 완벽하게 호환되도록 설계되었다. 일반적으로 JVM(Java Virtual Machine)에서 사용되나 Javascript, LLVM(Low Level Virtual Machine), Data Science 영역에서도 사용 가능하다. 파일 확장자는 일반적으로 .kt를 사용하며, 코틀린 스크립트는 .kts를 사용한다. 코틀린은 간결하고 실용적이며, 자바 코드와의 상호운용성(interoperabi.. 2023. 10. 15.
728x90