[Spring] 전자정부프레임워크 crpto DB정보 globals.properties 암호화
프로젝트 소스에 DB정보 같은 노출에 위험이 있는 정보는 암호화를 하여 관리한다. 표준프레임워크 3.8 부터 ARIA 블록암호 알고리즘 기반 암/복호화 설정을 간소화 할 수 있는 방법을 제공한다.globals.properties 설정 파일의 중요 정보 Url, UserName, Password 항목을 암/복호화 처리 할 수 있도록 제공한다. 나는 프로젝트에는 암호화된 값만 넣기 때문에 프로젝트를 따로 만들었다.처음부터 시작하시는 분들은 참고하시면 좋을 거 같다. 프로젝트 구조는 다음과 같다. 우선 crypto를 사용하기 위해 pom.xml에 추가 해준다. org.egovframe.rte org.egovframe.rte.fdl.crypto ${org.egovframe.rte.version..
Backend/Spring
[Spring] WebFlux 초기 설정
1. Webflux 프로젝트 생성 * 프로젝트 구조 2. application.properties 설정# Spring 애플리케이션 이름 설정spring.application.name=webFlux# MySQL 데이터베이스 연결 설정 (R2DBC 사용)spring.r2dbc.url=r2dbc:mysql://localhost:/capston2024spring.r2dbc.username=spring.r2dbc.password=# R2DBC 리포지토리 활성화 (리액티브 리포지토리 사용)spring.data.r2dbc.repositories.enabled=true# R2DBC MySQL 연결 풀 설정## 커넥션 풀 사용 여부spring.r2dbc.pool.enabled=true## 초기 커넥션 풀 크기spring..
Backend/Spring
하이차트(HighCharts) 사용방법
1. 하이차트 접속 https://www.highcharts.com/ 2. Demos → Highcharts JS Demos 3. 사용할 그래프 선택 4. VIEW OPTIONS 선택 5. 코드 복사 // Data retrieved from https://netmarketshare.com Highcharts.chart('container', { chart: { plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, type: 'pie' }, title: { text: 'Browser market shares in May, 2020', align: 'left' }, tooltip: { pointFormat: '{series.name}: {..
Backend/JSP
[Spring] MyBatis 댓글 목록 들여쓰기 구현
댓글일 경우 들여쓰기를 하기 위해서 bGroup, bStep, bIndent 필드 생성BoardDto.java private int bId; // 글 번호 private String bName; // 작성자 이름 private String bPw; // 작성자 비밀번호 private String bTitle; // 글 제목 private String bContent; // 글 내용 private String bFILE; // 파일 private Date bDate; // 작성 날짜 private int bHit; // 조회수 private int bGroup; // 그룹 번호 private int bStep; // 답글 순서 private int bIndent;// 들여쓰기 게시글일 경우 들여쓰기..
Backend/Spring
[Spring] JdbcTemplate
반복적인 작업 간단히 처리 이렇게 긴 코드를 다음처럼 2라인으로 줄일 수 있음! 복잡한 쿼리는 직접 쓰는 경우가 많음 (템플릿에 의존 X) 1. pom.xml → jdbcTemplate 설정 - pom.xml org.springframework spring-jdbc 4.1.4.RELEASE 2. servlet-context.xml → 빈설정 - servlet-context.xml 3. BController → jdbcTemplate @Autowired 설정 - BController.java // 컨트롤러부터 요청들어오므로 여기서 선언! private JdbcTemplate template; //템플릿 받을 수 있는 필드 선언 @Autowired public void setTemplate(JdbcTempl..
Backend/Spring
[Spring] MVC 게시판(5) 글 삭제
[Spring] MVC 게시판(1) DB 생성 및 연결 [Spring] MVC 게시판(1) DB 생성 및 연결DB 생성 -- 테이블 개설 create table mvc_board( bId number(4) primary key, bName varchar(20), bTitle varchar2(100), bContent varchar2(300), bDate DATE DEFAULT SYSDATE, bHit NUMBER(4) DEFAULT 0, bGroup NUMBER(4), bStep NUMBER(4), bIndent NUMBER(4) );0206cho.tistory.com[Spring] MVC 게시판(2) 게시판 세팅, 리스트 [Spring] MVC 게시판(2) 게시판 세팅, 리스트- MVC 게시판(1) D..
Backend/Spring
[Spring] MVC 게시판(4) 상세페이지
2023.02.17 - [Web/Spring] - [Spring] MVC 게시판(1) DB 생성 및 연결 [Spring] MVC 게시판(1) DB 생성 및 연결DB 생성 -- 테이블 개설 create table mvc_board( bId number(4) primary key, bName varchar(20), bTitle varchar2(100), bContent varchar2(300), bDate DATE DEFAULT SYSDATE, bHit NUMBER(4) DEFAULT 0, bGroup NUMBER(4), bStep NUMBER(4), bIndent NUMBER(4) );0206cho.tistory.com2023.02.17 - [Web/Spring] - [Spring] MVC 게시판(2) 게..
Backend/Spring
[Spring] MVC 게시판(3) 글 작성
2023.02.17 - [Web/Spring] - [Spring] MVC 게시판(1) DB 생성 및 연결 [Spring] MVC 게시판(1) DB 생성 및 연결 DB 생성 -- 테이블 개설 create table mvc_board( bId number(4) primary key, bName varchar(20), bTitle varchar2(100), bContent varchar2(300), bDate DATE DEFAULT SYSDATE, bHit NUMBER(4) DEFAULT 0, bGroup NUMBER(4), bStep NUMBER(4), bIndent NUMBER(4) ); 0206cho.tistory.com 2023.02.17 - [Web/Spring] - [Spring] MVC 게시판(2..
Backend/Spring
[Spring] MVC 게시판(2) 게시판 세팅, 리스트
- MVC 게시판(1) DB 생성 및 조회 2023.02.17 - [Web/Spring] - [Spring] MVC 게시판(1) DB 생성 및 연결 [Spring] MVC 게시판(1) DB 생성 및 연결 DB 생성 -- 테이블 개설 create table mvc_board( bId number(4) primary key, bName varchar(20), bTitle varchar2(100), bContent varchar2(300), bDate DATE DEFAULT SYSDATE, bHit NUMBER(4) DEFAULT 0, bGroup NUMBER(4), bStep NUMBER(4), bIndent NUMBER(4) ); 0206cho.tistory.com 게시판 세팅 BDto.java packa..
Backend/Spring
[Spring] MVC 게시판(1) DB 생성 및 연결
DB 생성 -- 테이블 개설 create table mvc_board( bId number(4) primary key, bName varchar(20), bTitle varchar2(100), bContent varchar2(300), bDate DATE DEFAULT SYSDATE, bHit NUMBER(4) DEFAULT 0, bGroup NUMBER(4), bStep NUMBER(4), bIndent NUMBER(4) ); --자동증가 create sequence mvc_board_seq; -- 예시 값 추가 insert into mvc_board (bId, bname, btitle, bcontent, bhit, bgroup, bstep, bindent) values(mvc_board_seq.nex..
Backend/Spring
[Spring] 서버측에서 유효성 검사
js → client에서 처리 방식ajax - 비동기 통신 - 새로고침을 하지 않아도 데이터 검사 가능 → 속도 빠름server단에서 처리 → validator 이용컨트롤러에서 validator 두고 처리검사할 객체 → 커맨드 객체그 객체를 넘겨줘서 컨트롤러에서 검사.[ 기본 예제 ] createPage.jsp - 입력페이지createPage.jsp 이름 : 아이디 : createDonePage.jsp - 유효성 검사 정상적으로 끝나고 출력createDonePage.jsp이름 : ${student.name }아이디 : ${student.id }Student.java - 커맨드 객체package com.all.test;public class Student { private String name; p..
Backend/Spring
[Spring] 컨트롤러에 데이터를 보내서 처리하는 방법
HttpServletRequest사용@RequestParam커맨드객체를 이용해서 많은 데이터를 처리@PathVariable 사용HttpServletRequest사용- url : http://localhost/test01/board/confirmId?id=abcd&pw=1234- get으로 보낸 값을 request를 이용하여 받아서 model로 뷰에 보내줌 - confirmId.jspID : ${id} PW : ${pw}- HomeController.java 추가@RequestMapping("/board/confirmId") // 요청경로 public String confirmId(HttpServletRequest httpServletRequest ,Model model) { // httpServletR..
Backend/Spring
[Spring] 다운로드부터 프로젝트 생성까지 (이클립스 2021-09, jdk11)
jdk11버전!이클립스 2021-09 - web Developers windows 다운로드2021-09 R | Eclipse Packages 2021-09 R | Eclipse Packages517 MB 356,124 DOWNLOADS Tools for developers working with Java and Web applications, including a Java IDE, tools for JavaScript, TypeScript, JavaServer Pages and Faces, Yaml, Markdown, Web Services, JPA and Data Tools, Maven and Gradle, Git, and more. Cliwww.eclipse.org 설치 확인STS 설치 서버 연결80..
Backend/Spring
[DB & JSP] 오라클 JSP프로젝트에서 사용방법
1. ojdbc6.jar 파일을 프로젝트에 넣음 기본 경로 : C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib ojdbc6.jar 2. 프로젝트 Build Path 설정 3. context.xml에 오라클 등록 - 코드에 오라클 정보 보이지 않게 하기 위해서 4. web.xml에 context에 등록한 오라클 매핑 JSP_JDBC index.html index.jsp index.htm default.html default.jsp default.htm Connection jdbc/PostgresDB javax.sql.DataSource Container Connection jdbc/OracleDB javax.sql.DataSource Container 5. ..
Backend/JSP
[JSP] Model2 게시판 흐름도
# 프로젝트 구성 # 전체 흐름도 # 세부 흐름도
Backend/JSP
[JSP] Bean 예제
BeanTest.java package test; public class BeanTest { private String name; public BeanTest() { name ="Superman"; // name 초기화 } public String getName() { return name; } public void setName(String name) { this.name = name; } } BeanTest.jsp 자바빈 사용 예제
Backend/JSP
[JSP] JDBC
JDBC Buid Path와 lib 확인 연결 테스트 예제 연결되었습니다. 연결에 실패하였습니다. 정보 숨기기 현재는 파일에 정보들이 다 보임. 그것을 context.xml에 넣어서 안 보이게 할거임 context.xml server에서 가져와서 내 프로젝트에 붙임 프로젝트를 시작하면 web.xml가 가장 먼저 호출되므로 web.xml에서 context.xml을 불러옴 context.xml web.xml JSP_JDBC index.html index.jsp index.htm default.html default.jsp default.htm Connection jdbc/PostgresDB javax.sql.DataSource Container dbcAPITest.jsp INSERT 테이블 생성 Create..
Backend/JSP
[JSP]MultipartRequest를 이용한 파일 업로드 구현
파일 업로드 폼 작성 : fileUploadForm.jsp 업로드 페이지 작성 : fileUpload.jsp → 소스 코드가 위치하는 폴더에 upload폴더 생성 업로드 확인 및 다운로드 페이지 작성 : fileCheck.jsp [ upload 폴더 생성 ] C:\Users\BIT\Desktop\KMS\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\JSP 경로 못찾으면 이걸로 찾기 3. application.jsp 파일의 실제경로 : fileUploadForm.jsp 파일 업르도 폼 올린사람 : 제목 : 파일명1 : 파일명2 : fileUpload.jsp 업로드 확인 및 다운로드 페이지 이동 클릭하면 아까 만든 upload에 선택한 파일들..
Backend/JSP
[JSP] jsp내에서 스크립트 사용하고 싶을 경우
PrintWriter outsss = response.getWriter(); outsss.println(""); outsss.println("");
Backend/JSP
[JSP] 쇼핑몰 장바구니 기능
기본 흐름 사용자가 로그인 원하는 만큼 상품을 선택 주문 버튼을 클릭하면 지금까지 선택했던 상품이 모두 나타남 파일 Login.jsp : 로그인 화면 | 비밀번호 입력 X → 사용자 이름을 입력하는 양식만 제공 setProduct.jsp : 상품 선택 화면 | 리스트에서 원하는 상품을 선택 후 추가 버튼을 눌러 상품추가 add.jsp(arraylist안쓸거면 map써야함. set은 같은 상품 못 넣어서 사용하면 안됨) : setProduct.jsp에서 선택한 상품을 세션에 넣음. 선택된 데이터를 모두 저장해야하므로 ArrayList 이용. 상품이 추가된 메시지 출력 후 다시 setProduct.jsp리턴 checkOut.jsp : 세션이 살아있고 하나 이상의 상품을 선택한 상태라면, 선택한 상품의 목록을..
Backend/JSP
[JSP] request 테스트 폼 - session, cookie
# S02_request_form.jsp request 테스트 폼 이름 직업 학생 사무직 전문직 관심분야 정치 사회 정보통신 # S02_request_result.jsp request 테스트 결과-1 이름 직업 관심분야
Backend/JSP
[JSP] 영역과 속성 테스트 - application, session, cookie
Scope & Attribute JSP에서 제공하는 내장 객체 중 page, session, request, application들은 해당 객체에 정의된 유효 범위 안에서 서로 다른 페이지라 할지라도 필요한 객체(데이터)들을 저장하고 읽어 들임으로써 서로 공유할 수 있는 특정한 공간을 가지고 있음 공유되는 데이터를 속성(Attribute)이라고 하며 속성을 공유할 수 있는 유효범위를 Scope라고 함 # attributeTest1_Form.jsp 영역과 속성 테스트 Application 영역에 저장할 내용들 이름 아이디 # S01_attributeTest1.jsp 영역과 속성 테스트 String 캐스팅 id = (String)application.getAttribute("id"); %> 님반갑습니다. 님..
Backend/JSP
[JSP] JSP 다양한 데이터 전달법 - hidden, forward, get
[ hidden 방식 ] # request_form.jsp request 테스트 폼 이름 직업 학생 사무직 전문직 관심분야 정치 사회 정보통신 # request_pass.jsp # request_result.jsp request 테스트 결과 이름 직업 관심분야 [ forward ] # S04_forward_request_form.jsp request 테스트 폼 이름 직업 학생 사무직 전문직 관심분야 정치 사회 정보통신 # S04_forward_request_pass.jsp # S04_forward__request_result.jsp request 테스트 결과 이름 직업 관심분야 forward방식에서 접근한 데이터를 다른 페이지에서도 접근가능 → result 후에 또 페이지가 있을 경우 거기서도 접근 가능..
Backend/JSP
[Flask] 서버 설정, html 연결
파이썬을 사용할 때는 Flask라는 서버를 사용한다. 이번 프로젝트를 진행하면서 여러 책과 유튜브, 인터넷으로 공부하면서 진행한 내용을 적어보려고 한다. 먼저 제일 기초인 서버 설정과 html 연결이다. vscode를 사용하였다. # 서버 구동 qpp.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True) # html 연결 - html은 templates 폴더 안에 넣어서 저장한다. app.py from flask import Flask, r..
Backend