개발일지/JSP

[JSP] 기초 정리 1

연습용365 2021. 11. 25. 21:42

단순하게 따라만 하는 방법 보다는 왜 이런 과정을 거쳐야 작동이 되는지 이해하기 위해 작성해 보았다.

 

JSP가 구동되기 까지 . . .

서버 관리 프로그램은 다양하게 존재하지만 그 중에서도 우리가 사용해야 할 프로그램은 자바를 기반으로한 JSP이다. 때문에 자바 개발 키트인 JDK를 설치해야 한다. 그 다음 자바로 작성된 JSP를 실행하기 위해서는 웹서버가 구축 되어야 하며 대표적인 JSP의 웹서버인 톰캣(tomcat)을 받아야한다. 톰캣을 실행할 때는 서버 파일(톰캣) 안에 있는 bin 폴더의 startup을 실행 시켜야 8080 포트로 들어갈 수 있다. 실행 시킬 때에는 cmd(명령프롬프트)를 이용해서 cd bin폴더 위치로 이동 후 startup을 시켜줘야한다. 이렇게 함으로서 현재의 웹서버가 잘 작동되고 있다는 걸 볼 수 있다. 창을 닫지 않은 상태여야지 브라우저에서 'localhost:8080'를 통해서 웹서버에 접속이 된다. 하지만 매 번 startup을 해주고 cmd 창을 닫지 않은 상태에서 사용하기에는 많은 불편함이 있다. 그래서 개발환경을 구축할 필요가 있고, 우리는 eclipse를 설치해서 효율적으로 서버 관리를 할 수 있다! 

 


 

여기서 잠깐!

많은 프로그램을 사용하고 있다면 'localhost:8080' 포트번호가 충돌을 일으킬 수 있기 때문에 포트 번호를 바꿔줘야 한다. conf/server.xml 파일을 열어 아래처럼 port="xxxx"로 바꾸어주면 된다. 

 

    <Connector port="8088" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
               URIEncoding="UTF-8" />

 


 

 

동적 웹 프로젝트(Dynamic Web Project)

일반적으로 자바를 공부할 때는 Java Project 파일을 만들었지만 이제는 웹서버를 관리해야 하는 입장이니까 동적 웹 프로젝트를 만들어야 한다.

 

 

 

BBS(Bulletin Board System) - 일반적으로 게시판 사이트를 만들 때 많이 붙는 이름이다.

Target runtime으로 다운받은 톰캣 버전을 선택한다. 

 

 

 

이름은 다를 수 있다. WebContent 폴더(여기서는 webapp 폴더) 안에는 다양한 웹 페이지들을 저장할 수 있는데 이런 웹페이지를 브라우저로 접속을 해서 내용을 볼 수 있게 된다.

 

 

폴더 설명

폴더명 기능
src Java 소스 파일, 프로퍼티(.properties) 파일이 위치한다.
build 자바 클래스 파일(.class)이 위치하는 디렉토리
Project Explorer에서는 class 파일이 보이지 않게 숨기고 있어 안쪽의 내용은 안 보임
WebContent HTML(.html), CSS(.css), JavaScript(.js), JSP, 이미지 파일 등 웹 콘텐츠가 위치
웹 어플리케이션을 서버에 배치할 때 이 폴더의 내용물이 그대로 복사됨
WebContent/WEB-INF 웹 어플리케이션 설정 관련 파일들이 위치하는 디렉토리
이 폴더에 있는 파일은 클라이언트에서 요청할 수 없다.
WebContent/WEB-INF/web.xml 웹 어플리케이션 Deployment Descriptor(배치 설명서, DD파일이라고도 함)
서블릿, 필터, 리스너, 매개변수, Welcome Pages 등의 웹 어플리케이션 컴포넌트 배치 정보를 작성한다.
서블릿 컨테이너는 클라이언트의 요청을 처리할 때 이 파일의 정보를 참고하여 서블릿 클래스를 찾거나 필터를 실행하는 등의 작업을 수행한다.
WebContent/WEB-INF/lib 자바 아카이브 파일(.jar)이 위치한다.

 

출처

 

[Eclipse] Dynamic Web Project 프로젝트 구조

[Eclipse] Dynamic Web Project 프로젝트 구조 이클립스에서 서블릿/JSP 기반 웹 어플리케이션 프로젝트는 Dynamic Web Project이다. 1. 프로젝트 생성 Project name : 프로젝트 이름 Target runtime : 웹 어플리..

atoz-develop.tistory.com