전체 글 61

[jsp] alert 창을 띄운 뒤 다음 페이지로 넘어가기

BookManagement 프로젝트에서 도서를 추가하면 성공적으로 도서를 추가했다는 alert 창을 띄운 뒤, book list 페이지로 넘어가도록 만들고 싶었지만 쉽지 않았다. 결론적으로 말하자면 Response.Write() 안에 "); Response.Write(""); 아래는 내가 다양하게 시도했던 방법들이다. 여러 가지 방법을 시도해보았는데, 첫 번째로는 jsp 페이지 하단에 두번째 방법은 다음과 같다. 그런데 이 방법을 사용했더니 alert 창은 떴지만, 그 다음 페이지인 viewbooks.jsp로 넘어가지 않았다. 그러면 자바 스크립트 코드 말고 response.sendRedirect 을 쓰면 안되는지 의문이 들 수 있는데, 이걸 써버리면 이 코드 위에 alert 창을 띄우는 자바 스크립트 ..

[jsp] 웹 페이지를 새로고침 할 때마다 변수 값 초기화시키기

테이블을 이용하여 각 행마다 번호를 매기는데, 문제는 다음과 같이 코드를 작성했더니 페이지를 로딩할 때마다 1부터 테이블이 시작되어야 하는데, 새로고침할 때마다 값이 증가했다. no++ ${b.getTitle()} ${b.getAuthor()} ${b.getComment()} ${b.getRegdate()} Edit Delete 이런 경우에는 변수를 선언하는 것이 아니라 태그의 varStatus 속성을 사용해야 의도한대로 번호를 증가시킬 수 있다. ${status.count} ${b.getTitle()} ${b.getAuthor()} ${b.getComment()} ${b.getRegdate()} Edit Delete varStatus를 이용하여 변수를 선언한 다음, 변수이름.count 를 이용하여 번호..

[CSS] 가로 중앙 정렬

BookMangement 프로젝트를 만드는 과정에서 메인 페이지의 버튼을 가운데로 정렬하고 싶어서 찾은 정보이다. 인라인 요소는 text-align 속성을 이용해서 가운데 정렬이 가능하지만, 블럭 요소들은 중앙 정렬되지 않는다. 중앙 정렬을 하기 위한 여러 가지 방법이 있는데, 이 글에서는 고정 폭의 블럭 요소 중앙 정렬 하는 방법을 쓸 예정이다. .button { display: inline-block; text-align: center; width: 48%; height: 100px; margin: 0 auto; } auto 값은 element 안의 여백이 왼쪽 margin과 오른쪽 margin 사이에 대등하게 나눠짐을 의미한다. 이외에 가변 폭 콘텐츠의 중앙정렬, position이 absolute일..

카테고리 없음 2021.01.28

[500 에러] The server encountered an internal error () that prevented it from fulfilling this request. (taglib 오류)

Spring CRUD 프로젝트를 만들어보는데, 에러가 하도 많이 떠서 이젠 이 에러가 왜 발생했는지 잘 기억이 나지 않는다.. 아마 아래의 form 태그를 사용했는데 서버가 이 태그의 uri를 찾지 못하면서 발생한 에러인 것 같다. 어쨌거나 제목과 같은 에러 메세지와 함께 500 에러가 떴다면, 아래의 링크를 참고하여 해결하면 된다. 참고로 아래의 링크는 pom.xml에 dependency를 추가했는데, 만약 이 WEB-INF/lib 상에 spring-webmvc-*.jar 파일이 존재한다면 이 파일이 저장되어 있는 폴더로 가서 jar 파일을 복사한 다음에 Tomcat이 설치된 폴더의 lib 폴더로 가서 복사한 파일을 붙여넣기 해주면 된다. 보통, Tomcat lib 폴더는 C->Program Files..

[500 에러] Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/converter/json/MappingJackson2HttpMessageConverter

Spring으로 CRUD 프로젝트를 만드는데, 분명히 소스 파일을 복붙했는데도!! 500 에러가 떴다. 한참을 찾아보다가 spring framework와 spring-jdbc의 버전이 호환이 안돼서 그렇다는 것을 알아냈다. 원래 내가 Spring에서 쓰고 있는 버전은 3.1.1인데 붙여넣기한 소스의 jdbc의 버전은 5.1.1.이었다. 그래서 이 둘의 버전을 맞춰주었다. 먼저, 프로젝트 내에 있는 pom.xml을 열어준다. 여러 번 시도해봤는데 두 버전이 조금이라도 다르면 에러가 발생하는 것 같다. 이렇게 두 버전을 똑같이 맞춰주면 500 에러가 사라진다.

[controller] 파일이 실행되지 않는 경우

Spring으로 프로젝트를 만들었는데 패키지에도 파일에도 아무 문제가 없지만 파일이 실행되지 않는 경우가 있다. 파일 내에 에러가 있을 수도 있지만, 잘못된 패키지를 찾아가서 파일이 실행되지 않을 수도 있기 때문에 이런 경우에는 먼저 controller의 패키지 이름을 확인한다. 그 다음 프로젝트 하위의 src->main->webapp->WEB-INF->spring->appServlet 폴더에 있는 servlet-context.xml 파일을 열어서 하단에 있는 와 controller의 패키지의 이름과 일치하는지 확인한다. 만약 다를 경우 servlet-context.xml 파일의 패키지 이름을 바꿔주면 정상적으로 파일이 실행된다.

[500 에러] 절대 URI인 [http://java.sun.com/jsp/jstl/core]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다.

처음 Spring 프로젝트를 생성하고 어떠한 파일에도 손을 대지 않았는데 에러가 발생했다. 그 이유를 찾아보니 라이브러리에 jstl이 없어서 발생하는 문제라 jstl을 다운 받으라고 하는데, 라이브러리를 찾아보니 jstl.jar 파일이 있었다. 만약 jstl.jar 파일이 라이브러리에 있다면 이 파일을 복사하여 Tomcat이 설치된 폴더의 lib 폴더로 가서 복사한 파일을 붙여넣기 해주면 해결된다. 보통, Tomcat lib 폴더는 C->Program Files->Apache Software Foundation->Tomcat 9.0->lib 경로를 통해 찾을 수 있다.

[Heroku] 서버에 프로젝트 업로드하기

완성한 프로젝트를 localhost에서 실행시켰을 때, 어떠한 에러도 발생하지 않았다면 이것을 heroku 서버에 올리면 된다. heroku는 총 다섯개의 앱을 만들 수 있으며, 이번엔 wintercamp2021이라는 앱을 만들어 이곳에 프로젝트를 저장할 예정이다. 1. 먼저, STS에서 프로젝트를 우클릭하여 Run as->Maven install을 클릭한다. 2. 그 후 console 창에 Build Success가 뜬다면 프로젝트 하위 폴더 중 target 폴더에 .war 파일이 생성된다. 만약 Build Failure가 뜬다면 아래의 링크를 참고하면 된다. https://gaga.tistory.com/33 3. cmd를 켜서 프로젝트가 저장된 디렉토리로 이동한다. 4. 'heroku login'을 ..

[서버 run] The specified JRE installation does not exist 에러

갑자기 sts에서 run을 눌렀더니 다음과 같은 에러가 발생하면서 전혀 실행이 되지 않았다. The specified JRE installation does not exist 이런 경우에는 sts 메뉴 상단의 Window->Preferences->Server->Runtime Environment에 들어가서 현재 하고 있는 톰캣 버전을 클릭하여 Edit 버튼을 누른다. 그러면 JRE에 default JRE로 설정되어 있는 것을 볼 수 있는데, 이것을 자신이 설정한 JRE name을 클릭해주면 해결된다.

[Java Resources 에러] 엑스 표시

자바의 버전을 1.8로 바꿔준 이후로 Java Resources에 빨간 엑스가 떠있는 것을 발견했는데, 이것은 Window->Preference에서 설정해준 자바의 버전과 프로젝트 자바의 버전이 일치하지 않아서 발생하는 문제이다. 이를 해결하기 위해, 먼저 프로젝트를 우클릭하여 Properties를 클릭한다. Project Facets에 들어가서 Java의 버전을 자신이 설정한 자바의 버전과 맞춰주면 해결!