티스토리 뷰

반응형

인프런의 해당 강의를 듣고 정리한 내용입니다.

www.inflearn.com/course/%EC%9D%B8%ED%85%94%EB%A6%AC%EC%A0%9C%EC%9D%B4-%EC%9B%B9%EC%95%B1

 

웹 애플리케이션 개발을 위한 IntelliJ IDEA 설정 - 인프런

본 강의는 Jetbrains(https://www.jetbrains.com/)사의 Java 프로그래밍 개발 툴인 IntelliJ IDEA에서 웹 프로그래밍을 시작하기 위한 설정 과정에 대해 소개하는 강의입니다. 초급 웹 개발 개발 도구 Jetbrains 웹

www.inflearn.com

 


# Servlet 파일 생성

1. Maven 프로젝트 생성

org.apache.maven.archetypes:maven-archetype-webapp 선택

 

 

2. 프로젝트 내의 pom.xml 파일 수정

pom.xml는 Maven project의 핵심. 해당 프로젝트에 import 되는 jar파일 정보 및 버전정보를 담고 있으며 최종적으로 패키징되는 기준값을 담고 있어서 프로젝트 실행과 배포를 위한 설정을 하는 파일.

 

dependencies는 pom.xml의 핵심이라고 볼 수 있는 의존성을 정의하는 부분으로. 라이브러리를 불러오는 부분이다.

maven을 통해 불러온 라이브러리들은 Java Build Path에서 Maven Dependencies 하위 목록으로 들어가며 별도 설정이 불가하고 pom.xml을 통해서만 추가/삭제/버전 변경 등이 가능하다.


3. 자바 클래스 생성

프로젝트 - src - main 에서 Directory 생성 (java)
-> 생성된 java Directory에서 Package 생성
-> 생성한 Package에서 자바 클래스 생성

 

4. 자바 클래스 작성

자바 클래스에서 HttpServlet을 상속받도록 하고
Generate을 누르고 override Methods 에서 doGet 함수 클릭

public class HelloServlet extends HttpServlet {
  @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=UTF-8");  //응답방식 결정
    PrintWriter out = resp.getWriter();
    out.println("Hello~~");
    out.close();
  }
}

 

 

5. 작성한 자바 클래스를 프로젝트에 등록 (2가지 방법)

1) WEB-INF 폴더안의 web.xml에서 <web-app>태그 사이에 아래 내용 추가
<servlet-class> 태그 사이에는 연결할 자바 클래스명 작성
<url-pattern> 태그 사이에는 외부에서 호출할 때 이름 작성

<servlet>
	<servlet-name>hello-servlet</servlet-name>
	<servlet-class>org.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>hello-servlet</servlet-name>
	<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>


2) Annotation 방식
자바 클래스 위에 @WebServlet("/HelloServlet") 작성 (괄호 안에 외부에서 호출할 때 이름 작성)

@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=UTF-8");
    PrintWriter out = resp.getWriter();
    out.println("Hello~~");
    out.close();
  }
}

 

 


# Tomcat Server 등록

1. 상단에 디버그 부분에 Add Configuration 눌러서 등록

- Tomcat Server - Local 클릭하고 이름과 브라우저 등 지정
- Deployment에서 Artifacts 등록 (myWeb:war exploded : 압축해제된)

- 아래 Application context에 적은 것이 페이지의 메인 이름이 됨 (/myWeb)

2. run 하고 localhost:8080/ 으로 접속.

- localhost:8080/ 뒤에는 위에서 기억했던 Application context에 썼던 이름 적기 (localhost:8080/myWeb)

 : index.jsp 파일의 내용이 나타남
- Annotation방식으로 자바 클래스 파일을 프로젝트에 등록할때 썼던 주소로 접속 가능 (localhost:8080/myWeb/HelloServlet)

: 해당 자바 클래스 파일 내용이 나타남

 

 

3. jsp 파일 내용을 변경할 경우 서버를 재시작해야만 새로고침이 되는 것 변경하기

- Deployment로 등록한 Artifacts 수정
 : 해당 Artifcats의 Output directory를 프로젝트의 src - main - webapp으로 변경 (직접 개발하고 있는 폴더로)

- 이제 코드를 수정한 후 서버 재시작 할 것 없이 F5로 새로고침하면 변경사항 적용 가능

 

 



#Maven빌드와 Tomcat Server 실행

1. Maven 메뉴의 Lifecycle에서 자주사용되는 clean, complie, package, install

- compile : 컴파일하며 프로젝트 내에 target폴더 생성
- clean : target 폴더를 삭제
- package : 프로젝트를 export. target 폴더 내에 war파일로 생성됨

 

2. export하여 배포

package로 export한 war파일을 복사하여 tomcat 폴더 - webapps로 붙여넣기
-> tomcat폴더 - bin - startup.bat 로 tomcat 구동 ( 또는 cmd 창에서 구동가능)

-> tomcat폴더 - webapps에 복사했던 war파일을 압축해제하여 그 디렉토리에 압축해제한 폴더를 만들어 구동하는 것을 볼 수 있음



 

#tomcat manager 이용하여 WAR파일 배치

위의 WAR파일을 복사하여 구동했던 것을 tomcat manager를 통해서도 가능

1. cmd로 실행하고 있던 tomcat 서버를 shutdown.bat 으로 종료

2. tomcat manager  설정

tomcat 폴더 - conf 에서 텍스트 에디터로 파일을 수정해야함.
code tomcat-users.xml 명령어 입력 : 비쥬얼 스튜디오 코드로 tomcat-users.xml 파일을 열어서 수정

 

 

3. vscode에서 tomcat-users.xml에 아래내용 추가

<!--manager를 통해 사용할 기능들 추가-->
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin"/>


<!--사용자를 등록하고 사용자가 사용할 수 있는 role들을 추가-->
<user username="admin" password="tomcat" roles="manager,manager-gui,manager-script,manager-jmx,manager-status,admin"/>

 

4. localhost:8080/manager 로 tomcat manager 사이트 접속

- 애플리케이션들 여러개 확인 가능
- 경로가 /hello 인 (기본경로) 애플리케이션을 <중지>, <배치된 것을 제거> 버튼 클릭
 -> 아래 배치할 WAR 파일에 파일을 선택하고 배치 버튼 클릭 (프로젝트 폴더 - target - war파일)

 -> 다시 애플리케이션 목록에 /hello 경로의 애플리케이션이 생기고 실제로 tomcat 폴더에 가보면 WAR파일 확인 가능

 

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday