일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- TO_DATE
- jQuery
- spring
- controller
- json
- sql
- 태그
- eGov
- javascript
- eGovFramework
- was
- mybatis
- input
- Ajax
- jsp
- 정의
- 오류
- POI
- array
- 암호화
- html
- Java
- CSS
- 함수
- Oracle
- 과정평가형
- select
- 개념
- JVM
- web.xml
- Today
- Total
목록Language/Java (52)
web developer
로그인 시 HttpSession에 userinfo 객체를 저장했다면, 같은 세션을 공유하는 모든 요청에서 JSP에서 ${userinfo.user_id}로 접근 가능합니다. 즉, 사용자가 로그인한 뒤, userinfo가 세션에 저장되었다면, board.do이든 board_view.do이든 요청 경로와 상관없이 동일한 세션에 저장된 데이터를 사용할 수 있습니다.HttpSession은 사용자와 서버 간의 지속적인 상태를 관리하는 객체입니다. 사용자가 로그인 시점에 userinfo를 세션에 저장했다면:세션의 유지:브라우저는 세션 ID를 쿠키에 저장하고, 모든 요청마다 이 세션 ID를 서버로 전달합니다.서버는 전달받은 세션 ID를 통해 해당 사용자의 HttpSession 객체를 식별하고, 저장된 데이터를 제공합니..
javaScript$("form[name=formData]").attr("method", "post");$("form[name=formData]").submit();serviceImpl.java serviceImpl.java 에서 update가 실패한 경우 throw new IllegalArgumentException 시킨다.// 데이터베이스 업데이트 메서드 (예시)@Override@Transactional(rollbackFor = Exception.class)private int updateDatabase(DataType data) { int flag = 0; try { ... if(list!=null && list.size()>0) { ..
1. 예외처리serviceImpl.java serviceImpl.java 에서 update가 실패한 경우 throw new IllegalArgumentException 시킨다.// 데이터베이스 업데이트 메서드 (예시)@Override@Transactional(rollbackFor = Exception.class)private int updateDatabase(DataType data) { int flag = 0; try { ... if(list!=null && list.size()>0) { for(int=0; i controller에서 String 타입의 메서드가 return 을 가지고 있는 상황이다. Impl 에..
1. 서비스 단에서 커스텀 예외와 일반적인 예외를 throw서비스 계층에서는 예외를 발생시키기만 하고, 컨트롤러에서 처리하도록 합니다. 커스텀 예외 : 비즈니스 로직에 맞는 예외를 정의하고 서비스에서 명시적으로 발생시킬 수 있습니다.일반적인 예외 : Java 표준 예외나 라이브러리에서 제공하는 예외를 발생시킬 수 있습니다. 예를 들어, 데이터 검증이나 null 처리 같은 경우에는 *IllegalArgumentException*이나 *NullPointerException*을 사용합니다.@Servicepublic class UserService { public User getUserById(Long userId) { if (userId == null) { // 일반적인 ..
세션(Session)이란?세션은 웹 애플리케이션에서 사용자가 서버와의 상호작용 상태를 유지하기 위해 사용되는 서버 측 저장소입니다. HTTP는 기본적으로 상태를 유지하지 않는(stateless) 프로토콜이기 때문에, 매번 요청이 서버에 도착할 때마다 서버는 이전 요청이 무엇이었는지 기억하지 못합니다. 이를 해결하기 위해 세션과 쿠키 같은 메커니즘을 사용하여 사용자 상태를 유지합니다.1. 세션의 주요 개념1-1. 세션 생성 및 식별웹 애플리케이션은 사용자가 사이트에 처음 접속할 때 세션을 생성하고, 서버는 고유한 세션 ID를 할당합니다. 이 세션 ID는 클라이언트(브라우저)에 쿠키로 저장되거나 URL 리라이터(URL Rewriting)를 통해 전달됩니다. 서버는 이후의 모든 요청에 대해 이 세션 ID를 참..
JSON 데이터 파싱userInfoData JSON에서 information 배열 안의 Subject 객체에서 privacy 배열의 value 값을 가져오는 방법을 org.json.simple 라이브러리를 사용하여 구현할 수 있습니다 jsonuserInfoData :{ "url":["https://localhost:8080/test"], "id":"testId", "physical":{"height":"180", "weight":"80"}, "gender":["man", "woman"], "information":[ { "url":["https://localhost:8080/test"], "language":"KR", ..
Controller컨트롤러에서 Service를 호출하여 데이터를 JSP로 전달@Controllerpublic class BoardController { @Resource(name = "BoardService") private BoardService boardService; @RequestMapping(value = "/board.do") public String selectBoard( ModelMap model, @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int pageSize ) throws Exception { // P..
SHA-256 (Secure Hash Algorithm 256-bit)해시 함수:SHA-256은 암호화 해시 함수입니다. 이는 데이터를 고정된 크기의 해시 값(256비트)으로 변환합니다.입력 데이터의 크기와 상관없이 항상 256비트의 해시 값을 출력합니다.목적:데이터 무결성 확인을 위해 사용됩니다. 입력 데이터가 변경되면 해시 값도 완전히 달라지므로, 데이터의 변경 여부를 쉽게 감지할 수 있습니다.비밀번호 저장 시 해시 값을 사용하여 비밀번호 자체를 저장하지 않고도 인증을 수행할 수 있습니다.디지털 서명과 인증서에서 데이터의 무결성을 보장하기 위해 사용됩니다.작동 방식:입력 데이터를 처리하여 고정된 256비트 길이의 해시 값을 생성합니다.동일한 입력은 항상 동일한 해시 값을 출력하지만, 입력 데이터의 작..
AES-256 (Advanced Encryption Standard 256-bit)암호화 알고리즘:AES는 대칭 키 암호화 알고리즘입니다. 즉, 동일한 키가 암호화와 복호화에 사용됩니다.AES-256은 256비트 길이의 키를 사용하여 데이터를 암호화합니다.목적:데이터의 기밀성을 유지하기 위해 사용됩니다. 이를 통해 전송 중인 데이터나 저장된 데이터를 보호할 수 있습니다.암호화된 데이터는 지정된 키 없이는 복호화할 수 없기 때문에, 데이터 유출 시에도 원본 데이터를 안전하게 보호할 수 있습니다.작동 방식:블록 암호화 방식으로, 입력 데이터를 128비트 크기의 블록으로 나누어 암호화합니다.여러 암호화 모드(CBC, ECB, GCM 등) 중 하나를 사용하여 데이터 블록을 처리합니다.AES-256 암호화, 복호..
1. jQuery 버전 확인Ajax에서 배열을 전송할 때, traditional: true 옵션을 사용해야 하는 경우는 jQuery 1.4 이전의 버전에서 jQuery.param() 함수를 사용할 때입니다. jQuery 1.4 이전 버전에서는 param() 함수가 기본적으로 배열을 전송할 수 있는 형태로 시리얼라이즈하지 않기 때문에, 배열을 전송할 때 traditional: true 옵션을 명시적으로 설정해야 했습니다.하지만 jQuery 1.4 이후 버전부터는 param() 함수가 기본적으로 배열을 다룰 수 있는 방식으로 업데이트되어서, 일반적으로 traditional: true 옵션을 따로 지정하지 않아도 됩니다.2. params 객체를 JSON 문자열로 직렬화하여 AJAX 요청으로 서버에 전송 배열을..
poi 라이브러리를 활용해 서체, 셀 스타일 변경하기 Font font = workbook.Font(); font.setFontName("맑은 고딕"); font.setColor(IndexedColors.BLUE.getIndex()); font.setFontHeightPoints((short) 11); font.setItalic(true); CellStyle yellow = workbook.createCellStyle(); yellow.setFillForegroundColor(IndexedColors.LIGHT_YELLOW.getIndex()); yellow.setFillPattern((short) 1); yellow.setAlignment((short) HorizontalAlignment.CENTER...
엑셀 다운로드 시 메모 생성하기 import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; public class ExcelCommentExample { public static void main(String[] args) { Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); // 데이터 삽입 및 코멘트 추가 for (int i = 0; i < 10; i++) { Row row = sheet.cr..