Eclipse에서 서블릿 클래스가 작동했습니다. App Engine을 사용하여 배포하여 테스트 중이 었으며 웹 응용 프로그램으로 실행하라는 메시지가 표시됩니다. 이제 다른 클래스에서이 코드를 실행하고 싶습니다. 그래서 다른 클래스를 만들고 "TestServlet ts = new TestServlet();" 주요 기능. 내가 그것을 실행할 때 아무 일도 일어나지 않는다. TestServlet의 "doGet"메소드를 호출해야합니까, 아니면 메인 클래스를 웹 애플리케이션으로 실행하지 않는 것과 관련이 있나요?다른 클래스의 서블릿 클래스 실행
답변
음 ... 너는 그렇게해서는 안된다. 공통 로직을 별도의 POJO (평범한 자바 객체) 클래스로 추출하여 서블릿과 다른 클래스 모두에서 호출합니다.
서블릿을 수동으로 인스턴스화하거나 호출하는 것은 좋은 생각이 아닙니다.
실제 실행하려면 서블릿 컨테이너가 필요합니다. 나는 Winstone http://winstone.sourceforge.net을 사용하여 제안 할 것입니다. 서블릿을 가동시키고 실행하기위한 작고 빠르며 제로 - 설정 컨테이너입니다.
이것은 좋은 대답이 아닙니다. OP_has_ 서블릿 컨테이너가 서블릿을 테스트하면서 App Engine에 배포했습니다. 그렇다고해서 수동으로 서블릿을 인스턴스화하려는 시도가 어떤 식 으로든 용인되지 않습니다. – ChssPly76
그는 GAE에 배치하여 테스트하려고한다고 말합니다. 질문에 대한 나의 해석에서 그는 자신의 컴퓨터에서 서블릿을 실행하려고 시도하고 있는데, 이는 내가 답변을 게시하는 질문이었습니다. – Joe
@ 조 - 질문에 대한 해석이 잘못되었습니다. 저는 서블릿을 테스트하기 위해 GAE 대신 Winstone을 사용하는 것에 대해 아무것도하지 않았습니다. 가장 쉽고 빠릅니다. 하지만 질문은 "어떻게 독립형 자바 애플리케이션의 main() 메소드에서 서블릿을 실행할 수 있는가"이다. 그리고 대답은 "~해서는 안됩니다"입니다. – ChssPly76
서블릿 객체의 인스턴스에서 doGet (또는 doPost 또는 다른 보이는 메소드)을 호출하면 포함 코드가 실행됩니다. 그러나 코드에서 "유선"컨텍스트 변수를 사용하는 경우 웹 컨테이너에서 서블릿을 실행하면 동작이 달라질 수 있습니다.
액면 값에서 나는 리팩터링자가 당신이 필요로하는 코드를 일반적인 방법으로 가지고 당신의 서블릿과 메인 클래스 모두로부터 호출 할 것을 제안한다.
- 1. 다른 클래스의 슬롯 실행
- 2. 다른 클래스의 클래스 호출하기
- 3. iPhone - 다른 클래스의 선택기 실행
- 4. 다른 클래스의 클래스 인스턴스 확인
- 5. 다른 클래스의 클래스 속성 사용
- 6. 액세스 서블릿 클래스 이름 또는 서블릿 이름
- 7. 서블릿 실행 중 문제가 발생했습니다.
- 8. GPS 클래스 사용 다른 클래스의 이벤트
- 9. C++ : 다른 클래스의 클래스 함수에 액세스하는 방법?
- 10. 다른 클래스의 클래스 구성에 대한 질문
- 11. 다른 클래스의 생성자에서 클래스 이름이란 무엇을 의미합니까?
- 12. 다른 클래스의 한 클래스 데이터베이스에 액세스하는 방법?
- 13. 파이썬에서 다른 클래스의 클래스 인스턴스를 만드는 방법
- 14. 이클립스 디버그 서블릿 (수지 실행)
- 15. 클래스의 수 실행 Java
- 16. 클래스 구현 서비스 다른 클래스의 기본 클래스 계약 WCF
- 17. 다른 서블릿에서 서블릿 호출하기
- 18. 서블릿 컨테이너 및 클래스 경로
- 19. 다른 전쟁에서 jsf에서 서블릿 게시하기
- 20. 다른 클래스의 컬렉션을 포함하는 클래스의 디자인 (방법)
- 21. Android : 다른 클래스 파일의 실행 파일
- 22. 다른 클래스의 다른 인스턴스에서 클래스의 "상위"인스턴스에 대한 액세스
- 23. 다른 클래스의 소리 멈춤
- 24. 다른 클래스의 변수 설정
- 25. Java 다른 클래스의 GUI 변경
- 26. AnnotationLiteral 클래스의 독립 실행 형 버전입니까?
- 27. 다른 클래스의 터치에 응답
- 28. 다른 클래스의 구조체에 할당
- 29. 서블릿
- 30. 다른 클래스의 이벤트 처리
질문에 대한 답변은 전적으로 귀하가 성취하고자하는 것에 달려 있습니다. 단위 및/또는 구성 요소 테스트의 경우 클래스의 동작은 물론 서비스 계층없이 코드를 테스트합니다. 통합 테스트의 경우, 질문을 묻는 질문이 필요합니다. – Joe
웹 서비스에서 XML 데이터를 추출하는 데 필요한 서블릿 만 있으면됩니다. 그 후에 다른 코드에서 XML을 조작 할 것입니다. 기본적으로 서블릿을 실행하고, XML을 얻고, 가능한 경우 종료하는 것이 좋습니다. 한 클래스 만 실행하려고했지만 웹 응용 프로그램과 Java 응용 프로그램을 별도로 실행해야한다고 말하고 있습니까? 정말 도움을 주셔서 감사합니다. – Mattk
Winstone을 '임베디드'(즉, 코드에서 호출) 할 수 있다고 생각합니다. 별도의 인스턴스가 아니어도됩니다. (웹 서비스에서 XML을 가져 오는 더 좋은 방법이있을 수 있습니다.) – Joe