본문 바로가기

[ Web ]/JAVA_JSP_TOMCAT_Eclipse21

[Java] The server time zone value 'KST' is unrecognized or represents more than one time zone. MySQL Connector/J 8.0을 사용하면 아래와 같은 에러가 나고 JDBC connection 이 실패하는 경우가 있다. Connector 5.1 에서는 시스템 기본 timezone 을 사용하므로 발생하지 않고 8부터 발생하는데 명시적으로 어떤 time zone 을 사용하는지 지정해 주어서 해결할 수 있다. String url = "jdbc:mysql://localhost/testdb"; 커넥션 문자열을 String url = "jdbc:mysql://localhost/testdb?serverTimezone=Asia/Seoul"; 이나 String url = "jdbc:mysql://localhost/testdb?serverTimezone=UTC"; 로 변경하여 사용하면 해당 에러를 없앨수 있다. 2022. 10. 13.
[Java] Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 위와 같은 에러가 나면서 시작되지 않을때는 Class.forName("com.mysql.jdbc.Driver"); 구문을 Class.forName("Com.mysql.cj.jdbc.Driver"); 로 변경해주면 된다. 2022. 10. 13.
[Java] Java 자바 [예외 처리] - 예외 떠넘기기 throws 출처 - https://kephilab.tistory.com/83?category=395678 메소드 내부에서 예외가 발생할 수 있는 코드를 작성 시 try - catch 블록으로 예외를 처리하는 것이 기본이지만, 경우에 따라 메소드를 호출한 곳으로 예외를 떠넘길 수 있다. throws 키워드 : 메소드 선언부 끝에 작성, 메소드에서 처리하지 않은 예외를 호출한 곳으로 떠넘기는 역할을 한다. 형태 리턴타입 메소드명(매개변수선언1, . . . ) throws 예외클래스1, 예외클래스2, . . . { . . . } 발생할 수 있는 예외를 종류별로 throws 뒤에 나열하는 것이 일반적이지만, Exception (상위 예외 클래스) 만으로 모든 예외를 간단히 떠넘길 수 있다. 형태 리턴타입 메소드명(매개변수.. 2022. 8. 9.
[Java] 서블릿과 JSP의 차이 출처 - https://steady-coding.tistory.com/463 서블릿과 JSP 사실 궁극적인 기능의 차이는 없습니다. 서블릿과 JSP 모두 Java를 이용하여 웹 페이지를 동적으로 생성하는 기능을 하기 때문이죠. 다만 역할의 차이가 있습니다. 이것은 글로 설명하기보다는 예시를 하나 들겠습니다. 회원 가입을 하고, 그 회원을 저장하고 조회하는 아주 작은 프로그램이 있다고 하겠습니다. 회원 가입 자체는 정적인 페이지가 대체하여도 무방하므로 회원 가입이후 생성된 유저의 정보를 보여주는 페이지를 만든다고 가정하겠습니다. 그렇다면, 서블릿으로 가입한 유저의 정보를 보여주는 코드를 아래처럼 작성할 수 있습니다. @WebServlet(name = "memberSaveServlet", urlPatter.. 2022. 7. 24.
[Java] 서블릿 맵핑url 대소문자 문제 자바공부하던중 서블릿 맵핑한 url 에 접속할때 대소문자 문제가 발생했다. 그림1과 같이 Second 라고 S 를 대문자로 맵핑하고 실제 접속을 소문자 s 로 http://localhost:8090/pro07/second 와 같이 접속하니 404 에러가 발생했다. 당연히 http://localhost:8090/pro07/Second 로 접속하면 접속이 됐다. 그래서 가만히 생각해보니 맵핑을 여러개 하면 해결되지 않을까 하는 생각이 들었다. 그래서 그림2와 같이 설정하니 http://localhost:8090/pro07/second 와 http://localhost:8090/pro07/Second 두가지 경로로 모두 접속할수 있었다. 물론 더좋은방법들도 있겠지만 한가지 해결방법으로 기록해둔다. 2022. 7. 23.
[Java] Servlet 오류날때 - HTTP 상태 404 – 찾을 수 없음 서블릿 공부하는중 아래 현상이 발생했다. HTTP 상태 404 – 찾을 수 없음 타입 상태 보고 메시지 요청된 리소스 [/pro07/First]은(는) 가용하지 않습니다. 설명 Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다. Apache Tomcat/10.0.22 여기저기 찾아보니 톰캣모듈패스를 / 로 바꿔주라는 글이 가장 많았지만 그글외에 다른 여러가지 방법을 해도 오류는 계속 발생하고 있었다. 그러던중 selvlet mapping 을 해주니 작동했다. 보안적으로 바로 자바 서블릿에 접근하지못하도록 설정되있는게 아닌가 추측해본다. 단, 이때 모듈패스가 변경되거나 다른설정이 변경된 상태는 그대로 작동을 안해서 설정변경한.. 2022. 7. 23.
[Eclipse] Ctrl+Space는 그만! 글자 입력하기만하면 Content Assist(자동완성기능)가 실행되는 방법! 출처 - https://devlimk1.tistory.com/9 eclipse가 아닌 intellij를 사용해본 사람이라면 글자를 입력하기만해도 메소드나 어노테이션 등의 자동완성기능이 실행되어 일일이 Ctrl+Space를 눌러서 자동완성 기능을 실행시키지 않아도 되는 것이 참 매력적이라 느꼈을 것이다. 그 편함을 잊지 못하기에, 찾던 중 eclipse에서도 똑같은 기능을 구현할 수 있는 방법을 찾게되어 포스팅한다. [설정 방법] ① eclipse -> window -> Preferences ② Java -> editor -> content Assist (위 과정으로 들어가는게 귀찮다면, type filter text 검색란에 content assist를 바로 검색하자) 그리고 큰 사각형 영역의 Auto .. 2022. 7. 23.
[Java] 자바(JDK) 버전 확인 방법 (cmd 명령어) 출처 - https://coding-factory.tistory.com/822 자바(Java) 언어로 하나의 프로젝트를 다수의 인원이 협업을 해야하는 상황이라면 Java jdk 버전을 맞춰주시는 것이 좋습니다. 개발자마다 jdk버전이 다르면 컴파일 과정에서 .class파일을 다르게 생성할 수 있고 이로 인해 같은 소스코드라도 동작이 상이할 수 있기 때문입니다. 자바의 버전을 맞추기 위해서는 먼저 내 PC에 설치되어 있는 자바의 버전을 아는 것이 첫 번째 순서입니다. 이번 포스팅에서는 내 PC에 설치되어있는 자바 버전을 확인하는 방법에 대해 알아보도록 하겠습니다. 윈도우에서 자바 버전 확인 방법 (간단한 cmd 명령어) 1. 윈도우 검색창에서 cmd를 입력 후 명령 프롬프트를 실행합니다. 2. 명령 프롬프.. 2022. 7. 19.
[Java] Java EE에서 Jakarta EE로의 전환 출처 - https://s-core.co.kr/insight/view/java-ee%EC%97%90%EC%84%9C-jakarta-ee%EB%A1%9C%EC%9D%98-%EC%A0%84%ED%99%98/ 자바 기술자라면 Java EE(Java Platform, Enterprise Edition) 또는 J2EE(Java 2 Platform, Enterprise Edition)를 들어봤을 것이다. 자바를 이용한 서버 개발 플랫폼으로 한 때 엔터프라이즈 자바 기술을 선도하며 막강한 영향력을 발휘했지만 기술 변화와 시장 요구에 제때 대응하지 못하면서 현재는 명맥만 유지하는 암울한 상황에 처해있다. 그럼에도 불구하고 자바EE는 가장 성공적인 상업용 표준 플랫폼의 하나이며 대부분의 웹 애플리케이션 서비스를 위한 미.. 2022. 7. 15.
[Tomcat]톰캣 서버 충돌 / 포트 충돌 해결하기 출처 - https://mjn5027.tistory.com/15 톰캣(TomCat) 서버를 비정상적으로 종료한다던지, 다른 포트를 동시에 열었다던지 등의 이유로 가끔 [ 'Starting Tomcat v8.5 Server at localhost' has encountered a problem. Serveral port..... ] 에러가 뜰 때가 있다. 이는 서버가 충돌나면서 뜨는 에러이니 아래의 과정을 따라해주면 해결이 된다. 1. 서버를 켰더니 아래와 같은 에러가 떴네요. 포트(서버)가 충돌났다고 합니다. 2. 이클립스 하단에 있는 Servers 탭의 충돌이 난 해당 톰캣 서버를 더블클릭합니다. 3. Ports 부분을 보면 이 톰캣 서버의 해당 Port Number를 알 수 있다. 이 Port Num.. 2022. 7. 14.
[Tomcat] The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports. 출처 - https://shinye0213.tistory.com/85 위 설정의 HTTP 포트와 서버에 설정된 포트가 동일해야한다. 위 이미지의 좌측상단의 server.xml 을 연다 xml로 열리면 개인적으로 불편해서 위와 같이 text editor 로 열자 위와 같이 server.xml 의 포트번호가 설정파일과 동일해야 한다. 만약 다르다면 동일하게 변경해주고 저장해주면 정상실행된다. 2022. 7. 14.
[Tomcat]Tomcat 서버 설정파일(server.xml) 출처 - https://blog.naver.com/baenamky/50033881799 ■ server.xml에 의한 Tomcat의 기본 설정 $CATALINA_HOME/conf/server.xml은 Tomcat의 메인 설정 파일로 Tomcat 기동시에 참조 된다. $CATALINA_HOME/conf/ 디렉토리에는 디폴트 server.xml 이외에 최소한의 설정만으로 구성된 server-minimal.xml이 준비되어 있다. 새로 서버를 설정하고자 할 경우에는 server-minimal,xml의 이름을 변경하여 사용하면 편리하다. ■ server.xml의 구조 Tomcat은 몇개의 구성요소로 이루어져 있으며, server.xml에서는 XML의 요소를 통해 구성요소를 정의하고 있다. server.xml의 .. 2022. 7. 13.
[Tomcat]톰캣 실행시 로그 한글깨짐현상 톰캣을 구동하다보면 심심치않게 마주하는 현상. Windows Console의 기본 인코딩과 Tomcat이 출력하는 인코딩이 서로 달라서 생긴다 이러한 현상이 일어나는 이유는 아래와 같은데, Windows Console: Windows OS 설정 언어의 기본 인코딩 (한국어는 EUC-KR) Tomcat Console: 설정파일의 인코딩 (기본 UTF-8) Tomcat Console의 인코딩을 변경한다. %TOMCAT_HOME%\conf\logging.properties을 연다. java.util.logging.ConsoleHandler.encoding의 값을 EUC-KR로 변경한다. 별다른 설정이 없었다면, UTF-8이 기본으로 설정되어 있다. 앞으로 실행되는 Tomcat은 해당 인코딩이 적용된다. Tom.. 2022. 7. 13.
[Tomcat] 프로젝트 실행중 오류_사이트에 연결할 수 없음 출처 - https://taeying.tistory.com/20 어제는 잘 쓰고 있는 톰캣을 7.0에서 9.0으로 바꾸고 싶은 월요일이였다. 생각없이 7.0을 삭제하고 9.0을 돌렸더니 잘 연결되던 사이트가 연결이 되지 않았다. 구글링을 해보니 1. 톰캣 프로젝트 확인 2. tomcat >> web modules 확인 3. tomcat >> properties >> General >> switch Location확인 4. server.xml >> port 번호 확인 5. server.xml >> host 확인 6. 프로젝트 application.properties 확인 다양한 방안들이 검색이 된다. 하지만 사이트는 연결이 계속해서 연결이 안되었고... 사수님께 도움을 요청했다... 해결방안은 간단했다. .. 2022. 7. 13.
[Eclipse] 이클립스에서 선택한 파일, 폴더위치에 탐색기 바로 열기 출처 - https://m.blog.naver.com/passith/220012979533 이클립스에서 작업하고 있는 파일 또는 탐색기에서 선택한 파일,폴더 위치를 탐색기에서 열 수 있게 할 수 있습니다. 파일, 폴더를 선택후 아래의 아이콘을 선택하면 해당 위치의 탐색기가 열리게 됩니다. 사용할 수 있게 하는 방법은 아래와 같습니다. 1. 아래의 아이콘을 클릭 -> External Tools Configurations... 클릭 2. Program 더블 클릭 3. Name : 사용하고 싶은 이름을 Location : ${env_var:SystemRoot}\explorer.exe Arguments : /select,${resource_loc} 위의 사항 적은후 Apply 하면 완료. 2018. 11. 6.
[Java] Java설치 및 환경변수 설정 (JDK 설치 방법) 출처 - http://limkydev.tistory.com/61 이번에 새로 노트북을 사면서 자바를 다시 깔아야 할 일이 생겼다. 이왕 다시 자바를 까는겸 어떻게 까는지 스크랩하겠다. Java JDK 설치 우선 나는 이클립스로 JSP를 바탕으로 웹을 개발해야한다. Java를 사용하기 위해선 JDK(Java Development Kit)을 설치해야한다. 자바 개발 도구인 JDK를 깔아야 Java라는 언어로 프로그래밍을 할 수 있기 때문이다. 우리는 자바라는 언어를 통해 개발을 하고자 하기 때문에 JRE, JVM이 아닌 JDK를 깔아야한다. 참고로 JRE는 자바언어로 개발된 어떤 SW를 구동시키기 위해 최소한 설치되어야할 것들을 지원하며, JDK는 JRE 이상으로 환경구성 뿐만 아니라 직접 개발까지 가능하게.. 2018. 11. 6.
한글 초성 검색 방법 찌니 | 비밀 http://blog.naver.com/jincyber09/80100554626 1. 초성은 19자로 ㄱ, ㄲ, ㄴ, ㄷ, ㄸ, ㄹ, ㅁ, ㅂ, ㅃ, ㅅ, ㅆ, ㅇ, ㅈ, ㅉ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ 2. 중성은 21자로 ㅏ, ㅐ, ㅑ, ㅒ, ㅓ, ㅔ, ㅕ, ㅖ, ㅗ, ㅘ, ㅙ, ㅚ, ㅛ, ㅜ, ㅝ, ㅞ, ㅟ, ㅠ, ㅡ, ㅢ, ㅣ 3. 종성은 27자로 ㄱ, ㄲ, ㄳ, ㄴ, ㄵ, ㄶ, ㄷ, ㄹ, ㄺ, ㄻ, ㄼ, ㄽ, ㄾ, ㄿ, ㅀ, ㅁ, ㅂ, ㅄ, ㅅ, ㅆ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ 1.중성이 바뀌는 경우 코드값 차이 : 28 2.초성이 바뀌는 경우 코드값 차이 : 588(21*28) 3.한글에 대한 첫 코드값('가'의 코드값): 44032 가 - 44032 까 - 44620 나.. 2012. 9. 13.
java 소켓 채팅 소스 http://blog.naver.com/nobelbox/110020489631 http://blog.naver.com/nobelbox/110020489631 ===== Server 부문 ======================================================== package socket; import java.io.*; import java.net.*; import java.util.*; public class SimpleChatServer { ServerSocket srvsocket = null; Socket consocket = null; int port = 5555; // 접속한 클라이언트 목록을 저장한다. Vector vClients = new Vector(); /*새로.. 2012. 9. 13.
형변환/올림/반올림/버림 Integer.parseInt(문자형변수) 문자형을 숫자형으로.. Integer.toString(숫자형변수) 숫자형을 문자형으로.. 강제 형변환 (int) 변수 (float) 변수 ... ex) int Smith = (int) Mulder; ex) float Mulder = (float) Smith; ... 올림 Math.ceil(변수) 내림 Math.floor(변수) 반올림 Math.round(변수 2012. 9. 13.
객체 직렬화(Serializable) novice | 로비즈 http://blog.naver.com/robiz/110009710978 * 객체직렬화의 개념 자바 I/O 처리는 정수, 문자열, 바이트 단위의 처리만 지원했었다. 따라서 복잡한 객체의 내용을 저장/복원하거나, 네트워크로 전송하기 위해서는 객체의 멤버변수의 각 내용을 일정한 형식으로 만들어(이것을 패킷이라고 한다) 전송해야 했다. 객체직렬화는 객체의 내용(구체적으로는 멤버변수의 내용)을 자바 I/O가 자동적으로 바이트 단위로 변환하여, 저장/복원하거나 네트워크로 전송할 수 있도록 기능을 제공해준다. 즉, 개발자 입장에서는 객체가 아무리 복잡하더라도, 객체직렬화를 이용하면 객체의 내용을 자바 I/O가 자동으로 바이트 단위로 변환하여 저장이나 전송을 해주게 된다. 또한 이것은 자바에서.. 2012. 9. 13.
만년 달력 만들기 정보문화사 : IT 서적의 명가 | 길라잡이 http://blog.naver.com/infopub/100037947192 문제 내용 : 2005년 3월 달력을 출력하자. 학습 내용 : 배열과 메서드를 이용하여 달력을 만든다. 힌트 내용 : 윤년의 횟수를 구한다. 소스 - CalendarIn7.java 01: public class CalendarIn7{ // 섹션 101 CalendarMain 02: private int month[] = new int[]{31,28,31,30,31,30,31,31,30,31,30,31}; // 평년 03: private int lmonth[] = new int[]{31,29,31,30,31,30,31,31,30,31,30,31}; // 윤년 04: public bool.. 2012. 9. 13.