MyEclipse는 자체 플러그인을 갖춘 Eclipse를 기반으로 개발된 강력한 엔터프라이즈급 통합 개발 환경으로 주로 Java, Java EE 및 모바일 애플리케이션 개발에 사용됩니다. 다음 글에서는 myeclipse를 이용한 서블릿 개발 관련 정보를 주로 소개하고 있습니다. 도움이 필요한 친구들이 참고할 수 있습니다.
web.xml에서 동일한 Servlet에 대해 여러 개의 외부 접근 경로를 구성할 수 있으며 web.xml에 구성된 정보 서버가 자동으로 로드되어 배포되고 Servlet에서 프로그램 코드가 수정되면 매번 모두 재배치됩니다.
먼저 MyEclipse를 사용하여 서블릿을 생성한 후 생성된 서블릿은 웹에 매핑됩니다. 이 서블릿의 구성 정보:
물론 여기에 외부 액세스 경로를 계속 추가할 수 있습니다. 이 서블릿을 다른 경로에서 액세스할 수 있도록 web.xml 파일에 서블릿을 만듭니다. 이제 서버에서 이를 엽니다. 이 경우
, 이 서블릿에 대한 새 외부 액세스 경로를 추가하기만 하면 됩니다.
빨간색 상자 부분이 새로 추가되면 서버는 콘솔 창에 재배포되었다는 메시지를 자동으로 표시합니다. 예, .xml의 웹 수정 사항을 종료하지 않고도 서버에서 다시 업데이트, 로드 및 배포할 수 있습니다. 서버:
그런 다음 새 액세스 주소를 사용해 보겠습니다.
액세스할 수 있습니다! !
세부 사항 2: 웹에서 서블릿에 대한 외부 액세스 경로를 구성하는 경우 콘텐츠에는
만 있을 수 있으며,
브라우저에서는 와일드카드 위치에
을 입력할 수 있습니다. 이는 의사 정적 현상을 생성하지만 실제로는 동적 웹 리소스입니다.
또 다른 형식은 슬래시 "/"로 시작하여 사용자 정의 경로를 추가하고 "/*"로 끝나는 것입니다(예:브라우저 주소 표시줄의 와일드카드 위치에 입력할 수 있으며 확장자는 필요하지 않습니다.
세부 사항 3: 세부 사항 2에서 내보낸 여러 서블릿 리소스의 매핑 경로 If 와일드카드를 사용하면 충돌이 발생할 수 있습니다. 그러면 이때 서버는 어떤 서블릿 리소스로 응답합니까? 다음 질문을 보면 이해할 수 있습니다.
세부 사항 4: 서블릿의 전체 수명 주기 동안 서블릿의 init() 메서드는 한 번만 호출됩니다. 서블릿의 각 액세스 요청에 대해 서블릿은 service() 메소드를 한 번 호출합니다. 그리고 각 요청 액세스에 대해 Servlet은 새로운 HttpServletRequest 요청 객체와 새로운 HttpServletResponse 응답 객체를 생성합니다. 물론 각 요청 액세스가 완료된 후 이러한 요청 개체와 응답 개체는 즉시 삭제되어 다음 요청을 기다린 후 다시 생성되므로(비동시 상황에서) 서버에 대한 부담을 줄일 수 있습니다.
세부사항 5: 앞서 언급한 서블릿이 서버에 배포된 후, 서블릿에 처음 접속할 때, 웹의 특정
세부 사항 6: 서블릿의 매핑 경로가 슬래시 "/"만 있는 경우 이 서블릿을 현재 웹 애플리케이션의 기본 서블릿이라고 합니다. 웹 액세스 요청에서 일치하는
예를 들어, 이제 두 개의 서블릿을 생성합니다. 그 중 하나는 사용자 정의된 외부 매핑 경로가 있고 다른 하나는 기본 서블릿으로 설정되어 있습니다.
SecondServlet에 액세스하려면 브라우저에서 해당 경로를 따라야 합니다. 주소 표시줄 입력:
기본 서블릿의 경우 웹 애플리케이션 이름 뒤에 입력하세요.
(입력하지 않으면 기존 홈페이지 index.jsp가 표시됩니다. 이유는 다음을 참조하세요. 자세한 내용은 아래 6)
자세한 내용 6(중요) : 우리가 개발한 Servlet에서 기본 Servlet을 구성하지 않고 웹 프로젝트 아래의 정적 웹 리소스(있는 경우)에 직접 액세스하면 기억하세요: 웹 리소스를 요청하려면 반환된 데이터에 응답하기 위한 특정 서블릿이 필요합니다. 그렇다면 기본 서블릿을 구성하지 않았는데 왜 여기에 액세스할 수 있을까요? 자원은 어떻습니까? 즉, 어떤 서블릿이 우리에게 필요한 리소스로 응답합니까? 정답은 Tomcat 서버의 기본 서블릿입니다! ! ! Tomcat 서버의 기본 Servlet에는 Tomcat의 [conf] 디렉터리에 있는 web.xml 파일에 매핑 경로가 설정되어 있습니다.
Tomcat의 web.xml 파일에서 볼 수 있듯이 기본 Servlet은 서버가 시작될 때 인스턴스를 생성합니다. 가장 먼저 생성된 개체이며, 외부 경로는 기본 형식으로 설정되어 있습니다. 이 기본 서블릿은 사용자 정의 생성된 각 서블릿 프로젝트를 관리합니다. 자체 웹 프로젝트에서 기본 서블릿을 만들지 않으면 자체 웹 프로젝트의 리소스에 액세스하려고 할 때 Tomcat의 기본 서블릿이 리소스를 변환하는 데 도움이 됩니다. 리소스는 응답 개체로 캡슐화되어 클라이언트로 다시 전송됩니다.
예를 들어, 내 웹 프로젝트 아래에 1.html 페이지를 생성합니다:
그리고 브라우저로 이동하여 이 페이지에 액세스합니다:
이 URL의 경우 Tomcat 서버가 먼저 내 서블릿과 일치합니다. 해당하는 매핑 경로가 있고 웹 프로젝트에 기본 서블릿을 설정하지 않은 경우 Tomcat의 기본 서블릿은 웹 애플리케이션에서 HTTP 요청 리소스를 검색하고 이를 찾아 응답 객체로 캡슐화하여 반환합니다. 클라이언트에게. Tomcat의 기본 서블릿이 필요한 리소스를 찾을 수 없는 경우에도 여전히 클라이언트에 응답하지만 클라이언트에는 404 프롬프트와 같이 리소스를 찾을 수 없다는 일부 프롬프트가 표시됩니다. 또한 이 프로세스에 따르면 자체 서블릿을 개발할 때 자체 서블릿 중 하나를 기본 서블릿에 매핑하지 않는 것이 좋습니다.
다음으로 홈페이지 문제를 논의해 보겠습니다. 웹 애플리케이션의 특정 리소스에 액세스하는 것(마지막으로 브라우저 주소에 파일 이름을 입력) 외에도 웹 애플리케이션 이름을 입력한 후 HTTP 요청이 전송됩니다. 이때 우리가 보는 것도 일반적으로 이라고 불리는 페이지입니다. "홈 페이지"이며 이 홈 페이지도 기본 서블릿에 의해 응답됩니다.
예를 들어, MyEclipse를 사용하여 웹 애플리케이션을 생성하면 기본적으로 "index.jsp" 파일이 생성됩니다.
그리고 웹 애플리케이션에 서블릿을 생성하지 않았거나, 서블릿을 생성하고 특정 A 특정 외부 URL에 매핑된 다음 브라우저에 호스트 주소 + 웹 애플리케이션 이름을 입력하면 이 index.jsp를 계속 볼 수 있습니다.
앞서 언급했듯이 이 페이지는 Tomcat 서버의 기본 서블릿에 의해 클라이언트로 다시 전송되어야 합니다. 그렇다면 Tomcat 서버는 왜 다른 리소스 대신 이 리소스를 다시 보내나요? 대답은 여전히 web.xml 파일에 있습니다. "Tomcat 상세 사용법 학습(3)"에서 정의한 홈 페이지 설정을 기억하십니까? 예, 이 방법은 기본 서블릿에 의해 관리됩니다. Tomcat의 웹 설정 .xml 파일의
브라우저의 입력 주소에 웹 애플리케이션 이름만 입력하면 Tomcat의 기본 Servlet은 이 웹 아래에 index.html 파일을 전송합니다. 그렇지 않으면 index.htm 파일을 보내고, 그렇지 않으면 index.jsp를 보냅니다. 세 가지 중 하나도 없으면 404만 반환할 수 있습니다.
이 코드를 주석 처리하거나 삭제한 다음 웹 애플리케이션 이름에 직접 액세스하려는 경우 index.jsp 파일을 삭제했을 때와 동일합니다. Tomcat의 기본 Servlet에서 리소스를 찾을 수 없으며 404 프롬프트( MyEclipse 서버에서 다시 시작해야 함):
따라서 웹 애플리케이션을 위한 아름다운 홈페이지를 만들고 싶다면 index.jsp에서 개발하거나 다른 index.html 파일을 생성하기만 하면 됩니다. 이 파일은 index.jsp보다 먼저 액세스됩니다.
세부 사항 7: 개발 서블릿은 서블릿 인터페이스의 특정 구현 클래스를 상속해야 하기 때문에 doGet 메서드 또는 doPost 메서드를 작성할 때 예외를 발생시키는 일부 메서드를 호출할 가능성이 높습니다. . catch하고 처리할 수만 있고 throw할 수는 없습니다. 이는 하위 클래스가 상위 클래스의 메서드를 재정의할 때 상위 클래스보다 더 많은 예외를 발생시킬 수 없기 때문입니다.
요약
위 내용은 Java에서 myeclipse를 사용하여 서블릿을 개발하는 방법에 대한 그래픽 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!