Open eunja511005 opened 1 year ago
2. 메뉴 추가
1. autoCoding1로 로그인
2. Admin > Menu > Menu List로 이동
3. 메뉴 등록
4. message.properties 3형제 등록
menu.webServerDeveloperRegister=웹 서버 개발자 등록
page.title.webServerDeveloperRegister=웹 서버 개발자 등록
5. Controller 생성
6. JSP 일단 복사하여 생성
7. 서버 재시작해야 message.properties 파일을 인식해서 추가된 메뉴가 보임
8. 로그인 해서 해당 메뉴 클릭해어 메뉴 접근 권한에 Any로 등록 됨
9. 서버 재시작해야 메뉴 접근 권한이 적용 되어 Any로 접근 가능
10. ChatGPT가 생성해준 HTML 이용해서 화면 수정
쿼리문 이관
INSERT INTO WASADMIN.ZTHH_MENU
(ID, CATEGORY, MENU_LEVEL, MENU_ID, MENU_PATH, MENU_ICON, MENU_ORDER, PARENT_MENU_ID, DEL_YN, CREATE_ID, CREATE_DT, UPDATE_ID, UPDATE_DT, MENU_AUTH)
VALUES('menu_e94fe56f-9b1d-4617-85e2-12b5bcb4287a', 'Interface', 2, 'menu.webServerDeveloperRegister', '/webServerDeveloperRegister/list', 'N/A', 11, 'layout', 'N', NULL, TIMESTAMP '2023-08-15 09:19:56.486077', NULL, TIMESTAMP '2023-08-15 09:19:56.486077', 'ROLE_ANY');
INSERT INTO WASADMIN.ZTHH_MENUCONTROL
(ID, URL, "METHOD", ROLE_ID, DEL_YN, CREATE_ID, CREATE_DT, UPDATE_ID, UPDATE_DT, LOG_YN, LOG_DATA_YN)
VALUES('menuControl_90807956-c22f-4e99-b812-6fdf2bd15187', '/webServerDeveloperRegister/list', 'GET', 'ANY', 'N', 'autoCoding1', TIMESTAMP '2023-08-15 09:42:26.483813', 'autoCoding1', TIMESTAMP '2023-08-15 09:42:26.483813', 'Y', 'N');
한글 깨짐
message.properties 파일을 이용하여 javascript 파일에서 다국어 처리시 한글 깨짐 현상 발생
한글 깨짐 톰캣 설정 참고 싸이트
톰캣 설정도 바꿔 보고 내장 톰캣 사용하도록 해 보고 별 짓을 다해도 한글 깨짐 서버 이관하면 발생해서 유니코드 이스케이스 형식으로 변환 하도록 함. 아래 싸이트에서 변환 하면 됨. 그런데 문제는 변환후 %20을 스페이스로 변경해 줘야 한다. 일괄로 replacceAll 하면 됨.
https://www.online-toolz.com/tool/unicode-decoder-encoder/ko
ps -ef | grep java kill -9 11232 mvn package -Dmaven.test.skip=true java -Dfile.encoding=UTF-8 -jar /home/opc/git/AutoCoding/target/demo-0.0.1-SNAPSHOT.jar
자바에서 유니코드 이스케이프 형식으로 인코딩 디코딩 하는 API
import org.apache.commons.text.StringEscapeUtils;
public class UnicodeEscapeExample {
public static void main(String[] args) {
String original = "안녕하세요";
String escaped = StringEscapeUtils.escapeJava(original);
System.out.println(escaped); // 출력: \uc548\ub155\ud558\uc138\uc694
}
}
public class UnicodeDecodeExample {
public static void main(String[] args) {
String escaped = "\\uc548\\ub155\\ud558\\uc138\\uc694";
String decoded = decodeUnicodeEscapes(escaped);
System.out.println(decoded); // 출력: 안녕하세요
}
public static String decodeUnicodeEscapes(String input) {
String result = input.replaceAll("\\\\u([0-9a-fA-F]{4})", "\\u$1");
return new String(result.getBytes(), StandardCharsets.ISO_8859_1);
}
}