일부 인증 자격 증명을 위해 SOAP 서비스에 액세스하는 JSP 기반 Webapp가 있습니다. 이 서비스 URL을 응용 프로그램 범위 변수에 넣어서 SOAP 호출을 쉽게 전달할 수 있습니다. 이 일을하는 가장 좋은 방법은 무엇입니까? init-param에 넣은 다음 init에 application.wsdlurl에 전달하십시오.응용 프로그램 범위 변수 초기화
답변
web.xml
의 서블릿 정의에서 <init-param>
으로 정의해야합니다. 다음과 같이
<servlet>
<servlet-name>yourServlet</servlet-name>
<servlet-class>com.example.YourServlet</servlet-class>
<init-param>
<param-name>wsdlurl</param-name>
<param-value>http://...</param-value>
</init-param>
</servlet>
당신은 서블릿의 인스턴스 변수로 할당 할 수
public class YourServlet extends HttpServlet {
private String wsdlurl;
@Override
public void init() throws ServletException {
wsdlurl = getServletContext().getInitParameter("wsdlurl");
// Do if necessary some validation.
// E.g., if null, then throw ServletException.
}
// ...
}
대단히 감사합니다! 이것은 초보자라고 들릴지 모르겠지만, 필자는 webapps/(root)에서 모든 필요한 프론트 엔드 로직을 사용하여 애플리케이션을 구축했습니다. 더 복잡한 auth-soap 부분은 클래스로 묶여 있습니다 (WEB-INF/classes/$ packages). 나는 이것이 "모범 사례"로 여겨지지는 않는다는 것을 알고 있지만 실제적인 단점이없는 일을합니다 (afaik). 프론트 엔드 (/ ..)와 백엔드 (클래스)에서이 매개 변수를 액세스 할 수있게하려면 어떻게해야합니까? – AlessandroEmm
그들이'ServletContext'에 접근 할 수 있다면 그것의 속성으로 설정할 수 있습니다. 그러나 그들이 가지고 있지 않다면 init-param 접근 방식을 잊어 버리고 속성 파일을 대신 사용하여 정적으로로드하고 유지하는 클래스를 생성해야합니다. – BalusC
필자가 알고있는 "
- 1. OpenCL - 호스트에서 프로그램 범위 변수 초기화 중?
- 2. ASP 클래식의 응용 프로그램 수준 변수 초기화
- 3. 응용 프로그램 초기화 VB
- 4. 응용 프로그램 초기화
- 5. Java 응용 프로그램 범위
- 6. 사용자 범위 대 app.config의 응용 프로그램 범위
- 7. 초기화 됨에도 불구하고 nil을 반환하는 응용 프로그램 대리자 변수
- 8. 선호하는 응용 프로그램 초기화 방법
- 9. 부스트 테스트 응용 프로그램 초기화
- 10. WPF 응용 프로그램 초기화 상태
- 11. 응용 프로그램 범위 변수 django는 어떻게 만듭니 까?
- 12. 레일 테스트를위한 맞춤 초기화 프로그램 변수
- 13. Cakephp 응용 프로그램 개발 범위
- 14. ActiveRecord 클래스의 변수 초기화
- 15. 응용 프로그램 변수 문제
- 16. 응용 프로그램 전역 변수
- 17. 응용 프로그램 시작시 참조되는 뷰 컨트롤러 초기화
- 18. CoffeeScript 변수 범위
- 19. javascript 전역 변수 범위
- 20. 변수 초기화
- 21. 변수 초기화
- 22. 변수 초기화
- 23. 응용 프로그램 설정 범위 - 사용자 대 응용 프로그램
- 24. spring.net 응용 프로그램 범위 저장소 객체로드 밸런싱 응용 프로그램
- 25. 변수 범위 :
- 26. ASP.NET 변수 범위
- 27. #include <initializer_list> 범위 기반 초기화 프로그램 목록을 사용해야합니까?
- 28. 응용 프로그램 컨텍스트에서 맵 초기화 맵
- 29. 백본 : html 파일의 응용 프로그램 라우터 초기화
- 30. 시작시 Java EE 응용 프로그램 캐시 초기화
귀하의 질문은 혼란 스럽다. JSP를 제목과 태그로 언급했지만 서블릿에 대해 이야기하고 있습니다. JSP가 궁극적으로 서블릿으로 컴파일되는 동안 JSP는 서블릿과 동일하지 않습니다. – BalusC
엉터리 질문에 사과드립니다. 나는 JSP 기반의 Authentication-Site를 가지고있다. Auth-Backend는 SOAP (JAX-WS)를 통해 액세스됩니다. 이 응용 프로그램의 인스턴스가 여러 개있을 것입니다. 따라서 Auth-URL은 환경별로 구성 가능해야합니다. 나는 getInitParameter()와 URL에 대한 응용 프로그램 전체 액세스를위한 응용 프로그램 범위에 대해 읽었습니다. 그러나 나는 그것을 어디에서 정의 할 것인가? 다시 한번 감사드립니다. – AlessandroEmm
실제로 init-param을 사용할 수 있습니다. 나는 답을 예제로 게시했다. – BalusC