IT 공부/프로젝트 2024. 7. 1.
[Spring] 게시판 만들기 3 - 글쓰기 Write
지난번 게시글 리스트 출력을 했으니 (Select)실제로 내용이 들어갈 게시글 CRUD 를 작성해본다. 글쓰기부터 1. controller 생성 만들어둔 PostController 에 우선 Create (Write) 를 만들어본다. @GetMapping("/Write") public ModelAndView writePost(HttpServletRequest request){ mav.setViewName("Write"); return mav; } @PostMapping("/Write") public ModelAndView writePost(@ModelAttribute Post post, HttpServletResponse response){ ..
IT 공부/프로젝트 2024. 6. 29.
[Spring] 게시판 만들기 2 - 게시글 리스트 출력 및 페이징
이번에 구현할 기능 목표 게시글 리스트 출력 및 페이징 1. 테이블 생성 게시글을 저장하기 위한 테이블생성이 필요하다.dbeaver, workbench 등 db에 접속해서 query 를 날릴 수 있는 상태를 만들어 둔다. 직접 접속해도되고 객체 테이블 생성은 GPT 도움받으니 편하네.. CREATE TABLE Posts ( num INT IDENTITY(1,1) PRIMARY KEY, title NVARCHAR(255) NOT NULL, author NVARCHAR(100) NOT NULL, contents NVARCHAR(MAX) NOT NULL, date DATETIME DEFAULT GETDATE()); IDENTITY 가 sequence 개념으로 알아서 1씩 증가시켜준..
IT 공부/Java 2024. 6. 28.
[Java] 한글로 된 파일 업로드/다운로드 시 파일명 깨짐
@RequestMapping("/Download")public class DownloadController { private static String UPLOAD_FOLDER = "D:/logs/"; @Autowired FileService fileService; @GetMapping("/{fileId}") public ResponseEntityResource> downloadFile(@PathVariable("fileId") int fileId) throws MalformedURLException, UnsupportedEncodingException { FileInfo fileInfo = fileService.selectFileInfo(fileId); ..
IT 공부/Java 2024. 6. 28.
[Java] 파일 업로드 Multipart 시 413 에러
Resolved [org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded] out 로그(terminal)에는 위와같이 찍혔다. 우선 파일 제한 용량을 올려주기 위해 다음과 같이 할 수 있다. - application.properties 또는 application.yaml 수정spring.servlet.multipart.max-file-size=10MBspring.servlet.multipart.max-request-size=10MB이건 properteisspring: servlet: multipart: max-file-size: 10MB max-request-size..
IT 공부/프로젝트 2024. 6. 27.
[Spring] 스프링으로 게시판 만들기 1
1. 환경설정 VS code 로 진행할것이기에 Extention 에서 필요한 확장팩들을 설치한다. 이외에 Gradle, Lombok 등 필요한것들을 설치. Install 만 누르면 알아서 설치됨 이외에 자바같은건 알아서 설치 2. 프로젝트 생성 Crtl+Shift+P 누르면 검색창 나오는데 이곳에 Spring Initializr gradle Project 로 생성버전은 3.3.1, Java, War, gradle, Java 17로 생성하였고 패키지 및 프로젝트 명은 임의로 지정 마지막에 dependencies 를 골라야하는데Lombok, Spring boot DevTools, Spring Web, MyBatis Framwork 를 골랐음. 3. 기본 폴더(패키지) 생성 게시판을 만들것이기에 pos..
IT 공부/WebLogic 이슈 2024. 6. 23.
[OHS] Component 의 config 수정 시 주의사항
OHS 의 component 설정파일은 상당히 깊숙한곳에 위치해있다. 설정 시 주의할점이 있는데 ${ORACLE_INSTACE}/config/fmwconfig/components 로 들어가면 아래처럼 두가지 디렉토리가 있다. 둘다 conf 파일이 존재하는 디렉토리고, 처음엔 어떤 디렉토리를 수정하던 상관 없지만양쪽 번갈아 수정하게되면 꼬이게 되는일이 있으니 조심해야 한다. ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/ohs1 (이하 ohs1)과${ORACLE_INSTANCE}/config/fmwconfig/components/ ${COMPONENT_TYPE}/instances/ohs1 (이하 instance/ohs1)두가지 종류가 ..
IT 공부/Java 2024. 6. 14.
[JavaScript] 메뉴 카테고리 JavaScript 로 구현하기 (LocalStorage)
JavaScript 로 메뉴 카테고리 구현하기 기능 설명1. 메뉴 추가를 누르면 input text 창이 나오고, 해당 내용 입력 후 저장을 누르면 하위카테고리가 생김2. 가장상위(depth) 는 전체보기를 클릭후 메뉴추가3. 삭제하고자 하는 메뉴를 클릭 후 삭제버튼을 누르면 삭제됨.4. 다만 하위항목이 존재할경우 삭제가 되지 않음5. 별도의 DB가 없이 LocalStorage 를 이용하여 저장할 예정 1. script 를 제외한 head~body 부분 메뉴 관리 메뉴 추가 전체보기 메뉴 저장 삭제 itemList 에 이제 script 를 이용하여 동적으로 메뉴를 생성 Script 부분1. list 항목 추가 후 a..
IT 공부/Web-WAS 2024. 6. 3.
[iPlanet] Admin password 초기화(변경) 방법
iplanet 7 최신 버전 admin password 초기화 방법 1) Change to web install-root bin directory.# cd /bin2) Use wadm command to reset the admin password. # ./wadm reset-admin-password --user --host --port Please enter admin-password> ***PUT IN NEW PASSWORDPlease enter admin-password again> ***PUT IN NEW PASSWORD# ** 참고 : 패스워드 변경 시 CLI187 This command is available only on an administration server install..
IT 공부/Web-WAS 2024. 5. 31.
WebLogic 11g JDK 버전 변경 방법
가능한 방법은 두가지 1. 모든 스크립트에서 참조하는 JAVA_HOME 환경변수를 변경하는 방법○ 변경되어야 하는 기본 파일 목록 $INSTALL_HOME/wlserver_10.3/common/bin/commEnv.sh $INSTALL_HOME/user_projects/domains//bin/setDomainEnv.sh $INSTALL_HOME/wlserver_10.3/common/nodemanager/nodemanager.properties(domains) $INSTALL_HOME/utils/bsu/bsu.sh $INSTALL_HOME/utils/quickstart/quickstart.sh $INSTALL_HOME/utils/uninstall/uninstall.sh $INST..
IT 공부/PaaS 2024. 5. 29.
K8S 에서 containerd 와 docker
RKT 과 같은 여러 컨테이너 런타임을 지원하면서 CRI 와 같은 인터페이스를 소개함.이후 OCI 도 같이 소개하면서 여러 컨테이너 런타임이 나옴. 그러나 도커는 CRI 가 나오기 전에 이미 나왔기 때문에 CRI 로 사용 할 수 없었음도커는 인기있는 컨테이너 도구였기 때문에 dockershim 이라는 것을 도입해 컨테이너 런타임 인터페이스 밖에서도 도커를 지원하게 끔 함 (그러나 임시적)→ 즉 도커는 CRI 에서 돌아가는게 아님. 그러다 결국 dockershim 을 유지하기 위해 많은 노력이 들다보니 v1.24 에서 도커를 더이상 지원하지 않기로 결정그래도 도커 이미지는 계속 작동하는데 OCI 에서 제공하는 imagespec 을 따르기 때문. docker 보다는 사실 nerdctl 과 같은 것으로 컨테이..
IT 공부/자격증 2024. 5. 28.
Certified Kubernetes Administrator (CKA) 신청
CKA 자격증 시험 등록함시험은 2달뒤에 7/25 볼 예정 혹시 공부같이 할 사람 있으면 ... 같이해요 결제는 213달라에 했는데코드는 MAY24SPECIALCT 입력했음 아마 5월까지만 쓸 수 있어서 새로 찾아봐야할듯 CKA coupon code 보는 곳https://github.com/techiescamp/linux-foundation-coupon GitHub - techiescamp/linux-foundation-coupon: Latest Linux Foundation Coupon Codes For Certification, Courses, Skillcreds, IT PLatest Linux Foundation Coupon Codes For Certification, Courses, Skillcr..
IT 공부/WebLogic 이슈 2024. 5. 24.
<BEA-001112> Test SELECT 1 FROM DUAL set up for pool ~~~Source failed with exception
원인 및 해결책 데이터베이스 중단 후 WebLogic Server 데이터 소스가 복구되지 않으면 발생 연결 생성 재시도 빈도(Connection Creation Retry Frequency) 의 기본값은 0초인데, 값이 0으로 설정되면 연결 생성 재시도를 하지않고, 데이터베이스를 사용할 수 없는 경우 데이터 소스 생성이 실패함. > 해결책으로는 위 빈도수를 0보다 큰 값으로 설정 또는 Oracle Database Express Edition(XE)의 내부 오류일 수 있음.> 해결책으로는 _optimizer_filter_pred_pullup 을 설정하여 해결> DB에서 DBA가 alter session set "_optimizer_filter_pred_pullup"=false; alter system se..
IT 공부/WebLogic 이슈 2024. 5. 22.
<BEA-000438> Unable to load perfomance pack. USing Java I/O instead.
점검때 발견한 로그 * 증상 *특이사항이라 부를만한 별다른 증상은 없는 로그 * 원인 *웹로직은 많은 요청을 처리하기 위해 Muxer 를 사용하여 스레드에게 업무를 나눠주는데, 기본값으로는 java muxer 를 사용함. 그 외에 라이브러리에 muxer 를 넣어 사용할 수 있는데, 기본 Muxer 가 아니라 다른 Muxer 를 사용한다고 등록해두고, 해당 lib Muxer 의 경로가 제대로 되어있지 않거나, 존재하지 않는 경우 발생하는 에러 * 해결책 *간단히 기본 Muxer 설정으로 다시 돌리거나, 경로를 제대로 지정하거나, Muxer lib 파일에 이상이 없나 재확인
IT 공부/WebLogic 이슈 2024. 5. 21.
WebLogic JDBC 관련 에러 몇가지 정리
JDBC 관련 Error 몇가지1) 문제 발생 형태 i. JDBC 구성 실수 ii. Connection Pool 부족 iii. Database resource issues iv. Connection Leak v. 방화벽 문제 vi. Slow Server Startup vii. Wait for IO response 2) 로그 형태 i. [| 형태의 로그 발생] ii. Connection 자원 부족 로그 현상 3) 문제 분석 및 확인 방법 i. 로그 특이 사항 여부 먼저 확인 ii. AdminConsole을 이용한 각 DataSource 의 자원 사용 상태 모니터링 JDBC Connection Not Closed..
IT 공부/Web-WAS 2024. 5. 18.
[WebLogic] 웹로직 12c 패치방법
Weblogic 12c, 14c Opatch 이용, 덮어쓰기 형태선작업 - 엔진홈에 patch 폴더에 패치 파일 넣음 없으면 만들 것 (다른경로로 해도되지만 이게편함)- Opatch 버전이 맞는지 체크 > 체크방법: opatch 폴더로 이동 후 명령어 입력 ./opatch apply [패치폴더주소(ex C:\Oracle\Middleware\WLS12c\patch\32253037)] -report- 버전이 맞지 않다면 Opatch 부터 설치 Opatch 설치 및 업데이트 - Java -jar opatch_generic.jar -silent oracle_home= 입력(opatch_generic.jar 있는곳에서) -invPtrLoc (loc파일)예시: C:\Progra~1\Java\jdk..
IT 공부/Web-WAS 2024. 5. 15.
[WebLogic] 웹로직 11g 패치 방법
WebLogic 11g BSU이용. 새로 갈아끼우는 형태 (기존것을 지워야함) 선작업 - Patch 파일을 ENGINEHOME/utils/bsu/cache_dir 에 푼다. 다른곳에 풀어도되는데 경로기억하려고 나는 이곳에 함패치 진행 - 기존 패치가 되어있으면 제거 해야하므로 검색 ./bsu.sh -view -status=applied -prod_dir=오라클서버홈(엔진아래 wlserver 까지) ex)./bsu.sh -view -status=applied -prod_dir=/home/weblogic/Middlewar/WLS11g/wlserver_10.3- 패치가 되어있으면 제거 ./bsu.sh -remove -patchlist=패치명 -prod_dir=[엔진홈]/wlserver_10.3..
IT 공부/WebLogic 이슈 2024. 5. 12.
[Error] WebLogic ResourceLimitException 에러
weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool testConnectionPool to allocate to applications, please increase the size of the pool and retry.. weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool testConnectionPool to allocate to applications, please increase the size of the pool and retry.. 로그 형식이 위와 같은..
IT 공부/WebLogic 이슈 2024. 5. 10.
Deploy 이후 503 Error 발생
웹페이지 503 Error : 503 Service Unavailable 서버쪽 문제로 인하여 현재 서비스가 불가능 한 상태를 의미함. 보통 아래와 같은 경우로 발생1) 서버 접속자가 많아 서버 접속 불가2) 접속은 하였으나 서버측으로부터 응답을 받지 못하여 타임아웃 발생3) 서버 내 Application 문제로 웹 상에서 요청한 서비스가 정상처리되지 못함 > 즉 서버 과부하나 폭주로 인해 발생되는 에러 웹로직의 경우 이 상태를 아래와 같이 해결할 수 있다. 1) AdminConsole 접속2) 배치 -> 콘트롤 탭 클릭3) 해당 App 체크 후 시작 버튼 클릭4) 모든 요청 서비스 클릭 으로 해결
IT 공부/WebLogic 이슈 2024. 5. 7.
<BEA-101216> OutOfMemoryError
할당한 메모리가 부족해서 뜨는 현상 1. 서버 기동시 발생한 경우 여기서 Xms, Xmx 값을 늘려주거나 PermSize, MetaspaceSize 등 메모리 분석해서 값을 조절해주면 됨.또는 JDK 버전을 업그레이도 방안일 수 있으나, 현실적으로 JDK 업그레이드가 쉽지않음. 2. 배치 이후 발생한 경우 주로 1) Memory Leak 현상 : 특정 object 가 메모리 사용 후 GC가 발생하여도 메모리가 반환되지 않고 점유하고 있어 계속해서 사용메모리가 증가하다가 최종적으로 OOM 발생2) 대량의 데이터 점유로 인해 더이상 Heap 메모리 할당이 불가능하여 OOM 발생 필요 분석자료1) Heapdump2) GC 로그3) ThreadDump 와 WebLogic(WAS)..
IT 공부/Web-WAS 2024. 5. 5.
[WebLogic] MBean 이란?
1. Mbean 이란? • Managaed Bean • 자바 어플리케이션의 모니터링과 관리 기능을 제공하는 Bean • MBean 으로 하나 이상의 사용자 JavaBean 오브젝트를 통해(혹은 리소스를 호출하는) 애플리케이션, 디바이스, 서비스를 원격으로 제어할 수 있음 • Mbean 들은 Mbean 서버에 등록되며, Mbean 서버는 리소스에 접근하는 모든 원격 매니저를 관리 • WebLogic 도 이 Mbean 과 JMX를 이용하여 ManagedServer WeLogic을 관리한다. 2. WLS Server Mbean 의 수명주기 1) 도메인의 각 서버에는 도메인의 구성 문서 (config.xml 파일 및 보조 파일) 의 자체 사본이 있음. i. 서버가 시작되는 동..
IT 공부/Web-WAS 2024. 5. 2.
[WebLogic] web.xml 과 weblogic.xml 에 대하여
Web.xml 파일은 웹서버 환경 설정 정보를 가지고 있다. 기본적으로 display명, 서블릿 매핑 정보, 각종 참조 정보등을 가지고 있고, 필요에 따라 설정을 추가한다. 별도의 관리화면이 없기에 직접 파일을 열어 수정을 해줘야한다. 모든 서블릿컨테이너나 WAS에 존재한다. Weblogic.xml 은 웹로직 서버 환경 설정 정보를 가지고 있다. Ejb 정보, jdbc, jsp 관련 설정 정보 등을 가지고 있고, ejb를 추가하거나 jdbc정보를 등록할 경우, jsp 세션 설정을 변경할 경우 수정해줘야 한다. 개발환경에 따라서 필요에 따라 수정을 해줘야 하지만 weblogic 6 이후로 웹상에서 가능한 관리화면이 있기때문에 weblogic.xml 파일을 직접 열어서 수정하지 않아도 된다. 그러나 web..
카테고리 없음 2024. 4. 29.
[Java] JNDI 에 대해서
JNDI 란?Java Naming and Directory Interface Java 소프트웨어 클라이언트가 이름을 이용하여 데이터 및 객체를 찾을 수 있도록 도와주는 디렉토리 서비스에 관한 Java API- WAS 의 데이터 및 객체 정보(DB 정보 등)을 Naming 해놓고 WAS 에서 가져다 쓰는것 사용 이유1. WAS 내에 N 개의 Web Application 이 돌아가는 경우, 소스레벨에서 설정을 하게되면 - 관리가 어려움 - 자원낭비가 심함 그렇기에 JNDI 를 이용하여서 WAS에서 관리하게 하였음 아래는 DB에 접근하기 위한 JNDI 예시이다. 만약 JNDI가 없다면?예를 들어, MySQL DB 에 접근하기 위한 App 을 개발중이라고 하자.MySQL JDBC 드라이버 클래스를 참조..
IT 공부/OS 2024. 4. 26.
[Linux] ssh 로그인 시 화면 설정 (공지/배너 등)
1. ssh 접속 시 로그인 화면설정 Root 권한으로 /etc/issue.net 파일을 수정하면된다. # vi /etc/issu.net파일 내용 입력 후 저장 위 양식은 검색해서 그냥 배껴온것 구글에 검색하면 많이 있음 # systemctl sshd restartsshd 를 재기동해주어 설정을 반영해준다. 반영 완료 2. 로그인 이후 메시지 설정 로그인 해서 서버에 접속하면 뜨는 메시지를 설정해보자 공지/환영메시지 등으로 사용할 수 있을듯 1) 명령어 실행하게 하기 접속 시 서버에 대한 정보를 띄울 수 있는 neofetch 패키지를 설치 하여, 접속 시 해당 명령어를 실행 하도록 해봄 관련 정보는 https://github.com/dylanaraps/neofetch 에서 확인 # yum install..
IT 공부/Web-WAS 2024. 4. 25.
[WebLogic] JTA (Java Transaction API)
1. Transaction 의 의미Transaction 은 반드시 원자적으로 수행되어야 하는 작업들의 모임트랜잭션 중 하나라도 실패한다면 전체 트랜잭션이 실패 처리 되어야 함트랜잭션에는 다음 세가지가 관계되어 있음1) 애플리케이션2) 데이터베이스(Data Source)3) API (드라이버 등)그럼 JTA란 무엇일까?2. JTA의 의미애플리케이션에선 동시에 여러 트랜잭션이 수행 된다. 이를 관리하기란 어려운데, 이걸 도와주는게 JTA 라고 할 수 있다.J2EE 플랫폼에 포함되어 있다.애플리케이션은 JTA를 사용하여 한번에 여러 개의 DataSource 에서 트랜잭션을 수행할 수 있다. 그렇지만 JTA만으로는 효율성을 발휘하지 못하므로 또 다른 컴포넌트인 J2EE 트랜잭션 매니저를 이용해 효율적으로 스케쥴..
IT 공부/Web-WAS 2024. 4. 21.
WEB-INF 구성
- WEB-INF/ classes, WEB-INF/lib 이해 0. *.html, *.jsp 등 : 웹 어플리케이션에서 클라이언트 브라우저로 전송이 되는 HTML, JSP 페이지와 다른 파일들(ex. JS, StyleSheet, image). 대규모 어플리케이션에서 이 파일들을 서브디렉토리체계로 나누어 놓을 수 있다. 규모가 작은 어플리케이션이라면 보통 하나의 디렉토리에서 관리한다. 1. WEB-INF/classes : 이 디렉토리는 웹 어플리케이션에서 사용하는 모든 자바 파일(관련 자원)이 들어있다. Servlet을 작성할 때, JavaBeans를 작성할 때 이곳에 컴파일 된 class파일을 넣어두고 servlet 혹은 Beans를 호출하여 사용한다. 이렇게 특별 CLASSPATH에 지정된 디렉토리에 ..
IT 공부/Web-WAS 2024. 4. 19.
[WebLogic] 웹로직 현재 패치버전 확인 방법
WebLogic 12.1.1 까지 (보통 11g) 1. WebLogic version 유틸리티 클래스 이용 $DOMAIN_HOME/bin 접속 . ./setDomainEnv.sh java weblogic.version 2. bsu 유틸리티 이용 (패치할때 사용하는) ./bsu.sh -report ./bsu.sh -view -verbose -prod_dir=${WL_HOME} -status=applied WebLogic 12.1.2 이후 (12c이상) 1. Opatch 사용 (패치할때 사용하는) ./opatch lsinventory 공통 확인 방법 1. 웹로직 로그 확인 2. 웹 어드민 콘솔 이용 콘솔 접속 > 서버선택 > 모니터링 > 일반 의 WebLogic 버전 필드 및 패치목록 내용 확인
IT 공부/Web-WAS 2024. 4. 17.
[WebLogic] 12c 이상에서 java weblogic.Admin ~~ 안되는 이유
도메인홈 아래 bin 파일에 있는 setDomainEnv.sh 를 실행시킨 뒤 실행 가능한 java weblogic~~ 클래스들이 있다. (. ./setDomainEnv.sh로 실행) 예를 들면 Force Shutdown 의 경우가 있는데 java weblogic.Admin -username -password -url FORCESHUTDOWN 을 하게되면 서버를 강제종료 시킬 수 있다. 또는 핑 확인용으로 java weblogic.Amdin -url PING 위와 같은 형식처럼 java weblogic.Admin ~ 을 실행시키는 모습을 볼 수 있는데 11g 버전까지는 잘 실행 되지만 12버전 이후로는 실행이 되지 않는다. 오라클 문서를 참고한 결과 WebLogic 12.2.1 에서 Admin 이 제거 ..