본문 바로가기

[ Web ]76

[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.
jquery get 변수 받는법 function getRequest() { if(location.search.length > 1) { var get = new Object(); var datas = location.search.substr(1).split('&'); for(var i = 0; i < datas.length; i++) { var r = datas[i].split('='); get[r[0]] = r[1]; } return get; }else{ return false; } } var get = getRequest(); var test = get['test']; 2017. 1. 18.
PHP 파일 업로드 안될 때 출처 - http://shonm.tistory.com/287 나같은 경우 move_uploaded_file 함수가 권한이 없다고 안된다고 오류 사항이 나왔다 어떻게 해야 할까? 1. upload 되는 폴더에 파일이 업로드 되었는지 파악한다 echo "temp:".$_FILES['quali_excel']['tmp_name']." "; 를 해서 값이 나오면 파일이 정상 업로드 된 거다 cho "exists:".file_exists($_FILES['quali_excel']['tmp_name'])." "; 로 확인 할 수도 있다 2. 업로드 되는 폴더와 옮겨질 폴더의 권한을 write 가 되는 권한을 준다 나 같은 경우 그냥 777 로 다 줬다 3. 업로드 될 폴더의 상위 폴더 까지 write 권한이 있어야 한.. 2016. 10. 13.
PHP에서 파일 업로드시 파일명이 중복되었을때의 처리 출처 - http://www.jejusarang.com/?1221669731&PHPSESSID=a5ebd25c3858b9511d8c1ea8c3f68077 *up_process.php 파일 ?123456 $UpFile = $HTTP_POST_FILES["ImageFile"][name]; if($UpFile) // 업로드할 화일이 있는지 확인 { $FileName = GetUniqFileName($UpFile, $SavePath); // 같은 화일 이름이 있는지 검사 move_uploaded_file($HTTP_POST_FILES["ImageFile"][tmp_name],"$SavePath$FileName"); // 화일을 업로드 위치에 저장 } *GetUniqFileName 함수 ?1234567891011.. 2016. 10. 13.
JavaScript 강좌 | Library > imagesLoaded - 이미지가 로드되었음을 감지하는 라이브러리 출처 - http://www.cmsfactory.net/node/11093 imagesLoaded는 문서 안에 또는 특정 요소 안에 있는 이미지가 모두 로딩되었는지 감지하는 자바스크립트 라이브러리입니다. 이미지가 로딩되기 전에, 로딩 중에 있을 대, 로딩된 후에 어떤 작업을 하고 싶을 때 유용합니다. jQuery도 지원하고 있어서 쉽게 요소를 선택하고 코딩할 수 있습니다. Homepage : http://imagesloaded.desandro.com/ GitHub : https://github.com/desandro/imagesloaded 적용 방법 다음의 링크에서 파일을 다운로드 받습니다. https://github.com/desandro/imagesloaded/releases 예제를 포함하여 여러 파.. 2016. 5. 9.
html5 브라우저 정중앙에 정렬하기 가나다 2016. 3. 28.
DIV 관련내용 정리 왼쪽 오른쪽 다음줄제목 다음줄내용 부모왼쪽모서리기준 100,100 이동된 레이어 위예제에서 확인할수 있는 내용 기준으로 정리한다. child1 과 child2 레이어의 경우 float 을 주면 parent 레이어에서 자식영역을 인식하지 못하게 된다. float 속성을 주면 부유 속성(포토샵에서 새 레이어 를 생각하면됨 = 종이위에 투명셀로판지를 올린것처럼 공중에 떠있음) 으로 바뀌기 때문이다. 그런데 부모레이어 (parent) 에서 에서 overflow 를 auto 로 설정해주면 자식 영역을 모두인식하게 된다. overflow 옵션은 부유영역을 모두 포함해서 처리하는 옵션이기 때문이다. 그리고 div 에 높이를 주고싶은경우 child1 이나 child2에 있는 스타일처럼 min-height 옵션을 주면 .. 2015. 12. 1.
MVC에서 JSON 길이에러날때 출처 - http://brianreiter.org/2011/01/03/custom-jsonresult-class-for-asp-net-mvc-to-avoid-maxjsonlength-exceeded-exception/ LargeJsonResult ActionResult class 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051using System; using System.Web.Script.Serialization; namespace System.Web.Mvc { public class LargeJsonResult : JsonResult { const string JsonRequest.. 2015. 6. 11.
자바스크립 팝업창 묻지않고 닫기 출처 - http://uisbt.tistory.com/290#comment11003686 참조 : http://blogdoc.nate.com/465881 팝업창 묻지않고 닫기 제목을 정하기가 좀 나쁘네요 ^^;; Internet Explorer 7.0에서는 전체 창으로 새창을 띄웠을 때 창을 닫을까요 하고 물어 봅니다. 이 물음 없이 닫는 스크립트 입니다. window.close(); 또는 self.close(); 대신에 window.open('about:blank','_self').self.close(); 이렇게 쓰시면 됩니다. 2015. 1. 29.
ASP.NET Web.config에서 세션상태 설정 방법 출처 - http://blog.naver.com/angeldia/90007183894 ASP.NET에서는 세션 데이터가 저장되는 곳을 외부 서버로 지정할 수 있다. 세션 상태를 외부에 저장하면 세션 상태를 저장하는 메모리가 ASP.NET 프로세스 내에 존재하지 않으므로 장애로 인해 웹애플리케이션이 재가동 되더라도 복구가 가능하다. 또한 데이터가 차지하는 메모리에 대한 부담을 덜 수 있고 웹애플리케이션의 안정성이 향상된다. Web.config 에서 세션상태 관리를 설정하는 섹션은 내의 이다. 의 속성 Attribute Description mode 상태를 저장할 위치를 지정한다. InProc : 세션 상태가 로컬에 저장된다. StateServer : 세션 상태가 원격 서버에 저장된다. SQLServer :.. 2013. 2. 18.
viewstate MAC에 대한 유효성 검사가 실패했습니다. 예외 출처 - http://blog.daum.net/powersoccer/12102483 설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오. 예외 정보: System.Web.HttpException: viewstate MAC에 대한 유효성 검사가 실패했습니다. 웹 팜 또는 클러스터에서 이 응용 프로그램을 호스팅하는 경우에는 구성에 동일한 validationKey와 유효성 검사 알고리즘을 지정해야 합니다. 클러스터에서는 AutoGenerate를 사용할 수 없습니다. 간혹 ASP.NET을 서비스 할 때 이런 에러가 발생한다. 이유는 L4스위치나 NLB로 웹서버 웹팜 구성시 사용자가 웹서버들을.. 2013. 2. 18.
[ASP.NET] 자바스크립트 confirm의 리턴값을 받아올 때 출처 : http://blog.naver.com/knbaram?Redirect=Log&logNo=150020190926 어떤 자료를 삭제하고자 합니다.그래서 이 자료를 조회 후 삭제버튼을 눌러서 삭제를 시킵니다.삭제를 시키기 전에 confirm창을 이용하여 삭제할 것이냐고 묻고 확인 버튼을 누르면 삭제,취소 버튼을 누르면 아무 작업도 하지않는 루틴입니다.근데 이게 말처럼 쉽게 되지 않아서 input태그를 이용해서 처리 했습니다.ajax로 처리를 할까 했는데 confirm창이 더 직관적이라서 아래와 같이 처리를 했습니다. ※ aspx 페이지에 input태그를 아래와 같이 만듭니다. ※ 그리고 confirm 내용을 포함할 자바스크립트를 하나 만듭니다. input태그에 값을 대입합니다.function fCon.. 2013. 1. 28.
Page_Load 이벤트의 동작원리 출처 - http://www.cyworld.com/colds1004/6715422 Page_Load 이벤트의 동작원리 vs2003에서는 Page_Load(object sender, EventArgs e) 이벤트의 동작원리가 비하인드(.cs) 코드에 보여지는데vs2008에서는 찾을수가 없습니다.(사용자의 편리성을 위해 안보이는 부분으로 이동된 듯합니다.) vs2003 솔루션 파일을 vs2008에서 작업하다보니 Page_Load이벤트가 실행이 안되더군요.웹페이지 생성하면 당연히 생기는 메서드, 이벤트여서 동작원리는 알지 못하였는데 이번에 다시 보는 좋은 기회가 되었어요. ※ OnInit 메서드에 override하여 Load 이벤트에 Page_Load 이벤트를 추가한다 1. Page 이벤트 중의 하나인 OnI.. 2013. 1. 25.
ASP.NET 오류 ASP.NET 오류 : 'targetFramework' 특성을 인식할 수 없습니다. 특성 이름은 대/소문자를 구분합니다 위와같은 오류가 날때는 대상이되는 사이트의 응용프로그램풀 버전이 다른버전으로 되있어서 실행되지않는것. 아래와같이 응용프로그램 풀을 확인해볼것 현재 FrameWork 버전이 2.0 으로 되어있다. 하지만 첫번째 실행한 사이트는 FrameWork4.0 으로 만들어 진것이라서 저런오류가 났다. 2.0 버전으로 만들던지 아니면 서버의 사이트 풀을 4.0 으로 바꿔주자~ 2013. 1. 21.
[ASP.NET/C#] Viewstate MAC에 대한 유효성 검사가 실패했습니다. 출처 - http://mrbongdal.tistory.com/19A라는 페이지의 form의 내용을 post방식으로 B라는 페이지에 submit시킬경우 라던지웹팜 구조에서 포스트백이 일어날때 원본 viewstate를 다른서버에서 해석하지 못해서 발생하는 오류입니다.포스트백동안 ViewState값은 특정한 키를 사용하여 암호화 -> 해독 과정을 거치게 되는데 이때 사용하는 키 값이 서로 다르게 설정되어있을경우 이러한 오류가 발생하게 됩니다.이를 해결하기위해서는 해당 내용을 넘겨받을 페이지의 페이지 선언문 또는 web.config 파일을 열어서 페이지 선언부에enableViewStateMac = "false" 로 해주시거나 모든 웹서버의 validationKey값을 동일하게 설정해야합니다.※ validatio.. 2013. 1. 18.