야밤에 잠깐 소스를 봐준다고 팀뷰어로 상대방 개발자분 컴퓨터를 보고있었는데, VS CODE툴을 사용해서 개발중이었다. VS CODE의 open in browser 확장프로그램 기능을 사용중이셨는데... 엉뚱하게 갑자기 해당 확장프로그램이 정상동작을 하지 않는 현상이 발견되었고 옵션을 사용할때마다 계속해서 동일 에러를 출력하였다.
문구는 다음과 같았다.
Vscode Error : Open browser failed!! Please check if you have installed the browser correctly!
여러가지 해결방법도 찾아봤는데 일단 명확한 해결방법을 찾지를 못했고, Stackoverflow 글들을 참고하면서 setting에서 브라우저 지정도 해보고 vscode를 전부 삭제하기전에 설정파일들까지 초기화해서 전부 삭제하고 재설치도 해보고 크롬도 재설치해봤지만, 해결은 되지 않았다.
그러다가 찾은 글이 같은 확장프로그램은 아니지만 버전을 낮춰보니 정상동작한다는 글을 보았고, 적용을 하고 리로드하니 정상동작하는것을 보았다.
안녕하세요!!
학생 한 명이 같은 문제를 겪고 있었는데, stackoverflow에 나오는 걸 이것저것 다 해봤는데도 해결이 되지 않아서 슬퍼하고 있던 참이었어요 ㅎㅎ
내가 한국어로 검색해볼게 잠시만!! 하고서 검색해보던 차에 이 포스팅을 발견하고 학생의 문제를 해결하였습니다 ))
좋은 정보 공유해주셔서 감사합니다!! 복받으세요- ㅎㅎ
~.html 파일에 HTML, CSS, JS등으로 웹 페이지를 열심히 만들고 결과물을 전달해주는 과정에서 스프링프로젝트로 들어가는건지 모르겠지만 html파일을 전부 JSP로 변경해서 넘겨달라는 요청사항이 있었다.
한번 하는거면 문제가 없지만 넘기고 나서도 추가적으로 변경 요청사항이 있었고 그때마다 매번 html을 작업해보고 jsp로 하나하나 수정하는것도 번거로울 뿐더러 include를 통해 내부에 태그까지 심어달라는 둥 여러가지 요구사항이 있어서 구조적으로도 많이 달라지는 상황이었다.
그래서 애초에 jsp에서 다 작업해버리는게 좋다고 판단했고, 주로 사용하던 툴인 VS Code에서 간단하게 JSP를 구동시키고 로컬에서 페이스도 볼 수 있도록 환경 설정을 해보겠다.
spring 프레임워크 boot 설정법은 아니므로 해당 방법이 필요한분들은 다른 포스팅을 찾아보셔야 할 것 같습니다.
혹시 vscode로 jsp를 사용할 때, 양식 자동 완성이라든지 그런 편리한 팁은 없을 까요? 이클립스는 쓰고 싶지 않은데 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 이런 문장들을 일일히 쳐야하는게 불편해서욧 ㅠㅠ
세팅한 작업폴더 위치에 포스팅한 test.jsp 파일을 똑같이 만들어서 저장했습니다.
그리고 비쥬얼스튜디오 코드의 톰캣서버 탭에서 구동을 해도 아무 OUTPUT 이 나오지 않더라고요 브라우저에 직접 http://localhost/test.jsp 을 입력하여도 위에 말씀드린 에러만 뜹니다...
안녕하세요! 404 에러코드는 요청한 내용을 찾을 수 없다는 에러로 요청하신 설정 경로에 test.jsp가 존재하지 않아서 발생하는 에러입니다. 디렉토리에 test.jsp가 정확히 존재하신다면 docBase설정이 잘못되었을 확률이 높아보입니다. 설정시 test.jsp가 존재하는 디렉토리명까지 정확하게 입력하셨는지 재확인하시고 경로 설정이 어렵다면 절대경로로 설정하시는걸 추천드립니다.
[apache-tomcat-10.0.8]: 7월 19, 2021 6:34:14 오후 org.apache.catalina.core.StandardServer await
SEVERE: 주소 [localhost]와(과) 포트 [8005]에, 서버 셧다운 소켓을 생성하지 못했습니다. (base 포트 [8005], offset [0])
java.net.BindException: Address already in use: bind
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Net.java:479)
at java.base/sun.nio.ch.Net.bind(Net.java:468)
at java.base/sun.nio.ch.NioSocketImpl.bind(NioSocketImpl.java:643)
at java.base/java.net.ServerSocket.bind(ServerSocket.java:396)
at java.base/java.net.ServerSocket.<init>(ServerSocket.java:282)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:584)
at org.apache.catalina.startup.Catalina.await(Catalina.java:887)
at org.apache.catalina.startup.Catalina.start(Catalina.java:833)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
[apache-tomcat-10.0.8]: 7월 19, 2021 6:34:14 오후 org.apache.coyote.AbstractProtocol pause
INFO: 프로토콜 핸들러 ["http-nio-80"]을(를) 일시 정지 중
[apache-tomcat-10.0.8]: 7월 19, 2021 6:34:14 오후 org.apache.catalina.core.StandardService stopInternal
INFO: 서비스 [Catalina]을(를) 중지시킵니다.
[apache-tomcat-10.0.8]: WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.catalina.loader.WebappClassLoaderBase (file:/C:/apache-tomcat-10.0.8-windows-x64/apache-tomcat-10.0.8/lib/catalina.jar) to field java.io.ObjectStreamClass$Caches.localDescs
WARNING: Please consider reporting this to the maintainers of org.apache.catalina.loader.WebappClassLoaderBase
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[apache-tomcat-10.0.8]: 7월 19, 2021 6:34:14 오후 org.apache.coyote.AbstractProtocol stop
INFO: 프로토콜 핸들러 ["http-nio-80"]을(를) 중지시킵니다.
[apache-tomcat-10.0.8]: 7월 19, 2021 6:34:14 오후 org.apache.coyote.AbstractProtocol destroy
INFO: 프로토콜 핸들러 ["http-nio-80"]을(를) 소멸시킵니다.
간단한 HTML, CSS, JAVASCRIPT의 작업을 할 때, 주로 아톰을 사용하다가 리액트 공부를 하면서 VS Code를 알게 되었습니다. 뭔가 더 직관적이고 간편한 UI가 마음에 들어서 요즘엔 주로 사용하는 툴입니다. 아톰의 추가 패키지 설치처럼 VS Code에도 추가 확장 프로그램을 설치 할 수 있습니다.
설치방법
좌측 메뉴 중 최하단의 Extensions 메뉴를 클릭하고 찾고자 하는 확장 프로그램을 검색해서 설치하면 됩니다.
단축키 Ctrl + Shift + X
확장 프로그램 추천
사용하면서 편리한 확장 프로그램을 알게 되면 계속해서 추가하겠습니다.
1. ESLint : 자바스크립트 문법 및 코드 스타일을 검사해줍니다.
2. open in browser : html 같은 페이지를 바로 브라우저창에서 키고 싶을 때, 브라우저 연결을 도와줍니다.
3. Prettier-Code formatter : 코드 스타일을 자동으로 정리해줍니다.
4. HTMLHint : 작성한 HTML 문법에 문제가 있는지 체크해줍니다.
태그가 안닫히거나 올바른 문법이 아니면 경고를 띄워줍니다.
5. Reactjs Code Snippets: 리액트를 사용하는분들에게 추천합니다.
함수를 작성하거나 단축 단어를 사용하여 간편하게 코드를 작성할 수 있습니다.
6. Korean Language Pack for Visual Studio Code: VS Code를 처음에 설치하시면 영문버전인데 툴을 한글버전으로 사용하고 싶은분들에게 추천합니다. 설치 후 별도의 설정이 필요합니다. 저는 영문버전으로 사용중입니다.