Это взломать. Что такое ServletConfig
, является в основном объектом, содержащим параметры Servlet
. Вы найдете практически те же методы и информацию в интерфейсе ServletRegistration
. Так что все равно, если вы выберете параметры конфигурации с самого ServletContext
и заселите в пользовательской реализации ServletConfig
. Попробуйте это:
Получить ServletContext
объект
FacesContext facesContext = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext) context.getExternalContext(); // Your servlet context here
Из контекста сервлета, получить регистрационный сервлета объект для сервлета вы хотите
ServletRegistration reg = servletContext.getServletRegistration("theServlet"); //ServletRegistration contains all the info you'll need to populate a custom ServletConfig object
Используйте информацию, которую вы» (2) для заполнения пользовательского имплементации ServletConfig
ServletConfig myServletConfig = new MyCustomServletConfig();
myServletConfig.setInitParams(reg.getInitParameters()); //do a simple transfer of content
Последний шаг - упрощение, но вы получите эту идею.
Если вы используете предыдущую версию Java EE (pre 3.0), у вас будет доступ к ServletContext#getServlet()
, который теперь устарел.
@BalusC: О, я думал, что мне нужно, чтобы кто-то получил текущий экземпляр сервлета, который служит для запроса. Я попытаюсь создать экземпляр объекта 'Servlet' и посмотреть, как это происходит. Благодаря! : D –
@BalusC:: P На данный момент я фактически использую Captcha от PrimeFace. Тем не менее, моя заявка будет использоваться в Китае, и Captcha не работает очень хорошо там. Поэтому мой босс попросил меня искать альтернативу. :) Я считаю, что вы, должно быть, работали со многими решениями для конвертирования. Не возражаете ли вы рекомендовать мне решение или два: D –
@BalusC: Да, это не «сервлет». Он просто требует доступа к 'ServletConfig'. Вот почему я хочу получить доступ к «Servlet» внутри моего управляемого компонента, чтобы получить доступ к «ServletConfig». –