web server was의차이
2021. 8. 17. 15:56
개발용어
웹서버란? 클라이언트가 웹 브라우저에서 어떠한 페이지 요청을 하면 서버에서 그 요청을 받아 정적 콘텐츠를 제공하는 서버이다. 여기서 정적 콘텐츠란 단순 HTML 문서, CSS, JAVASCRIPT, 이미지 파일 등 즉시 응답가능한 콘텐츠이다. WAS란? 웹 서버와 웹 컨테이너가 합쳐진 형태로서, 웹 서버 단독으로 처리할 수 없는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 콘텐츠를 제공한다.
[Spring Boot] 7. 게시판 멀티파일 업로드, 파일 다운로드(Gradle+Mybatis+멀티프로젝트+MYSQL+STS)
2021. 8. 15. 19:06
스프링
시작하기에 앞서 테이블을 생성해야 합니다. CREATE TABLE `tb_board_file` ( `BOARD_FILE_IDX` int NOT NULL AUTO_INCREMENT, `BOARD_IDX` int DEFAULT NULL, `FILE_ID` int DEFAULT NULL, `USE_YN` varchar(1) DEFAULT 'Y', PRIMARY KEY (`BOARD_FILE_IDX`) ) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='게시판 파일테이블' CREATE TABLE `tb_file` ( `FILE_ID` int NOT NULL AUTO_INCREMENT COMMENT..
[Spring Boot] 6. 게시판 체크박스 삭제하기(Gradle+Mybatis+멀티프로젝트+MYSQL+STS)
2021. 8. 13. 17:43
스프링
Url.java 수정 package com.board.common; /* api url 정의 */ public final class Url { public static final String TILES_ROOT = "/tiles/view"; public static final String TILES_SINGLE = "/tiles/single"; public static final String TILES_AJAX = "/tiles/ajax"; /* 로그인 */ public static final class AUTH { /* 로그인 url */ public static final String LOGIN = "/auth/login"; /* 로그인 jsp */ public static final String L..
[Spring Boot] 5. logback 설정 (Gradle+Mybatis+멀티프로젝트+MYSQL+STS)
2021. 8. 12. 12:05
스프링
프로젝트 구조 build.gradle에 해당코드 추가 implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' application.properties에 해당코드 추가 logging.level.root=info spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/TB_BOARD?serverTimezone=UTC&characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.passwo..
[Spring] sts4에서 jsp 사용하기
2021. 8. 12. 09:00
스프링
sts4에서는 jsp 파일이 색상도 없고 jsp파일을 생성못하게 막아놓은것 같음 이를 해결하기 위해서 Help-Eclipse MarketPlace에서 Java Web 검색후 install jsp 파일을 생성할수 있고 코드에 색깔이 생긴것을 볼수있습니다.
jquery.ready()와 .onload()의 차이점
2021. 8. 11. 08:19
개발용어
-호출 시점의 차이 ready() -> onload() 순으로 실행 .ready() 호출시점 : DOM Tree 생성 완료후 실행 .onload() 호출시점 : 모든 페이지 구성요소 페인팅 완료 후 -DOM(돔)이란 브라우저가 HTML 웹 페이지를 인식하는 방식을 계층화시켜 트리구조로 만든 객체 모델이다.
Sql Injection과 xss를 방지하기
2021. 8. 11. 08:15
개발용어
* Sql Injection 방어하기 - Mybatis에서는 내부적으로 #{} ${} 두 가지 형식으로 파라미터를 받는다. - #{} : 내부적으로 PreparedStatement를 사용하기 때문에 sql injection 공격에 안전하다. - ${} : 파라미터가 바로 출력된다 -> SQL Injection 공격에 취약 * xss 방어하기 - lucy-xss-servlet-filter 적용 1. XML 설정 만으로 XSS 방어가 가능해짐 2. 비즈니스 레이어의 코드 수정이 발생하지 않음 3. 개발자가 XSS 방어를 신경 쓰지 않아도 됨 4. XSS 방어가 누락되지 않음 5. 설정 파일 하나로 XSS 방어절차가 파악됨 -> lucy의 필터링은 서블릿 설정으로 적용을 했기 때문에 form-data에 대해서..
아파치와 톰캣의 차이점
2021. 8. 11. 07:56
개발용어
웹서버는 정적인 데이터를 처리하는 서버, 단순 HTML을 처리하는 서버라면 웹서버가 적당하며 빠르고 안정적이다. WAS는 동적인 데이터를 처리하는 서버, DB 연결, 데이터 조작등과 같은 처리는 WAS를 활용해야 한다.
[Spring Boot] 4. 게시판 CRUD, 페이징처리 (Gradle+Mybatis+멀티프로젝트+MYSQL+STS)
2021. 8. 7. 10:18
스프링
-> 차근차근 개발하는 과정을 올릴려고 했는데 중간 중간에 과정을 올리기가 힘들어서 전체 소스를 한번에 정리해서 이번장에 올리겠습니다. 게시판 생성에 앞서 테이블 생성 CREATE TABLE `tb_board` ( `BOARD_IDX` int NOT NULL AUTO_INCREMENT COMMENT '인덱스', `BOARD_TITLE` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '타이틀', `BOARD_CONTENT` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '내용', `REG_ID` varchar(45) CHARACTER ..