Search

반응형

'Software'에 해당되는 글 187건

  1. 2023.09.24 [JSP]실행하면 저장이 되는 jsp파일/ 해결법 중 하나 발견. 1
  2. 2023.07.30 [React 리액트] 리액트 개발환경 설치하는 방법. VSCode에서...
반응형

구독하면 필요한 정보를 받을 수 있어요!

안녕하세요 신기한 연구소입니다.

 

1. 증상

최근 개발하다가 이상한 현상을 발견했습니다. 제목처럼 jsp파일을 브라우저에서 다음과 같이 호출했는데 jsp파일이 저장되는 상황이 발생했습니다.



http://localhost:8080/test.jsp

 

<%
	out.print("Hello!");
%>

 

이렇게 test.jsp를 생성하고 서버 Start 후 실행을 하면 브라우저에 "Hello!"가 보여야 하는데 test.jsp 파일이 다운로드가 됩니다. 그래서 구글링, 네이버 등 검색을 해서 다양한 해결 방법을 찾아봤습니다.

 

2. 시도한 방법들

파일명에 "-"를 제거해서 해결한 경우도 있고

빌드에서 설정을 바꿔서 해결한 경우도 있고

tomcat-embed-jasper와 tomcat의 두 버전이 일치하면 해결된다고 하고

Implementation의 오타를 찾아서 해결한 경우도 있고

서버를 재시작해서 성공한 경우도 있고

<@page contentType...%> 설정을 최상단으로 이동해서 해결된 경우도 있었답니다.

하지만 이 모든 것을 해봐도 계속 jsp 파일이 실행이 안되고 다운로드가 되더군요.

 

3. 특이한 점

우연히 다운로드 한 jsp 파일을 열어봤습니다. 그런데 jsp 파일이 실행이 되어있더군요.

무슨 말이냐면 jsp 파일이 다운로드가 되긴 했지만 실행한 결과가 기록되어 있었습니다.

실행이 안되고 다운로드가 된 test.jsp 파일을 열어보니 코딩된 소스가 있는 것이 아니고 실행 결과인 Hello! 가 타이핑되어 있었습니다. 헐헐헐~

결국 실행은 되는데 우리가 원하는 페이지로 열리는 것이 아니라 결과를 jsp 파일로 받게 된 것이었습니다.

 

4. 해결

그렇다면 설정에서 문제를 찾을 수 있다는 결론을 내렸습니다. 소스를 다시 확인해 봤습니다.  

<%@page language="java" contentType="application/x-www-form-urlencoded; charset=UTF-8"%>

"contentType"이 "application/x-www-form-urlencoded"로 되어있더군요. 물론 기존 개발자가 코딩한 소스입니다. 그래서 검색해 보니 예전에 form 데이터 전송을 위해 사용한 타입이라고 합니다. "key=value&key=value"형식으로 key와 value를 전달하는 구조입니다. json과 약간 다릅니다. (json은 {key:value, key:value})

데이터 전송을 위한 타입이라는 의미로 그래서 jsp가 실행되고 결과를 jsp로 넘겨준 뒤 브라우저에서 다운로드가 된 것으로 보입니다.

"contentType"을 "application/json"으로 변경 후 테스트하니 더 이상 다운로드 되지 않고 브라우저에서 실행이 됩니다.

 

5. 결론

잘 되니 그대로 사용할까 했지만 기존에 개발되었고 잘 사용하고 있던 소스여서 우선 그대로 두고 다운 받은 jsp를 열어 결과를 확인해도 되지만 불편하더군요.

같은 파일을 복사한 후 contentType을 변경해서 작업 중입니다.

혹시 다양한 방법을 시도했음에도 jsp 파일이 실행 안되고 다운로드가 된다면 contentType을 변경해 보세요.

 

내일도 출근해서 즐거운 코딩을 하고 싶지만, 출근하는 그 자체는 즐겁지가 않네요..ㅎㅎㅎ

공감하면 하트~!

 

반응형
반응형

안녕하세요. 신기한 연구소입니다.

요즘 프런트엔드에서 인기가 제일 많은 React(리액트) 설치하는 방법에 대해 알아봅니다.

최근 Vue.js로 개발을 했는데 주변에서 react(리액트) 수요가 더 많으니 공부해 보라고 추천하더군요.

그렇다면 바로 react(리액트) 개발환경을 설치해 보겠습니다.

 

 

1. Visual Studio Code에서..

우리 블로그에는 VSCode (Visual Studio Code)를 설치하는 방법에 대해 포스팅되어 있습니다.

혹시 설치가 안되어 있으면 참고해서 설치해 보세요.

2023.05.20 - [Software/Settings] - VSCode 설치하는 방법. (visual studio code, 비주얼 스튜디오 코드)

 

VSCode 설치하는 방법. (visual studio code, 비주얼 스튜디오 코드)

안녕하세요. 신기한 연구소입니다. 보통 이클립스(eclipse)에서 많은 개발을 했었고 예전에는 울트라 에디트나 에디트 플러스에서 코딩했던 기억이 있습니다. 요즘은 프론트엔드 뿐만 아니라 백

tiboy.tistory.com

 

2. Node.js 설치하기

역시 우리 블로그에는 Node.js를 설치하는 방법을 포스팅했습니다. 

참고해서 설치해 보세요.

2023.05.21 - [Software/Settings] - Node.js 설치하는 방법. nodejs, 노드 with npm도 같이

 

Node.js 설치하는 방법. nodejs, 노드 with npm도 같이

안녕하세요. 신기한 연구소입니다. node.js는 자바스크립트(Javascript) 서버로 많이 알고 있는데요. 사실 자바스크립트 런타임 환경(Javascript runtime environment)입니다. 브라우저 없이 바로 자바스크립

tiboy.tistory.com

 

3. react(리액트) 설치하기.

시작이 반이라고 했나요.

개발툴과 실행환경을 설치했으니 이제 react(리액트)도 설치해 보겠습니다.

 

4. create-react-app 설치하기.

이제 create-react-app을 설치합니다.

 

yarn으로 설치하는 방법은 아래와 같습니다.

 

5. 리액트(react) 프로젝트 생성하는 방법.

my-first-app이라는 프로젝트를 생성합니다.

>create-react-app my-first-app

설치는 시간이 조금 걸립니다.

설치가 완료되었습니다.

프로젝트도 설치가 되었으니 잘 되었는가? 궁금하네요.

정상설치 확인합니다.

 

설치된 my-first-app 폴더로 이동합니다.

>yarn start

start를 실행하면 구동이 되고 웹페이지가 열립니다.

http://localhost:3000/

이렇게 react(리액트)를 설치하고 샘플 프로젝트와 실행까지 해봤습니다.

요즘 인기 있는 react(리액트)를 열심히 공부해서 멋진 프런트엔드 개발자로 성장해 보아요.

눈으로만 보지 말고 코딩하는 거 잊지 마세요.

여러분 열코딩하세요.

 

반응형