Programming 117

Eclipse java 코드 변경시 톰캣 자동 재시작 방지

서버를 켜둔채로 Code를 작성하다 보면 자꾸 서버가 재시작 되어서 불편합니다. 그렇다고 서버를 끄고 작업하자니, 가벼운 jsp 파일 변경도 확인하려면 서버를 새로 켜줘야 하는 불편함이 있습니다. 그래서 서버는 계속 켜 두고, 필요할때만 서버를 재 시작 하기 위해 자동 재시작을 막아두려고 합니다. 이클립스의 Servers 탭에서 해당 서버를 더블클릭 해줍니다. 그러면 서버 설정 창이 나오는데요, Modules auto reload by default 가 체크가 되어있는데, 체크를 없애야 합니다. 그 후에 하단에 Modules를 클릭합니다. 수정할 Project 를 선택 하고 Edit 버튼을 누릅니다. Auto reloading enabled 를 비활성화 시킨 후 OK 를 누릅니다. 수정을 했으면 윈도우면..

Mybatis 에서 multiple select key 사용하기. Could not set property , Error selecting key or setting result to parameter object 에러 해결하기. 마이바티스

Mybatis 에서 multiple select key 사용하기. Could not set property , Error selecting key or setting result to parameter object 에러 해결하기 Mybatis의 Select key 를 쓰다 보면 한번에 여러개의 값을 select 해와야 할 때가 있습니다. 저의 경우에는 issue 라는 테이블에 저장되는 넘버 값이 1. 전체 프로젝트에서 해당 issue 의 넘버 2. 해당 issue 가 속한 프로젝트에서의 해당 issue 넘버 이렇게 두개의 넘버 값이 저장 됩니다. 테이블 구조는 아래와 같습니다. 그러다 보니 select key 에서 issue_sid, issue_no 값을 받아오고 난 후에 insert 를 해야 하는데요,..

TOAST UI Editor 사용법 ( 마크다운 에디터 Markdown Editor)

TOAST UI Editor 사용법 ( 마크다운 에디터 Markdown Editor) cdns에 2.0.0 버전 지원이 끊겼고, 사용법도 조금 달라져 2021년 7월 23일에 최신 버전 기준으로 글을 업데이트 했습니다! https://ui.toast.com/ TOAST UI :: Make Your Web Delicious! | TOAST UI :: Make Your Web Delicious! Calendar provides monthly, weekly, multi-weekly, daily views, and more, as well as a basic pop-up UI you can use to add/edit/delete your schedules. You can manage your schedule ..

<!DOCTYPE html> 에 Uncaught SyntaxError: Unexpected token '<' 뜰때 해결하기

Controller에서 일정 패턴으로 URL을 맵핑 시키고 있었습니다. PathVariable을 적극적으로 이용해서 심플한 url 패턴을 만들어보자! 해서 localhost/project이름/로그인사용자닉네임/사용모듈 ... 으로 depth 구조를 만들어서 Controller에서도 정규식을 이용해 맵핑을 시키고 있었는데요. 기여코 이 에러를 또 다시 마주하고야 말았습니다. 결론부터 말씀드리자면, .css 나 .js 같은 파일들 마저 Controller 가 잡아서 제멋대로 html 데이터로 응답을 하다 보니 해당 에러가 발생 한 것 입니다. 이걸 힌트로 해결 할 수 있는 분들은 해결 하시면 되고, 저와 같은 문제인 분들은 아래 이어질 해결 방법을 따라가시면 됩니다. servlet-context.xml에 m..

JavaScript 드래그 할 수 있는 HTML 요소 만들기

종종 HTML 요소의 드래그가 필요한 때가 있습니다. 드래그를 통해 상태값을 변경하거나, 간단하게 설정을 적용시킬 수 있을때 특히 유용합니다. 저희가 준비중인 프로젝트에서는 칸반 보드가 들어갈 예정인데 이를 위해 꼭 필요한 기술입니다. 일단 칸반 카드로 쓸 div를 만들어 줬습니다. .kanbanCard { cursor: move; position: absolute; background-color: #2196F3; color : white; border: 1px solid #d3d3d3; text-align: center; } cursor:move로 마우스를 올렸을때 십자표시로 커서가 바뀌도록 css를 적용해줍니다. 이제 위의 자바스크립트 코드가 필요합니다. 코드 전문을 먼저 보여드리고 나서, 함수를 한..

Spring Junit 테스트시 Caused by: java.io.FileNotFoundException: ServletContext resource [/WEB-INF/tiles/tiles.xml] cannot be resolved to URL because it does not exist 오류 해결

java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ~[spring-test-4.3.25.RELEASE.jar:4.3.25.RELEASE] at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83) ~[spring-test-4.3.25.RELEAS..

JDBC 와 MYSQL 연동하기 9) Semantic UI 적용해보기 (BootStrap 대안)

최종 프로젝트를 할때 모든 팀이 BootStrap을 이용할 것 으로 보여 너무 획일화 된 디자인의 웹 사이트들이 나오지 않을까 싶어 다른 대안들을 몇개 찾아보았습니다. 그러던중 Semantic UI가 요즘 트렌드에도 맞아 보이고 BootStrap과 기능이나 사용상의 차이는 그닥 커보이지 않아서 Semantic UI를 써보려고 합니다. semantic-ui.com/introduction/getting-started.html Getting Started | Semantic UI semantic-ui.com 위의 사이트에서 다운받습니다. 본인의 취향에 맞게 바꿔가면서 쓰려면 Building Tool을 설치해서 한다는데, 아직 기본적인 것도 사용해 보지 않았으니, 일단 기본적인 Default Theme 을 써보..

JDBC 와 MYSQL 연동하기 8) log4jdbc 적용하기

기존에 oracle에서 쓰던 설정을 그대로 가져왔더니 log4 설정이 제대로 먹히지 않았습니다. 그래서 몇가지 수정이 필요했습니다. 1. pom.xml 에 dependency 추가 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 위의 log4jdbc를 사용합니다. 2. 데이터베이스 접속 정보 수정 #driverClassName=com.mysql.cj.jdbc.Driver driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy #url=jdbc:mysql://localhost:3306/jsp url=jdbc:log4jdbc:mysql://localhost:3306/jsp 위의 주석 처리된 부분들이 각각 log4jdbc 적..

JDBC 와 MYSQL 연동하기 7) MyBatis 적용하기

Mybatis란? Mybatis는 Java Persistence Framework 입니다. SQL 문장을 XML 혹은 어노테이션을 이용해 Object에 저장하도록 해줍니다. ORM ( Object Relational Mapping) 혹은 Sql Mapper Framework 로 불립니다. Transaction 도 관리해주며, class loader 형태로 접근(절대경로)합니다. Ibatis가 발전해 MyBatis가 되었는데요, Apache Project 팀에서 google code 팀으로 이동하며 명칭이 변경되었습니다. MyBatis와 Ibatis는 몇가지 차이점이 있습니다. - IBatis는 JDK 1.4 에서 사용이 가능합니다. MyBatis로 넘어오며 요구사항이 JDK 1.5 이상으로 바뀌었습니다...

JDBC 와 MYSQL 연동하기 6) MVC 패턴 적용하기

1. 필요한 VO(Value Object) 객체를 제일 먼저 만들어 줬습니다. package kr.or.ddit.vo; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @Data @EqualsAndHashCode(of="al_id") @ToString public class AlbaVO { private String al_id; private String al_name; private Integer al_age; private String al_zip; private String al_addr1; private String al_addr2; private String al_hp; private String gr_co..

JDBC 와 MYSQL 연동하기 5) FrontController 패턴 적용하기

@Controller 와 @RequestMapping 어노테이션을 이용한 FrontController 패턴을 적용해 보았습니다. 1. 적용하기 앞서 FrontController 패키지가 준비 되어 있어야 합니다. github.com/Shane-Park/jspClass/tree/master/alba/alba/src/main/java/kr/or/ddit/mvc Shane-Park/jspClass jsp class tomcat . Contribute to Shane-Park/jspClass development by creating an account on GitHub. github.com 위의 링크에서 해당 패키지 코드들을 다운받을 수 있습니다. 2. web.xml에 해당 컨트롤러를 등록해주어야 합니다. F..

JDBC 와 MYSQL 연동하기 4) 서블릿으로 출력하기

이번에는 서블릿을 만들어서 MYSQL에서 읽어온 데이터를 브라우저에서 출력해보도록 하겠습니다. shanepark.tistory.com/78 JDBC 와 MYSQL 연동하기 3) 커넥션 팩토리 패턴 적용하기 이제부터는 2) 번에서 했던 코드를 커넥션을 팩토리 패턴을 이용해 받아오도록 해보겠습니다. 코드는 거의 동일한데 커넥션을 받아온다는 것만 다릅니다. 제일 먼저 Resource 소스 폴더에 dbinfo.prop shanepark.tistory.com 위의 3번 예제의 코드를 서블릿으로 만들었습니다. 어노테이션(@WebServlet)을 통한 맵핑은 Servlet 3.0 이후부터 가능합니다. 출력할 내용에 한글이 포함되어 있다면, charset을 설정해주지 않으면 한글이 깨져서 나옵니다. 그외 전체 코드는 ..

JDBC 와 MYSQL 연동하기 3) 커넥션 팩토리 패턴 적용하기

이제부터는 2) 번에서 했던 코드를 커넥션을 팩토리 패턴을 이용해 받아오도록 해보겠습니다. 코드는 거의 동일한데 커넥션을 받아온다는 것만 다릅니다. 제일 먼저 Resource 소스 폴더에 dbinfo.properties 파일을 생성합니다. driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/본인DB이름 user=아이디 password=비밀번호 initialSize=2 maxTotal=2 maxWait=2000 connectionMessage=connected! 이어 적당한 위치에 ConnectionFactory 만들어주는 코드도 생성합니다. package kr.or.ddit.utils.db; import java.sql.Con..