일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 1188 java
- 1188 음식 평론가
- 14711 java
- django httpd error
- django 프로젝트 시작
- django The requested operation has failed!
- 2661 java
- django 웹 페이지
- java di
- 2961 도영이가 만든 맛있는 음식
- 18233 비트마스킹
- 2643 java
- 14711 타일 뒤집기
- 2661 좋은 수열
- 원격 연결 포트 포워딩
- 공유기 원격 설정
- 2961 java
- 18233 java
- django apache deploy error
- django
- windows 원격 연결 설정
- 2643 색종이 올려 놓기
- django settings.py
- APPEND_SLASH = FALSE
- apache pythonpath
- Problems occurred while performing provisioning operation
- django windows 배포 에러
- windows apache wsgi 에러
- 18233 러버덕
- The requested operation has failed!
라이브러리는 도서관 아닌가요
JSP 3 - @WebServlet 어노테이션, 프로젝트 생성 본문
앞에 살펴본 귀찮고 반복적일 것 같은 내용이 있다.
이전 글: https://verycrazy.tistory.com/95?category=1033905
동작 코드 수정 → 컴파일 → 매핑 따위의 배포 밑작업 → 톰캣 서버 재시작
위의 귀찮은 과정을 Eclipse나 intellij와 같은 통합 IDE를 통해 해결할 수 있다.
https://verycrazy.tistory.com/54
수정 전
순수 WAS에서는 아래의 코드의 컴파일을 마친 후,
public class 머시깽이클래스 extends HttpServlet{
@Override
public void service(~파라미터~){~블럭 내용~}
}
해당 머시깽이클래스.class 파일을 매핑 경로에 맞게 옮겨주어야 하는데,
이 귀찮은 작업을 어노테이션으로 해결할 수 있다.
수정 후
수정하면 이렇게 된다.
@WebServlet("사용자에게_받을_경로")
public class 머시깽이클래스 extends HttpServlet{
@Override
public void service(~파라미터~){~블럭 내용~}
}
어노테이션의 대상이 컴파일된 이후 해당 파일을 사용자에게_받을_경로와 매핑해준다.
경로는 value=""로 받을 수도 있다.
이때 서블릿의 이름을 명시적으로 지정하는 name="" 속성을 사용할 수도 있다.
* 서블릿 진행을 위한 프로젝트 생성
1. Dynamic Web Project로 생성
2. New Runtime... 클릭 ( * 당연히 tomcat 폴더가 어딘가에 다운 받아져 있어야 한다. )
3. 설치한 Tomcat의 버전에 맞춰 선택
4. Browse...를 클릭해 설치된 경로를 지정
5. Next → Next 후 WebContent로 변경
6. 프로젝트 자동 생성 완료
7. 테스트: Servlet으로 생성 - Package 이름, Class 이름 지정 - 필요한 method stubs만 지정
8. 테스트: 내용 추가
# src/main/java/add/Add.java
package hi;
import java.io.IOException;
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("/hi")
public class Hi extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println("Hi");
}
}
# WebContent/hi.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="/jspTestProject/hi"><button>say hi</button></a>
</body>
</html>
9. 테스트: localhost:8080/jspTestProject/hi.html로 접근
당연히 WebContent 바로 아래에 hi.html이 있어야 한다.
실행 결과: [say hi] 버튼을 누르면 hi가 나온다.
'Java > JSP' 카테고리의 다른 글
JSP 6 - 서블릿의 필터 (filter) (0) | 2022.01.08 |
---|---|
JSP 5 - form 태그 POST 요청, HttpServletRequest의 메서드 (0) | 2022.01.05 |
JSP 4 - GET 쿼리스트링 ( GET Query String ) (0) | 2022.01.04 |
JSP 2 - Context, Servlet Class (0) | 2022.01.04 |
JSP 1 - 웹 서버의 동작 (Web, WAS, Servlet) (0) | 2022.01.04 |