"MyFirstServlet"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 20개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{작성중}}
;MyFirstServlet
;MyFirstServlet


6번째 줄: 5번째 줄:
*[[윈도우 자바 개발환경 구축]]
*[[윈도우 자바 개발환경 구축]]


==절차==
==새 프로젝트==
*File --- New -- Project...
*File --- New -- Project...
*"Select a wizard" --- Web --- Dynamic Web Project --- [Next >]
*"Select a wizard" --- Web --- Dynamic Web Project --- [Next >]
12번째 줄: 11번째 줄:
*"Open Associated Perspective?" --- [Yes]<ref>Package Explorer가 Project Explorer로 바뀜</ref>
*"Open Associated Perspective?" --- [Yes]<ref>Package Explorer가 Project Explorer로 바뀜</ref>
*Project Explorer --- MyFirstServlet --- Java resources --- src 우클릭 --- New --- Servlet
*Project Explorer --- MyFirstServlet --- Java resources --- src 우클릭 --- New --- Servlet
*"Create Servlet" --- Java package: myfirstservlet --- Name: MyFirstServletStarter --- [Finish]
*"Create Servlet" --- Java package: myfirstservlet --- Name: Starter --- [Finish]
이클립스가 MyFirstServletStarter.java<ref>즉 MyFirstServletStarter 클래스</ref>을 생성해준다.
이클립스가 Starter.java<ref>즉 Starter 클래스</ref>을 생성해준다.


그런데 다음과 같이 오류 14개가 나타난다.
==Starter.java 오류==
<source lang='dos'>
{{참고|ServletTemplate.java}}
새로 만들어진 Starter.java에서 다음과 같이 오류 14개가 나타난다.
<syntaxhighlight lang='text'>
Description Resource Path Location Type
Description Resource Path Location Type
The import javax.servlet cannot be resolved MyFirstServletStarter.java /MyFirstServlet/src/myfirstservlet line 6 Java Problem
The import javax.servlet cannot be resolved Starter.java /MyFirstServlet/src/myfirstservlet line 6 Java Problem
The import javax.servlet cannot be resolved MyFirstServletStarter.java /MyFirstServlet/src/myfirstservlet line 5 Java Problem
The import javax.servlet cannot be resolved Starter.java /MyFirstServlet/src/myfirstservlet line 5 Java Problem
... (생략)
... (생략)
HttpServlet cannot be resolved to a type MyFirstServletStarter.java /MyFirstServlet/src/myfirstservlet line 14 Java Problem
HttpServlet cannot be resolved to a type Starter.java /MyFirstServlet/src/myfirstservlet line 14 Java Problem
</source>
</syntaxhighlight>
:→ 모두 javax.servlet 이하의 패키지를 찾을 수 없어서 나타나는 오류이다.


==javax.servlet.jar==
==jar 파일 추가==
{{참고|javax.servlet.jar 다운로드}}
{{참고|javax.servlet.jar 다운로드}}
오류를 해결하기 위해 프로젝트에 jar 파일을 추가해주자.
*[[javax.servlet.jar]] 다운로드
*[[javax.servlet.jar]] 다운로드
*Project Explorer --- MyFirstServlet --- WebContent --- WEB-INF --- lib 폴더에 드래그하여 넣음
*Project Explorer --- MyFirstServlet --- WebContent --- WEB-INF --- lib 폴더로 jar 파일 드래그
*"File Operation" --- (O) Copy files --- [OK]
 
오류가 모두 사라진다.
 
==Starter.java 교체==
Starter.java를 아래 내용으로 교체
<syntaxhighlight lang='java'>
package myfirstservlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/Starter")
public class Starter extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("My First Servlet");
}
}
</syntaxhighlight>
 
==class 파일 표시 및 추출==
*Project Explorer 영역 우상단의 역삼각형 클릭 --- Customize View...
*"Available Customizations" --- Filters --- [ ] Java output folders --- [OK]
이제 java의 컴파일 결과물인 class 파일을 볼 수 있다.
*Project Explorer --- build --- classes --- myfirstservlet --- Starter.class 파일을 바탕화면으로 드래그하여 복사
 
==톰캣 서버에 업로드==
*WEB-INF 폴더 아래에 classes 폴더 생성. 그 아래에 myfirstservlet 폴더 생성
<syntaxhighlight lang='console'>
[root@zetawiki ~]# cd /usr/share/tomcat6/webapps/ROOT/WEB-INF
[root@zetawiki WEB-INF]# mkdir classes
[root@zetawiki WEB-INF]# cd classes/
[root@zetawiki classes]# mkdir myfirstservlet
[root@zetawiki classes]# cd myfirstservlet/
[root@zetawiki myfirstservlet]#
</syntaxhighlight>
*myfirstservlet 폴더에 Starter.class 파일을 업로드
<syntaxhighlight lang='console'>
[root@zetawiki myfirstservlet]# ll
total 4
-rw-r--r-- 1 root root 1076 Jan 28 01:43 Starter.class
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[서블릿]]
*[[javax.servlet.jar]]
*[[javax.servlet.jar]]



2024년 6월 15일 (토) 14:17 기준 최신판

MyFirstServlet

1 사전 작업[ | ]

2 새 프로젝트[ | ]

  • File --- New -- Project...
  • "Select a wizard" --- Web --- Dynamic Web Project --- [Next >]
  • "Dynamic Web Project" --- Project name: MyFirstServlet --- [Finish]
  • "Open Associated Perspective?" --- [Yes][1]
  • Project Explorer --- MyFirstServlet --- Java resources --- src 우클릭 --- New --- Servlet
  • "Create Servlet" --- Java package: myfirstservlet --- Name: Starter --- [Finish]

이클립스가 Starter.java[2]을 생성해준다.

3 Starter.java 오류[ | ]

새로 만들어진 Starter.java에서 다음과 같이 오류 14개가 나타난다.

Description	Resource	Path	Location	Type
The import javax.servlet cannot be resolved	Starter.java	/MyFirstServlet/src/myfirstservlet	line 6	Java Problem
The import javax.servlet cannot be resolved	Starter.java	/MyFirstServlet/src/myfirstservlet	line 5	Java Problem
... (생략)
HttpServlet cannot be resolved to a type	Starter.java	/MyFirstServlet/src/myfirstservlet	line 14	Java Problem
→ 모두 javax.servlet 이하의 패키지를 찾을 수 없어서 나타나는 오류이다.

4 jar 파일 추가[ | ]

오류를 해결하기 위해 프로젝트에 jar 파일을 추가해주자.

  • javax.servlet.jar 다운로드
  • Project Explorer --- MyFirstServlet --- WebContent --- WEB-INF --- lib 폴더로 jar 파일 드래그
  • "File Operation" --- (O) Copy files --- [OK]

오류가 모두 사라진다.

5 Starter.java 교체[ | ]

Starter.java를 아래 내용으로 교체

package myfirstservlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Starter")
public class Starter extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		out.println("My First Servlet");
	}
}

6 class 파일 표시 및 추출[ | ]

  • Project Explorer 영역 우상단의 역삼각형 클릭 --- Customize View...
  • "Available Customizations" --- Filters --- [ ] Java output folders --- [OK]

이제 java의 컴파일 결과물인 class 파일을 볼 수 있다.

  • Project Explorer --- build --- classes --- myfirstservlet --- Starter.class 파일을 바탕화면으로 드래그하여 복사

7 톰캣 서버에 업로드[ | ]

  • WEB-INF 폴더 아래에 classes 폴더 생성. 그 아래에 myfirstservlet 폴더 생성
[root@zetawiki ~]# cd /usr/share/tomcat6/webapps/ROOT/WEB-INF
[root@zetawiki WEB-INF]# mkdir classes
[root@zetawiki WEB-INF]# cd classes/
[root@zetawiki classes]# mkdir myfirstservlet
[root@zetawiki classes]# cd myfirstservlet/
[root@zetawiki myfirstservlet]#
  • myfirstservlet 폴더에 Starter.class 파일을 업로드
[root@zetawiki myfirstservlet]# ll
total 4
-rw-r--r-- 1 root root 1076 Jan 28 01:43 Starter.class

8 같이 보기[ | ]

9 주석[ | ]

  1. Package Explorer가 Project Explorer로 바뀜
  2. 즉 Starter 클래스
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}