игра брюс 2048
Главная / Программирование / Java EE 6 / Тест 1

Java EE 6 - тест 1

Упражнение 1:
Номер 1

Укажите название файла, содержащего определения Web Bean-ов.


Ответ:

 (1) beans-config.xml 

 (2) web-config.xml 

 (3) web-beans.xml 

 (4) config.xml 

 (5) beans.xml 


Номер 2

Какой метод будет автоматически вызван при уничтожении Web bean-а?


Ответ:

 (1) finalize() 

 (2) destroy() 

 (3) stop() 

 (4) remove() 

 (5) никакой 


Номер 3

Какие утверждения относительно аннотации @AroundInvoke верны?


Ответ:

 (1) порядок выполнения методов заранее не определен 

 (2) метод, имеющий аннотацию AnnotationInvoke может иметь модификатор static 

 (3) метод, имеющий аннотацию AnnotationInvoke должен иметь один параметр типа javax.ejb.InvocationContext 

 (4) метод, имеющий аннотацию AnnotationInvoke может иметь модификатор final 

 (5) метод, имеющий аннотацию AnnotationInvoke может быть перегружен 


Номер 4

Укажите название файла, содержащего определения Web Bean-ов.


Ответ:

 (1) web.xml 

 (2) beans.xml 

 (3) web-beans-config.xml 

 (4) web-beans.xml 

 (5) config.xml 


Номер 5

Какие утверждения относительно данного кода верны?

@RequestScoped public class BeansSample{ @Initializer public BeansSample(){ } @Initializer public BeansSample(InjectObject obj){ } }

Ответ:

 (1) будет сгенерирована ошибка javax.webbeans.Exception 

 (2) будет сгенерирована ошибка javax.webbeans.InitializedException 

 (3) будет сгенерирована ошибка javax.webbeans.DefinitionException 

 (4) будет сгенерирована ошибка javax.webbeans.BeanException 

 (5) код выполнится без ошибок 


Номер 6

Какие утверждения относительно аннотации @AroundInvoke верны?


Ответ:

 (1) порядок выполнения методов заранее не определен 

 (2) класс может содержать только одну аннотацию @AroundInvoke 

 (3) метод, имеющий аннотацию AnnotationInvoke должен иметь один параметр типа javax.ejb.InvocationContext 

 (4) метод, имеющий аннотацию AnnotationInvoke должен иметь хотя бы один параметр типа javax.ejb.InvocationContext 

 (5) метод, имеющий аннотацию AnnotationInvoke может быть перегружен 


Упражнение 2:
Номер 1

Каким способом можно сообщить клиенту об ошибке валидации данных на стороне сервера?


Ответ:

 (1) с помощью тега h:errorMessages 

 (2) с помощью тега c:validationError 

 (3) с помощью тега h:message 

 (4) установив атрибут страницы showErrorMessages в значение true 

 (5) ни один из перечисленных 


Номер 2

Каким способом можно сообщить клиенту об ошибке валидации данных на стороне сервера?


Ответ:

 (1) только с помощью атрибута страницы 

 (2) с помощью настроек приложения 

 (3) только с помощью страницы ошибок 

 (4) с помощью специального тега 

 (5) можно сообщить только об ошибке валидации данных на стороне клиента 


Номер 3

Выберите правильные варианты, с помощью которых клиент может узнать об ошибках валидации/


Ответ:

 (1) <h:inputText id="test" required="#{true}" value="#{country.name}" /><br /> <h:message for="test" showError="true"/>  

 (2) <h:inputText id="test" required="#{true}" value="#{country.name}" /><br /> <h:message for="test"/>  

 (3) <h:inputText id="test" required="#{true}" value="#{country.name}" /><br /> <h:message for="test" showDetail="#{true}" showSummary="#{false}"/>  

 (4) <h:inputText id="test" required="#{true}" value="#{country.name}" /><br /> <h:message for="test" showDetail="#{true}"/>  


Номер 4

Каким способом можно сообщить клиенту об ошибке валидации данных на стороне сервера?


Ответ:

 (1) с помощью тега h:messages 

 (2) с помощью тега h:message 

 (3) установив атрибут страницы showValidationMessages в значение true 

 (4) с помощью тега c:validationFail 

 (5) ни один из перечисленных 


Номер 5

Каким способом можно сообщить клиенту об ошибке валидации данных на стороне сервера?


Ответ:

 (1) с помощью специального тега 

 (2) с помощью атрибута страницы 

 (3) с помощью настроек приложения 

 (4) с помощью настроек сервера 

 (5) ни один из перечисленных 


Номер 6

Выберите правильные варианты, с помощью которых клиент может узнать об ошибках валидации.


Ответ:

 (1) <h:inputText id="test" required="#{true}" value="#{country.name}" /><br /> <h:messages showError="#{true}" showSummary="#{false}" />  

 (2) <h:inputText id="test" required="#{true}" value="#{country.name}" /><br /> <h:messages showDetail="#{true}" />  

 (3) <h:inputText id="test" required="#{true}" value="#{country.name}" /><br /> <h:messages for="test" showDetail="#{true}" showSummary="#{false}" />  

 (4) <h:inputText id="test" required="#{true}" value="#{country.name}" /><br /> <h:messages showDetail="#{true}" showSummary="#{false}" />  


Упражнение 3:
Номер 1

Каким способом можно сообщить клиенту об ошибке валидации данных на стороне сервера?


Ответ:

 (1) с помощью тега c:message 

 (2) с помощью тега c:messages 

 (3) с помощью тега h:messages 

 (4) с помощью тега c:validationFail 

 (5) ни один из перечисленных 


Номер 2

Что можно использовать в JSF, чтобы зарегистрировать свои правила перехода по страницам?


Ответ:

 (1) файлы настроек сервера приложений 

 (2) web.xml 

 (3) файлы, реализующие интерфейс пользователя 

 (4) faces-config.xml 

 (5) faces.xml 


Номер 3

Ваше приложение требует ввести логин и пароль пользователя. Как обеспечить переход пользователя со страницы приветствия на страницу новостей по нажатию кнопки submit в случае, если данные верны, и остаться на странице приветствия, если неверны?


Ответ:

 (1) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case> <from-outcome>invalid_data</from-outcome> <to-view-id>/login.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/news.jsp</to-view-id> </navigation-case> </navigation-rule>  

 (2) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case case="invalid_data"> <from-outcome>invalid_data</from-outcome> <to-view-id>/login.jsp</to-view-id> </navigation-case> <navigation-case_ case="success"> <to-view-id>/news.jsp</to-view-id> </navigation-case> </navigation-rule>  

 (3) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case> <to-view-id>/login.jsp</to-view-id> </navigation-case> <navigation-case> <to-view-id>/news.jsp</to-view-id> </navigation-case> </navigation-rule>  

 (4) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case-false> <from-outcome>invalid_data</from-outcome> <to-view-id>/login.jsp</to-view-id> </navigation-case-false> <navigation-case-true> <from-outcome>success</from-outcome> <to-view-id>/news.jsp</to-view-id> </navigation-case-true> </navigation-rule>  

 (5) ни один из перечисленных вариантов не подходит 


Номер 4

Выберите правильные варианты регистрации сообщений об ошибках?


Ответ:

 (1) <error-page> <error-code>500</error-code> <location>/errors/error.jsp</location> </error-page>  

 (2) <error-page> <location>/errors/error.jsp</location> </error-page>  

 (3) <error-page> <exception-type>java.sql.SQLException</exception-type> <location>/errors/error.jsp</location> </error-page>  

 (4) <error-page> <exception-type>java.sql.SQLException</exception-type> <error-code>500</error-code> <location>/errors/error.jsp</location> </error-page>  

 (5) ни один из перечисленных 


Номер 5

Что можно использовать в JSF, чтобы зарегистрировать свои правила перехода по страницам?


Ответ:

 (1) файлы настроек сервера приложений 

 (2) web.xml 

 (3) файлы, реализующие интерфейс пользователя 

 (4) faces-config.xml 

 (5) faces.xml 


Номер 6

Ваше приложение требует ввести логин и пароль пользователя. Как обеспечить переход пользователя со страницы приветствия на страницу ошибок по нажатию кнопки submit в случае, если данные неверны?


Ответ:

 (1) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case> <to-view-id>/error.jsp</to-view-id> </navigation-case> </navigation-rule>  

 (2) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <to-view-id>/error.jsp</to-view-id> </navigation-rule>  

 (3) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case> <from-outcome>invalid_data</from-outcome> <to-view-id>/login.jsp</to-view-id> </navigation-case> </navigation-rule>  

 (4) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case> <from-outcome>invalid_data</from-outcome> <to-view-id>/error.jsp</to-view-id> </navigation-case> </navigation-rule>  

 (5) <navigation-rule> <from-view-id>/login.jsp</from-view-id> <from-outcome>invalid_data</from-outcome> <to-view-id>/error.jsp</to-view-id> </navigation-rule>  


Упражнение 4:
Номер 1

Укажите способы отслеживания состояния асинхронного запроса к сервлету


Ответ:

 (1) наследовать класс javax.servlet.AsyncListener 

 (2) наследовать класс javax.servlet.AsyncEvent 

 (3) наследовать класс javax.servlet.AsynchronousEvent 

 (4) реализовать интерфейс javax.servlet.AsyncListener 

 (5) реализовать интерфейс javax.servlet.ServletListener 


Номер 2

С помощью какого класса можно узнать, что асинхронный запрос к сервлету был завершен неуспешно


Ответ:

 (1) AsyncEvent 

 (2) ErrorAsyncEvent 

 (3) AsyncCallback 

 (4) ErrorEvent 

 (5) AsyncError 


Номер 3

Выберите вариант реализации интерфейса javax.servlet.AsyncListener, позволяющий отслеживать начало и ошибки асинхронного запроса.


Ответ:

 (1) public class SimpleAsyncListener implements AsyncListener{ public void onError(AsyncEvent event) throws IOException {..} public void onStart(AsyncEvent event) throws IOException {..} }  

 (2) public class SimpleAsyncListener implements AsyncListener{ public void onFail(AsyncEvent event) throws IOException {..} public void onBegin(AsyncEvent event) throws IOException {..} }  

 (3) public class SimpleAsyncListener implements AsyncListener{ public void onError(AsyncEvent event) throws IOException {..} public void onStartAsync(AsyncEvent event) throws IOException {..} }  

 (4) public class SimpleAsyncListener implements AsyncListener{ public void onError(AsyncEvent event) throws IOException {..} public void onAsync(AsyncEvent event) throws IOException {..} }  

 (5) ни один из перечисленных 


Номер 4

С помощью какого класса можно узнать, что асинхронный запрос к сервлету был завершен


Ответ:

 (1) javax.servletServletListener 

 (2) javax.servletAsyncCallback 

 (3) javax.servletAsyncListener 

 (4) javax.servletAsyncEvent 

 (5) javax.servletAsynchronousEvent 


Номер 5

Укажите способы отслеживания состояния асинхронного запроса к сервлету


Ответ:

 (1) реализовать интерфейс javax.servlet.AsyncListener 

 (2) реализовать интерфейс javax.servlet.ServletListener 

 (3) реализовать интерфейс javax.servlet.AsyncCallback 

 (4) наследовать класс javax.servlet.AsyncEvent 

 (5) наследовать класс javax.servlet.AsynchronousEvent 


Номер 6

Выберите вариант реализации интерфейса javax.servlet.AsyncListener, позволяющий отслеживать таймаут и успешное завершение асинхронного запроса.


Ответ:

 (1) public class SimpleAsyncListener implements AsyncListener{ public void onComplete(AsyncEvent event) throws IOException {..} public void onTimeout(AsyncEvent event) throws IOException {..} }  

 (2) public class SimpleAsyncListener implements AsyncListener{ public void onSuccess(AsyncEvent event) throws IOException {..} public void onTimeout(AsyncEvent event) throws IOException {..} }  

 (3) public class SimpleAsyncListener implements AsyncListener{ public void onComplete(AsyncEvent event) throws IOException {..} public void onWaitTimeout(AsyncEvent event) throws IOException {..} }  

 (4) public class SimpleAsyncListener implements AsyncListener{ public void onSuccess(AsyncEvent event) throws IOException {..} public void onTimeExceed(AsyncEvent event) throws IOException {..} }  

 (5) ни один из перечисленных 


Упражнение 5:
Номер 1

Какие утверждения относительно технологии facelets верны?


Ответ:

 (1) технологию facelets можно использовать вместе с технологией JSF 

 (2) facelets допускает интернационализацию 

 (3) это другое название технологии jsp 

 (4) в технологии facelets нельзя использовать Expression Language 

 (5) чтобы использовать библиотеку тегов, ее необходимо зарегистрировать в файле web.xml 


Номер 2

Укажите правильный вариант регистрации библиотеки тегов в файле web.xml.


Ответ:

 (1) <context-param> <param-name>libraries</param-name> <param-value> /facelets/tags/my.taglib.xml </param-value> </context-param>  

 (2) <context-param> <taglib-name>facelets.libraries</taglib-name> <taglib-value> /WEB-INF/facelets/tags/my.taglib.xml </taglib-value> </context-param>  

 (3) <context-param> <param-name>LIBRARIES</param-name> <param-value> /WEB-INF/facelets/tags/my1.taglib.xml /WEB-INF/facelets/tags/my2.taglib.xml </param-value> </context-param>  

 (4) <context-param> <param-name>facelets.LIBRARIES</param-name> <param-value> /WEB-INF/facelets/tags/my.taglib.xml </param-value> </context-param>  

 (5) <context-param> <param-name>facelets.LIBRARIES</param-name> <param-value> /WEB-INF/facelets/tags/my1.taglib.xml /WEB-INF/facelets/tags/my2.taglib.xml </param-value> </context-param>  


Номер 3

Укажите правильный вариант дескриптора библиотеки тегов.


Ответ:

 (1) <facelet-taglib> <namespace>http://www.example.com/jsf</namespace> <tag> <name>id</name> <source>id.xhtml</source> </tag> </facelet-taglib>  

 (2) <facelet-taglib> <namespace>http://www.example.com/jsf</namespace> <tag> <tag-name>id</tag-name> <source>id.xhtml</source> </tag> </facelet-taglib>  

 (3) <facelet-taglib> <namespace>http://www.example.com/jsf</namespace> <tags> <tag> <tag-name>id</tag-name> <source>id.xhtml</source> </_tag> </tags> </facelet-taglib>  

 (4) <facelet-taglib> <namespace>http://www.example.com/jsf</namespace> <tag name="id" source="id.xhtml"/> </facelet-taglib>  

 (5) <facelet-taglib> <namespace>http://www.example.com/jsf</namespace> <tags> <tag name="id" source="id.xhtml"/> </tags> </facelet-taglib>  


Номер 4

Какие утверждения относительно технологии facelets верны?


Ответ:

 (1) это другое название технологии jsp 

 (2) технологию facelets можно использовать вместе с технологией JSF 

 (3) чтобы использовать библиотеку тегов, ее необходимо зарегистрировать в файле web.xml 

 (4) facelets не допускает интернационализацию 

 (5) в технологии facelets можно использовать Expression Language 


Номер 5

Укажите правильный вариант регистрации библиотеки тегов в файле web.xml.


Ответ:

 (1) <context-param> <param-name>facelets.LIBRARIES</param-name> <param-value> /facelets/tags/my.taglib.xml </param-value> </context-param>  

 (2) <context-param> <taglib-name>facelets.LIBRARIES</taglib-name> <taglib-value> /WEB-INF/facelets/tags/my.taglib.xml </taglib-value> </context-param>  

 (3) <context-param> <param-name>facelets.LIBRARIES</param-name> <param-value> /WEB-INF/facelets/tags/my.taglib.xml </param-value> </context-param>  

 (4) <context-param> <param-name>facelets.LIBRARIES</param-name> <param-value> /WEB-INF/facelets/tags/my1.taglib.xml /WEB-INF/facelets/tags/my2.taglib.xml </param-value> </context-param>  

 (5) <context-param> <param-name>facelets.LIBRARIES</param-name> <param-value> /WEB-INF/facelets/tags/my1.taglib.xml, /WEB-INF/facelets/tags/my2.taglib.xml </param-value> </context-param>  


Номер 6

Укажите правильный вариант дескриптора библиотеки тегов.


Ответ:

 (1) <facelet-taglib> <library-class> com.example.tags.MyTagLibrary </library-class> </facelet-taglib>  

 (2) <facelet-taglib> <tag-class> com.example.tags.MyTagLibrary </tag-class> </facelet-taglib>  

 (3) <facelet-lib> <tag-class> com.example.tags.MyTagLibrary </tag-class> </facelet-lib>  

 (4) <facelet-lib> <library-class> com.example.tags.MyTagLibrary </library-class> </facelet-lib>  

 (5) <facelet-taglib> <library> com.example.tags.MyTagLibrary </library> </facelet-taglib>  


Упражнение 6:
Номер 1

Укажите местоположение файла persistence.xml в war-файле?


Ответ:

 (1) в каталоге WEB-INF/classes/META-INF/ 

 (2) в корневом каталоге war-файла 

 (3) в каталоге META-INF/ 

 (4) в каталоге META-INF/ библиотечного jar-файла, находящегося в директории WEB-INF в war-файле 

 (5) в каталоге WEB-INF/classes/ 


Номер 2

Какие утверждения относительно файла persistence.xml верны?


Ответ:

 (1) это конфигурационный файл, в котором могут быть описаны файлы с настроками подключения к базам данных 

 (2) это конфигурационный файл, в котором могут быть описаны подключения к базам данных 

 (3) может содержать описания связывания java-классов с таблицами БД 

 (4) это конфигурационный файл, в котором могут быть описаны любые настройки приложения 

 (5) может содержать настройки нескольких подключений к базам данных 


Номер 3

Какие утверждения относительно файла persistence.xml верны?


Ответ:

 (1) каждый блок настроек подключений к БД может содержать JNDI-имя этого подключения 

 (2) может содержать объявления управляемых классов персистентности 

 (3) может содержать описание связывания java-классов с таблицами БД 

 (4) может содержать способ создания ключей в БД 

 (5) может содержать описания полей таблиц 


Номер 4

Укажите местоположение файла persistence.xml в war-файле?


Ответ:

 (1) в каталоге WEB-INF/ 

 (2) в корневом каталоге war-файла 

 (3) в каталоге WEB-INF/classes/META-INF/ 

 (4) в каталоге META-INF/ библиотечного jar-файла, находящегося в директории WEB-INF/lib в war-файле 

 (5) в каталоге WEB-INF/classes/ 


Номер 5

Укажите правильное местоположение файла persistence.xml


Ответ:

 (1) в любом каталоге, определенном в переменной CLASSPATH 

 (2) в любом каталоге внутри war-файла 

 (3) в каталоге, указанном в файле web.xml 

 (4) в каталоге WEB-INF/classes/META-INF/ 

 (5) в каталоге WEB-INF/ 


Номер 6

Какие утверждения относительно файла persistence.xml верны?


Ответ:

 (1) это конфигурационный файл, в котором могут быть описаны файлы с настроками подключения к базам данных 

 (2) это конфигурационный файл, в котором могут быть описаны подключения к базам данных 

 (3) это конфигурационный файл, в котором могут быть описаны классы персистентности 

 (4) это конфигурационный файл, в котором могут быть описаны любые настройки приложения 


Упражнение 7:
Номер 1

Каково назначение аннотации @ElementCollection.


Ответ:

 (1) показывает, что объект содержит неуникальные сущности 

 (2) показывает, что объект содержит коллекцию "простых" типов и "embeddable"-объектов 

 (3) показывает, что объект содержит уникальные сущности 

 (4) указывает виртуальной машине автоматически создать коллекцию 

 (5) такой аннотации нет 


Номер 2

Что обозначает аннотация @Transient?


Ответ:

 (1) поле является статическим 

 (2) перед сохранением в БД поле должно быть специальным образом обработано 

 (3) поле не может быть сохранено в БД 

 (4) поле не может быть сохранено только во временной таблице 

 (5) ничего из перечисленного 


Номер 3

Что обозначает аннотация @Temporal?


Ответ:

 (1) используется для поля, имеющего тип java.util.Calendar, которое может быть сохранено в БД 

 (2) поле является временным 

 (3) поле может быть сохранено только во временной таблице 

 (4) используется для поля, имеющего тип java.util.Calendar, которое не может быть сохранено в БД 

 (5) ничего из перечисленного 


Номер 4

Каково назначение аннотации @ElementCollection?


Ответ:

 (1) показывает, что объект содержит неуникальные сущности 

 (2) показывает, что объект содержит коллекцию "простых" типов 

 (3) показывает, что объект содержит уникальные сущности 

 (4) показывает, что объект содержит коллекцию "embeddable"-объектов 

 (5) показывает, что объект содержит курсор БД 


Номер 5

Что обозначает аннотация @Transient?


Ответ:

 (1) поле не может быть сериализовано 

 (2) поле не может быть сохранено в БД 

 (3) поле является статическим 

 (4) поле является потоко-защищенным 

 (5) ничего из перечисленного 


Номер 6

Что обозначает аннотация @Temporal?


Ответ:

 (1) поле не может быть сохранено в БД 

 (2) поле не может быть сериализовано 

 (3) используется для поля, имеющего тип java.util.Date, которое может быть сохранено в БД 

 (4) используется для поля, имеющего тип java.util.Date, которое не может быть сохранено в БД 

 (5) ничего из перечисленного 


Упражнение 8:
Номер 1

Statement stmt = conn.createStatement();
stmt.executeUpdate("insert into books (title, author) values ('David Flanagan', 'Java In A Nutshell')",
	Statement.RETURN_KEYS);

Выберите вариант кода, который позволит вам получить все созданные ключи.


Ответ:

 (1) stmt.getKeys() 

 (2) stmt.getGeneratedKeys()

 (3) stmt.getPrimaryKeys() 

 (4) stmt.getGeneratedPrimaryKeys() 

 (5) код содержит ошибки 


Номер 2

Укажите результат действия функции rs.next() в нижеприведенном коде.

ResultSet rs = stmt.executeQuery(...); rs.next();

Ответ:

 (1) очищает курсор. 

 (2) позволяет перейти к выполнению нового запроса 

 (3) проверяет наличие строки, следующей за текущей, и перевод курсор на не 

 (4) возвращает следующую строку курсора 

 (5) код содержит ошибку 


Номер 3

Вы хотите реализовать транзакционность, использую технологию JDBC. Каким образом это можно реализовать, если необходимо провести несколько запросов в одной транзакции?


Ответ:

 (1) использовать методы setAutoCommit в java.sql.Connection 

 (2) использовать специальную реализацию интерфейса java.sql.Connection 

 (3) использовать команды begin и commit в sql-запросе 

 (4) использовать методы commit и rollback в java.sql.Connection 

 (5) ничего из перечисленного 


Номер 4

Statement stmt = conn.createStatement();
stmt.executeUpdate("insert into books (title, author) values ('_David Flanagan_', '_Java In A Nutshell_')", 
	Statement.RETURN_GENERATED_KEYS);

Выберите вариант кода, который позволит вам получить все созданные ключи.


Ответ:

 (1) stmt.getKeys() 

 (2) stmt.getGeneratedKeys() 

 (3) stmt.getPrimaryKeys() 

 (4) stmt.getGeneratedPrimaryKeys() 

 (5) stmt.getGenerated() 


Номер 5

Укажите результат действия функции rs.next() в нижеприведенном коде.

ResultSet rs = stmt.executeQuery(...); rs.next();

Ответ:

 (1) переводит курсор на первую строку 

 (2) очищает курсор 

 (3) позволяет перейти к выполнению следующего запроса 

 (4) возвращает следующую строку курсора 

 (5) код содержит ошибку 


Номер 6

Вы хотите реализовать транзакционность, использую технологию JDBC. Каким образом это можно реализовать?


Ответ:

 (1) использовать методы setAutoCommit и setAutoRollback в java.sql.Connection 

 (2) использовать методы commit и rollback в java.sql.Connection 

 (3) использовать специальную реализацию интерфейса java.sql.Connection 

 (4) использовать команды begin и commit в sql-запросе 

 (5) ничего из перечисленного 


Упражнение 9:
Номер 1

Выберите вариант кода, который позволит вам изменить запись в БД


Ответ:

 (1) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString(1, "newLogin"); st.setInt(2, 10); st.executeUpdate();  

 (2) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.setString("login", "newLogin"); st.setInt("userId", 10); st.execute();  

 (3) PreparedStatement st = conn.prepare("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString("login", "newLogin"); st.setInt("userId", 10); st.executeUpdate();  

 (4) PreparedStatement st = conn.prepare("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.setString(1, "newLogin"); st.setInt(2, 10); st.executeUpdate();  

 (5) ни один из перечисленных 


Номер 2

Выберите вариант кода, который позволит вам изменить запись в БД


Ответ:

 (1) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.setString(1, "newLogin"); st.setInt(2, 10); ResultSet rs = t.executeUpdate();  

 (2) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.set(1, "newLogin"); st.set(2, 10); ResultSet rs = st.executeUpdate();  

 (3) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setParameter(1, "newLogin"); st.setParameter(2, 10); st.executeUpdate();  

 (4) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString(1, "newLogin"); st.setInt(2, 10); int count = st.executeUpdate();  

 (5) ни один из перечисленных 


Номер 3

Выберите вариант кода, который позволит вам изменить запись в БД


Ответ:

 (1) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = '?' where userId = '?'";); st.setString(1, "newLogin"); st.setInt(2, 10); st.executeUpdate();  

 (2) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString(1, "newLogin"); st.setInt(2, 10); st.executeUpdate();  

 (3) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString(1, "newLogin"); st.setInt(2, 10); st.execute();  

 (4) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString(1, "newLogin"); st.executeUpdate();  

 (5) ни один из перечисленных 


Номер 4

Выберите вариант кода, который позволит вам изменить запись в БД


Ответ:

 (1) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.setString("login", "newLogin"); st.setInt("userId", 10); st.executeUpdate();  

 (2) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString(1, "newLogin"); st.setInt(2, 10); st.executeUpdate();  

 (3) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.setString(1, "newLogin"); st.setInt(2, 10); st.executeUpdate();  

 (4) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString("login", "newLogin"); st.setInt("userId", 10); st.executeUpdate();  

 (5) ни один из перечисленных 


Номер 5

Выберите вариант кода, который позволит вам изменить запись в БД


Ответ:

 (1) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.setString(1, "newLogin"); st.setInt(2, 10); int count = t.executeUpdate();  

 (2) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.setString("login", "newLogin"); st.setInt("userId", 10); ResultSet rs = st.executeUpdate();  

 (3) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString("login", "newLogin"); st.setInt("userId", 10); ResultSet rs = st.executeUpdate();  

 (4) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString(1, "newLogin"); st.setInt(2, 10); int count = st.executeUpdate();  

 (5) ни один из перечисленных 


Номер 6

Выберите вариант кода, который позволит вам изменить запись в БД


Ответ:

 (1) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setString(1, "newLogin"); st.setInt(2, 10); st.executeUpdate();  

 (2) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setParameter(1, "newLogin"); st.setParameter(2, 10); st.executeUpdate();  

 (3) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = {'login'} where userId = {'userId'}";); st.setParameterString("login", "newLogin"); st.setParameterInt("userId", 10); st.executeUpdate();  

 (4) PreparedStatement st = conn.prepareStatement("update " + dbName + ".users " + "set login = ? where userId = ?";); st.setParameterString("login", "newLogin"); st.setParameterInt("userId", 10); st.executeUpdate();  

 (5) ни один из перечисленных 


Упражнение 10:
Номер 1

С помощью каких объектов можно получить доступ к атрибутам приложения из EL-выражений?


Ответ:

 (1) page.scope 

 (2) context.application 

 (3) application.scope 

 (4) application 

 (5) applicationScope 


Номер 2

С помощью каких объектов можно получить доступ к атрибутам запроса из EL-выражений?


Ответ:

 (1) request.values 

 (2) request.params 

 (3) request.scope 

 (4) request 

 (5) requestScope 


Номер 3

С помощью каких объектов можно получить доступ к атрибутам сессии из EL-выражений?


Ответ:

 (1) context.session 

 (2) session 

 (3) sessionScope 

 (4) application.session 

 (5) session.Scope 


Номер 4

С помощью каких объектов можно получить доступ к атрибутам сессии из EL-выражений?


Ответ:

 (1) page.session 

 (2) request.sessionScope 

 (3) application.sessionScope 

 (4) sessionScope 

 (5) session 


Номер 5

С помощью каких объектов можно получить доступ к атрибутам запроса из EL-выражений?


Ответ:

 (1) page.request 

 (2) requestScope 

 (3) request.scope 

 (4) application.request 

 (5) request.params 


Номер 6

С помощью каких объектов можно получить доступ к атрибутам страницы из EL-выражений?


Ответ:

 (1) page.Scope 

 (2) pageScope 

 (3) request.Scope 

 (4) application.page 

 (5) page 


Упражнение 11:
Номер 1

____
<sql:query var="countries" dataSource="${ds}">select * from countries</sql:query>
<c:foreach var="countries" items="${countries.rows}">
	<tr>
		<td><c:out value="${countries.title}"/></td>
	</tr>
</c:foreach>

Выберите вариант кода, который при подстановке вместо знаков подчеркивания, обеспечит подключение к БД Oracle с названием myDB на сервере dbServer


Ответ:

 (1) <sql:setDataSource datasource="ds" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  

 (2) <sql:setDataSource datasource="ds" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  

 (3) <sql:setDataSource var="ds" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  

 (4) <sql:setDataSource var="ds" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  

 (5) ни один из вышеперечисленных 


Номер 2

Выберите вариант кода, который позволяет получить конкретного пользователя из конкретной страны


Ответ:

 (1) <sql:query dataSource="${ds}" var="users"> select * from users where userId = ? and countryId = ?; <sql:param value="${countryId}" /> <sql:param value="${userId}" /> </sql:query>  

 (2) <sql:query dataSource="${ds}" var="users"> select * from users where userId = {userId} and countryId = {countryId}; </sql:query>  

 (3) <sql:query dataSource="${ds}" var="users"> select * from users where userId = and countryId = ; <sql:param value="${userId}" /> <sql:param value="${countryId}" /> </sql:query>  

 (4) <sql:query dataSource="${ds}" var="users"> select * from users where userId = ? and countryId = ?; <sql:param value="${userId}" /> <sql:param value="${countryId}" /> </sql:query>  

 (5) <sql:query dataSource="${ds}" var="users"> select * from users where userId and countryId = ? and ?; <sql:param value="${userId}" /> <sql:param value="${countryId}" /> </sql:query>  


Номер 3

Выберите вариант кода, который позволяет получить конкретного пользователя из конкретной страны


Ответ:

 (1) <sql:query dataSource="${ds}" var="users"> select * from users; <sql:param value="${userId}" /> <sql:param value="${countryId}" /> </sql:query>  

 (2) <sql:query dataSource="${ds}" var="users"> select * from users where userId = ? and countryId = ?; <sql:param value="${userId}" /> <sql:param value="${countryId}" /> </sql:query>  

 (3) <sql:query dataSource="${ds}" var="users" query="select * from users where userId = {userId} and countryId = {countryId};"> </sql:query>  

 (4) <sql:query dataSource="${ds}" var="users"> select * from users where userId = and countryId = ; <sql:params> <sql:param value="${userId}" /> <sql:param value="${countryId}" /> </sql:params> </sql:query>  

 (5) <sql:query dataSource="${ds" var="users" query="select * from users where userId and countryId = ? and ?;"> <sql:param value="${userId}" /> <sql:param value="${countryId}" /> </sql:query>  


Номер 4

Выберите вариант кода, который при подстановке вместо знаков подчеркивания, обеспечит подключение к БД Oracle с названием myDB на сервере dbServer

____ <sql:query var="countries" dataSource="${ds}">select * from countries</sql:query> <c:foreach var="countries" items="${countries.rows}"> <tr> <td><c:out value="${countries.title}"/></td> </tr> </c:foreach>

Ответ:

 (1) <sql:setDataSource datasource="d" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  

 (2) <sql:setDataSource var="ds" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  

 (3) <sql:setDataSource var="ds" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  

 (4) <sql:setDataSource var="datasource" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  

 (5) <sql:setDataSource var="datasource" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@dbServer:1521:myDB" scope="session" />  


Номер 5

Выберите вариант кода, который позволяет получить список всех пользователей из конкретной страны


Ответ:

 (1) <sql:query dataSource="${ds}" var="users"> select * from users where countryId = {}; <sql:param value="${countryId}" /> </sql:query>  

 (2) <sql:query dataSource="${ds}" var="users"> select * from users where countryId = ${countryId}; </sql:query>  

 (3) <sql:query dataSource="${ds}" var="users"> select * from users where countryId = ?; <sql:param value="${countryId}" /> </sql:query>  

 (4) <sql:query dataSource="${ds}" var="users"> select * from users where countryId = countryId; <sql:param value="${countryId}" /> </sql:query>  

 (5) <sql:query dataSource="${ds}" var="users"> select * from users where countryId = ; <sql:param value="${countryId}" /> </sql:query>  


Номер 6

Выберите вариант кода, который позволяет получить список всех пользователей из конкретной страны


Ответ:

 (1) <sql:query dataSource="${ds}" var="users"> select * from users where countryId = ?; <sql:param value="${countryId}" /> </sql:query>  

 (2) <sql:query dataSource="${ds}" var="users" query="select * from users where countryId = {};"> <sql:param value="${countryId}" /> </sql:query>  

 (3) <sql:query dataSource="${ds}" var="users"> select * from users where countryId = ${countryId}; </sql:query>  

 (4) <sql:query dataSource="${ds}" var="users" query="select * from users where countryId = ;"> <sql:param value="${countryId}" /> </sql:query>  

 (5) <sql:query dataSource="${ds}" var="users"> select * from users where countryId = countryId; <sql:param value="${countryId}" /> </sql:query>  


Упражнение 12:
Номер 1

В какой библиотеке JSTL есть функции для работы с БД?


Ответ:

 (1) sql 

 (2) fmt 

 (3) functions 

 (4) core 

 (5) xml 


Номер 2

В какой библиотеке JSTL есть функции, которые могут работать с xml?


Ответ:

 (1) sql 

 (2) fmt 

 (3) functions 

 (4) core 

 (5) xml 


Номер 3

В какой библиотеке JSTL есть теги условий?


Ответ:

 (1) sql 

 (2) fmt 

 (3) functions 

 (4) core 

 (5) xml 


Номер 4

В какой библиотеке JSTL есть функции, которые могут работать с URL-адресами?


Ответ:

 (1) sql 

 (2) fmt 

 (3) functions 

 (4) core 

 (5) xml 


Номер 5

В какой библиотеке JSTL есть функции, которые могут работать со строками?


Ответ:

 (1) sql 

 (2) fmt 

 (3) functions 

 (4) core 

 (5) xml 


Номер 6

В какой библиотеке JSTL есть функции, которые предназначены для интернационализации?


Ответ:

 (1) sql 

 (2) fmt 

 (3) functions 

 (4) core 

 (5) xml 


Упражнение 13:
Номер 1

Как в JNDI создать экземпляр javax.naming.Context?


Ответ:

 (1) создав экземпляр класса javax.naming.Contex 

 (2) с помощью методов класса javax.naming.ContextResolver 

 (3) создав экземпляр класса javax.jndi.InitialContex 

 (4) ни один из вышеперечисленных 


Номер 2

Какой из вариантов кода неправильный?


Ответ:

 (1) javax.naming.Context ctx = new javax.naming.Context(System.getProperties()); 

 (2) javax.naming.Context ctx = new javax.naming.InitialContext(); 

 (3) javax.naming.Context ctx = new javax.naming.InitialContext(); 

 (4) javax.naming.Context ctx = new javax.naming.InitialContext(System.getProperties()); 

 (5) javax.naming.Context ctx = javax.naming.InitialContext(System.getProperties()); 


Номер 3

Како метод позволяет получить объект в JNDI?


Ответ:

 (1) register 

 (2) addToEnvironment 

 (3) bind 

 (4) lookup 

 (5) create 


Номер 4

Как в JNDI получить экземпляр javax.naming.Context в начале работы приложения?


Ответ:

 (1) создав экземпляр класса javax.naming.InitialContex 

 (2) создав экземпляр класса javax.naming.Contex 

 (3) с помощью методов класса javax.naming.ContextResolver 

 (4) с помощью методов класса javax.naming.ContextProvider 


Номер 5

Какой из вариантов кода правильный?


Ответ:

 (1) javax.naming.Context ctx = new javax.naming.Context(); 

 (2) javax.jndi.Context ctx = new javax.jndi.InitialContext(); 

 (3) javax.naming.Context ctx = new javax.naming.InitialContext(); 

 (4) javax.jndi.Context ctx = new javax.jndi.Context(); 

 (5) javax.naming.Context ctx = javax.naming.InitialContext(); 


Номер 6

Како метод позволяет зарегистрировать новый объект в JNDI?


Ответ:

 (1) register 

 (2) addToEnvironment 

 (3) bind 

 (4) lookup 

 (5) create 


Упражнение 14:
Номер 1

Какие утверждения относительно технологии JTA верны?


Ответ:

 (1) позволяет приложению совершать распределенные транзакции 

 (2) позволяет обрабатывать несколько одновременных операций пользователя 

 (3) для работы обязательно нужен сервер приложений или контейнер 

 (4) позволяет ресурсам совместно участвовать в транзакциях 


Номер 2

Какие пакеты содержит классы и интерфейсы технологии JTA?


Ответ:

 (1) java.transaction.xa 

 (2) javax.transaction 

 (3) java.jta.transaction 

 (4) java.jta.transaction.api 

 (5) javax.jta.transaction.api 


Номер 3

Какие утверждения относительно технологии JTA верны?


Ответ:

 (1) позволяет приложениям посылать сообщения друг другу 

 (2) повышает скорость обмена данными между приложением и БД 

 (3) повышает безопасность обмена данными между приложением и БД 

 (4) позволяет приложению совершать распределенные транзакции 

 (5) ничего из перечисленного 


Номер 4

Какие утверждения относительно технологии JTA верны?


Ответ:

 (1) позволяет приложениям посылать сообщения друг другу 

 (2) позволяет обрабатывать несколько одновременных операций пользователя 

 (3) позволяет приложению совершать распределенные транзакции 

 (4) позволяет ресурсам совместно участвовать в транзакциях 


Номер 5

Какие пакеты содержит классы и интерфейсы технологии JTA?


Ответ:

 (1) java.transaction 

 (2) java.transaction.api 

 (3) javax.transaction 

 (4) javax.transaction.api 

 (5) javax.transaction.xa 


Номер 6

Какие утверждения относительно технологии JTA верны?


Ответ:

 (1) позволяет приложениям посылать сообщения друг другу 

 (2) позволяет приложению совершать распределенные транзакции 

 (3) позволяет приложению совершать вложенные транзакции 

 (4) повышает безопасность обмена данными между приложением и БД 


Упражнение 15:
Номер 1

Выберите правильный вариант, позволяющий получить доступ к следующему ресурсу LDAP java.test.com:2030/jndi?


Ответ:

 (1) Object obj = new InitialContext().lookup( "java.test.com:2030/jndi" );  

 (2) Object obj = new InitialContext().lookup( "ldap://java.test.com:2030/jndi" );  

 (3) Object obj = new InitialContext().lookup( "ldap/java.test.com:2030/jndi" );  

 (4) Object obj = new InitialContext().lookup( "ldap//java.test.com:2030/jndi" );  

 (5) Object obj = new InitialContext().lookup( "ldap://java.test.com/jndi" );  


Номер 2

Выберите правильный вариант, позволяющий получить доступ к источнику данных с именем myDS?


Ответ:

 (1) @DataSource(name="java:/myDS") private DataSource ds;  

 (2) @DataSource(name="java:/myDS") private DataSource ds;  

 (3) @Resource(dsName="java:/myDS") private DataSource ds;  

 (4) @DataSource(mappedName="java:/myDS") private DataSource ds;  

 (5) @Resource(mappedName="java:/myDS") private DataSource ds;  


Номер 3

Какие утверждения относительно технологии JNDI верны?


Ответ:

 (1) позволяющий приложениям, выполненным на платформе J2EE, работать с сообщениями 

 (2) позволяет получить доступ к объектам по их имени 

 (3) позволяет получать доступ к данным в БД 

 (4) JNDI предназначен для единообразного доступа к разнообразным службам имен и каталогов 

 (5) ничего из перечисленного 


Номер 4

Выберите правильный вариант, позволяющий получить доступ к следующему ресурсу LDAP java.test.com:3040/example/jndi?


Ответ:

 (1) Object obj = new InitialContext().lookup( "ldap://java.test.com/example/jndi" );  

 (2) Object obj = new InitialContext().lookup( "ldap//java.test.com/example/jndi" );  

 (3) Object obj = new InitialContext().lookup( "ldap.java.test.com:3040/example/jndi" );  

 (4) Object obj = new InitialContext().lookup( "ldap://java.test.com:3040/example/jndi" );  

 (5) Object obj = new InitialContext().lookup( "java.test.com:3040/example/jndi" );  


Номер 5

Выберите правильный вариант, позволяющий получить доступ к источнику данных с именем myDS?


Ответ:

 (1) @Resource(name="java:/myDS") private DataSource ds;  

 (2) @Resource(mappedName="java:/myDS") private DataSource ds;  

 (3) @DataSource(name="java:/myDS") private DataSource ds;  

 (4) @Resource(dsName="java:/myDS") private DataSource ds;  

 (5) @DataSource(mappedName="java:/myDS") private DataSource ds;  


Номер 6

Какие утверждения относительно технологии JNDI верны?


Ответ:

 (1) JNDI предназначен для единообразного доступа к разнообразным службам имен и каталогов 

 (2) разные службы каталогов интегрируются с JNDI через интерфейс поставщика услуг 

 (3) позволяет получить доступ к объектам по их имени 

 (4) ничего из перечисленного 


Упражнение 16:
Номер 1

Что из перечисленного относится к технологии инъекции зависимостей (Dependency Injection)?


Ответ:

 (1) new InitialContext().lookup("java:comp/env/bean"); 

 (2) @Resource(name="jms/QueueConnectionFactory") 

 (3) @PersistenceUnit(unitName="myPU") 

 (4) аннотация @Stateful 

 (5) аннотация @EJB 


Номер 2

Какую область действия (scope) по умолчанию имеет объект, добавленный с помощью инъекции зависимостей (Dependency Injection), если ни для него, ни для класса-контейнера область действия (scope) не указана?


Ответ:

 (1) application 

 (2) dependent 

 (3) request 

 (4) default 

 (5) session 

 (6) ни один из перечисленных 


Номер 3

С помощью чего можно реализовать инъекцию зависимостей (Dependency Injection)?


Ответ:

 (1) аннотации 

 (2) файл web-xml 

 (3) xml-дескрипторы 

 (4) файл persistence-xml 


Номер 4

С помощью чего можно реализовать инъекцию зависимостей (Dependency Injection)?


Ответ:

 (1) файл web-xml 

 (2) только аннотации 

 (3) аннотации и xml-дескрипторы 

 (4) файл persistence-xml 

 (5) только xml-дескрипторы 


Номер 5

Какую область действия (scope) по умолчанию имеет объект (web bean), добавленный с помощью инъекции зависимостей (Dependency Injection), если ни для него, ни для класса-контейнера область действия (scope) не указана?


Ответ:

 (1) application 

 (2) request 

 (3) page 

 (4) dependent 

 (5) session 


Номер 6

Что из перечисленного относится к технологии инъекции зависимостей (Dependency Injection)?


Ответ:

 (1) аннотация @Dependency 

 (2) аннотация javax.persistence.PersistenceContext 

 (3) @PersistenceUnit(unitName="myPU") 

 (4) аннотация @Stateless 

 (5) @Resource(name="jms/QueueConnectionFactory") 


Упражнение 17:
Номер 1

Какой пакет содержит JEE management API?


Ответ:

 (1) javax.api 

 (2) javax.management 

 (3) management.api 

 (4) javax.management.jee 

 (5) javax.management.api 


Номер 2

Относительно технологии JMX, что из перечисленного верно?


Ответ:

 (1) JMX позволяет работать с почтой 

 (2) JMX позволяет получать извещения о каких-либо неверных изменениях состояния 

 (3) JMX является основой для создания логики взаимодействия с БД 

 (4) JMX является аналогом технологии JMS 

 (5) JMX позволяет просмотр и изменение конфигурации приложения 


Номер 3

Укажите назначения слоя agent в технология JMX?


Ответ:

 (1) обеспечивает интерфейс, который используют удаленные инструменты 

 (2) содержит ManagedBeans и ресурсы, которыми они управляют 

 (3) предоставляет удаленный доступ к управлению приложением 

 (4) ничего из перечисленного 


Номер 4

Какой пакет содержит JEE management API?


Ответ:

 (1) java.management.api 

 (2) java.ejb.management 

 (3) javax.management.api 

 (4) javax.management 

 (5) java.management 


Номер 5

Относительно технологии JMX, что из перечисленного верно?


Ответ:

 (1) JMX позволяет просмотр и изменение конфигурации приложения 

 (2) JMX позволяет работать с почтой 

 (3) JMX позволяет сбор и публикацию статистических данных о работе приложения 

 (4) JMX позволяет получать извещения о каких-либо неверных изменениях состояния 

 (5) JMX является аналогом технологии JMS 


Номер 6

Какие логические слои содержит технология JMX:


Ответ:

 (1) instrumentation-слой 

 (2) слой сообщений 

 (3) управляющий слой 

 (4) agent-слой 

 (5) слой взаимодействия с данными 


Упражнение 18:
Номер 1

Укажите способ сохранения переменной var на уровне сессии из JSP-страницы.


Ответ:

 (1) session.setAttribute("var", var); 

 (2) session.setAttribute("var"); 

 (3) session.setAttribute(var); 

 (4) getSession().setAttribute("var", var); 

 (5) getSession().setAttribute(var); 


Номер 2

Укажите способ получения переменной var, сохраненной в запросе, из JSP-страницы.


Ответ:

 (1) Integer var = getRequest().getInteger("var"); 

 (2) Integer var = request.getInteger("var"); 

 (3) Integer var = request.getAttribute("var"); 

 (4) Integer var = (Integer)request.getAttribute("var"); 

 (5) Integer var = (Integer)getRequest().getAttribute("var"); 


Номер 3

Укажите способ сохранения переменной var на уровне страницы из JSP-страницы.


Ответ:

 (1) page.setAttribute("var", var); 

 (2) page.setAttribute("var"); 

 (3) page.setAttribute(var); 

 (4) pageContext.setAttribute(var); 

 (5) pageContext.setAttribute("var", var); 


Номер 4

Укажите способ получения переменной var, сохраненной в сессии, из JSP-страницы.


Ответ:

 (1) Integer var = getSession().getInteger("var"); 

 (2) Integer var = session.getInteger("var"); 

 (3) Integer var = session.getAttribute("var"); 

 (4) Integer var = (Integer)session.getAttribute("var"); 

 (5) Integer var = (Integer)getSession().getAttribute("var"); 


Номер 5

Укажите способ получения переменной var, сохраненной на уровне приложения, из JSP-страницы.


Ответ:

 (1) Integer var = (Integer)getRequest().getInteger("var"); 

 (2) Integer var = (Integer)request.getInteger("var"); 

 (3) Integer var = (Integer)application.getAttribute("var"); 

 (4) Integer var = (Integer)getApplication().getAttribute("var"); 

 (5) Integer var = (Integer)session.getAttribute("var"); 


Номер 6

Укажите способ сохранения переменной var на уровне приложения из JSP-страницы.


Ответ:

 (1) application.setAttribute("var", var); 

 (2) application.setAttribute("var"); 

 (3) application.setAttribute(var); 

 (4) application.setValue("var", var); 

 (5) application.setValue(var); 


Упражнение 19:
Номер 1

Укажите директивы JSP-страницы, которые не влияют на загрузку памяти сервера:


Ответ:

 (1) language 

 (2) buffer 

 (3) errorPage 

 (4) session 


Номер 2

Имеется следующая директива JSP:

<%@ page language="java" buffer="5Kb" autoflush="true" errorPage="/errorPage.jsp" %>

Что произойдет при попытке обработать ответ размером около 100Kb?


Ответ:

 (1) будет сгенерирована ошибка, так как указанный размер буфера меньше 8KB 

 (2) ответ будет обработан правильно 

 (3) будет сгенерирована ошибка переполнения буфера 

 (4) ошибка при трансляции страницы, так как директива содержит ошибку 

 (5) ничего из перечисленного 


Номер 3

Какие утверждения относительно директивы jsp:include верны?


Ответ:

 (1) директива jsp:include вставляет файл на этапе трансляции JSP страницы 

 (2) директива jsp:include позволяет передавать параметры во вставляемый файл 

 (3) директива jsp:include позволяет вставлять динамический контент 

 (4) директива jsp:include позволяет вставлять статический контент 


Номер 4

Укажите директивы JSP-страницы, которые могут влиять на загрузку памяти сервера:


Ответ:

 (1) cache 

 (2) buffer 

 (3) memory 

 (4) size 

 (5) autoflush 


Номер 5

Имеется следующая директива JSP:

<%@ page language="java" buffer="5Kb" autoflush="false" errorPage="/errorPage.jsp" %>

Что произойдет при попытке обработать ответ размером около 100Kb?


Ответ:

 (1) будет сгенерирована ошибка, так как указанный размер буфера меньше 8KB 

 (2) размер буфера будет проигнорирован и ответ будет обработан правильно 

 (3) будет сгенерирована ошибка переполнения буфера 

 (4) ничего из перечисленного 


Номер 6

Какие утверждения относительно директивы include верны?


Ответ:

 (1) директива include вставляет файл на этапе трансляции JSP страницы 

 (2) директива include позволяет передавать параметры во вставляемый файл 

 (3) директива include позволяет вставлять динамический контент 

 (4) ничего из перечисленного 


Упражнение 20:
Номер 1

Что позволяет указать сервлету, сгенерированному из JSP, обрабатывать только один запрос в один момент времени?


Ответ:

 (1) присвоение атрибуту singleThread значения true 

 (2) присвоение атрибуту isThreadSafe значения false 

 (3) присвоение атрибуту threadeSafe значения true 

 (4) присвоение атрибуту multiThread значения false 

 (5) ничего из вышеперечисленного 


Номер 2

С помощью какой функции вы может инициализировать сервлет?


Ответ:

 (1) start() 

 (2) init() 

 (3) acquire() 

 (4) begin() 

 (5) ни один из перечисленных 


Номер 3

С помощью какого атрибута директивы page можно указать контейнеру, что данная JSP-страница может обрабатывать ошибки других страниц?


Ответ:

 (1) isErrorPage 

 (2) errorPage 

 (3) canHandleError 

 (4) canCatchError 

 (5) ничего из перечисленного 


Номер 4

Что позволяет указать сервлету, сгенерированному из JSP, обрабатывать несколько запросов в один момент времени?


Ответ:

 (1) присвоение атрибуту isThreadSafe значения true 

 (2) присвоение атрибуту thread значения true 

 (3) присвоение атрибуту singleThread значения false 

 (4) присвоение атрибуту isThreadSafe значения false 

 (5) присвоение атрибуту single значения false 


Номер 5

С помощью какой функции вы может освободить ресурсы, занятые сервлетом?


Ответ:

 (1) release() 

 (2) finalize() 

 (3) destroy() 

 (4) stop() 

 (5) free() 


Номер 6

С помощью какого атрибута директивы page можно указать JSP-странице игнорировать выражения EL?


Ответ:

 (1) ignoreEL 

 (2) isELIgnored 

 (3) processEL 

 (4) isELprocessed 

 (5) ничего из перечисленного 


Упражнение 21:
Номер 1

Укажите назначение функции jspInit().


Ответ:

 (1) является точкой входа в код JSP-страницы 

 (2) содержит код, инициализирующий JSP-страницу при каждом обращении 

 (3) содержит код, инициализирующий JSP-страницу один раз за все время ее существования 

 (4) позволяет переопределить функцию _jspService() 


Номер 2

Что из перечисленного входит в жизненный цикл JSP-страницы?


Ответ:

 (1) компиляция 

 (2) прототипирование 

 (3) обработка запросов 

 (4) уничтожение 

 (5) взаимодействие с БД 


Номер 3

Какие методы, относящиеся к жизненному циклу JSP-страницы, нельзя переопределить?


Ответ:

 (1) _jspDestroy() 

 (2) _jspFinalize() 

 (3) _jspDoGet() 

 (4) _jspInit() 

 (5) _jspService() 


Номер 4

Какое назначение функции jspInit()?


Ответ:

 (1) позволяет переопределить функцию _jspService() 

 (2) содержит код, инициализирующий JSP-страницу при каждом обращении 

 (3) содержит код, инициализирующий JSP-страницу один раз за все время ее существования 

 (4) содержит код, инициализирующий JSP-страницу по требованию 


Номер 5

Что из перечисленного не входит в жизненный цикл JSP-страницы?


Ответ:

 (1) трансляция 

 (2) создание экземпляра класса 

 (3) инициализация 

 (4) компиляция 

 (5) ничего из перечисленного 


Номер 6

Какие методы, относящиеся к жизненному циклу JSP-страницы, можно переопределить?


Ответ:

 (1) jspCreate() 

 (2) jspDestroy() 

 (3) jspInit() 

 (4) jspProcess 

 (5) jspPause() 


Упражнение 22:
Номер 1

Вы создали файл с именем show.jsp, в котором выполняется вывод текущей даты, и поместили его в каталог WEB-INF/myTags. Какой из следующих примеров будет выполнен правильно?


Ответ:

 (1) <%@ taglib prefix="myTags" %> The date is <myTags:show />  

 (2) <%@ taglib prefix="myTags" tagdir="WEB-INF/myTags" %> It is now <myTags:show />  

 (3) <%@ taglib prefix="myTags" tagdir="WEB-INF/" %> It is now <myTags:show />  

 (4) <%@ taglib tagdir="WEB-INF/" %> It is now <show />  

 (5) ни один из вышеперечисленных 


Номер 2

Какая директива JSP подключает библиотеку html?


Ответ:

 (1) <%@ taglib uri="http://java.sun.com/jsf/core" prefix="c" %> 

 (2) <%@ taglib uri="http://java.sun.com/jsf/core" prefix="h" %> 

 (3) <%@ taglib uri="http://java.sun.com/jsf/html" prefix="c" %> 

 (4) <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 

 (5) <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 


Номер 3

Какие из перечисленных элементов может содержать JSP-страница?


Ответ:

 (1) скриптлеты (scriptlet

 (2) свойства (property

 (3) выражения (expression

 (4) счетчики (counter

 (5) комментарии (comment


Номер 4

Вы создали файл с именем show.jsp, в котором выполняется вывод текущей даты, и поместили его в каталог WEB-INF/tags. Какой из следующих примеров будет выполнен правильно?


Ответ:

 (1) <%@ taglib prefix="myTags" %> The date is <myTags:show />  

 (2) <%@ taglib prefix="myTags" tagdir="WEB-INF/tags" %> It is now <myTags:show />  

 (3) <%@ taglib prefix="myTags" tagdir="WEB-INF/" %> It is now <myTags:show />  

 (4) <%@ taglib tagdir="WEB-INF/" %> It is now <show />  

 (5) <%@ taglib tagdir="WEB-INF/tags" %> It is now <show />  


Номер 5

Какая директива JSP подключает библиотеку core?


Ответ:

 (1) <%@ taglib uri="http://java.sun.com/jsf/core" prefix="c" %> 

 (2) <%@ taglib uri="http://java.sun.com/jsf/core" prefix="h" %> 

 (3) <%@ taglib uri="http://java.sun.com/jsf/html" prefix="c" %> 

 (4) <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 

 (5) <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 


Номер 6

Какие из перечисленных элементов может содержать JSP-страница?


Ответ:

 (1) директивы (directive

 (2) свойства (property

 (3) объявления (declaration

 (4) действия (action

 (5) события (event


Упражнение 23:
Номер 1

Какие утверждения относительно JSP и Java servlets неверны?


Ответ:

 (1) они вместе используются для создания "тонких клиентов" 

 (2) JSP компилируется в сервлет 

 (3) для создания JSP можно использовать любой язык, а для Java servlets только язык Java 

 (4) это одно и то же 


Номер 2

Что из перечисленного относиться к неявным объектам (implicit objects) в JSP?


Ответ:

 (1) Ошибка (error

 (2) Ответ (response

 (3) Контейнер (container

 (4) Приложение (application

 (5) Страница (page


Номер 3

Какой тип имеет неявный объект (implicit object) response в JSP?


Ответ:

 (1) javax.servlet.ServletResponse 

 (2) javax.servlet.HttpServletResponse 

 (3) javax.servlet.HttpResponse 

 (4) javax.servlet.Response 

 (5) ни один из перечисленных 


Номер 4

Какие утверждения относительно JSP и Java servlets верны?


Ответ:

 (1) это одно и то же 

 (2) они вместе используются для создания "толстых клиентов" 

 (3) JSP компилируется в сервлет 

 (4) для создания JSP можно использовать любой язык, а для Java servlets только язык Java 


Номер 5

Что из перечисленного относиться к неявным объектам (implicit objects) в JSP?


Ответ:

 (1) Запрос (request

 (2) Сеанс (session

 (3) Событие (event

 (4) Выражение (expression

 (5) Вывод (out


Номер 6

Какой тип имеет неявный объект (implicit object) request в JSP?


Ответ:

 (1) javax.servlet.Request 

 (2) javax.servlet.HttpRequest 

 (3) javax.HttptRequest 

 (4) javax.servlet.HttpServletRequest 

 (5) ни один из перечисленных 


Упражнение 24:
Номер 1

Какие утверждения относительно Session Stateles Bean верны?


Ответ:

 (1) все экземпляры идентичны для клиента 

 (2) сохраняет состояние между вызовами 

 (3) не сохраняет состояние между вызовами 

 (4) реализует интерфейс javax.ejb.SessionBean 


Номер 2

Какие типы EJB можно использовать для сохранения информации о пользователе между сессиями?


Ответ:

 (1) Stateless Session Bean 

 (2) Statefull Session Bean 

 (3) Persistence Entity Bean 

 (4) Message-Driven Bean 

 (5) ни один из перечисленных 


Номер 3

Какие утверждения относительно Message-Driven Bean верны?


Ответ:

 (1) сохраняет состояние для каждого клиента между вызовами методов 

 (2) сохраняет общее для все клиентов состояние (например, подключение к БД) 

 (3) может использоваться для хранения информации о пользователе 

 (4) все экземпляры эквиваленты для контейнера 

 (5) может обрабатывать сообщения от нескольких клиентов 


Номер 4

Какие типы EJB можно использовать для сохранения информации о пользователе при переходе на другую страницу?


Ответ:

 (1) Persistence Entity Bean 

 (2) Stateless Session Bean 

 (3) Statefull Session Bean 

 (4) Message-Driven Bean 


Номер 5

Какие типы EJB можно использовать для сохранения информации о пользователе между сессиями?


Ответ:

 (1) Persistence Entity Bean 

 (2) Stateless Session Bean 

 (3) Statefull Session Bean 

 (4) Message-Driven Bean 


Номер 6

Какие типы EJB можно использовать для обработки сообщений?


Ответ:

 (1) Persistence Entity Bean 

 (2) Stateless Session Bean 

 (3) Statefull Session Bean 

 (4) Message-Driven Bean 


Упражнение 25:
Номер 1

Для чего предназначена аннотация @EJB в следующем коде?

@EJB(name="dateService") private DateService ds;

Ответ:

 (1) для доступа к закрытым полям класса DateService 

 (2) для объявления того, что DateService - интерфейс 

 (3) для автоматического создания экзмепляра класса DateService 

 (4) для внедрения существуюещго экземпляра класса DateService 

 (5) для объявления того, что DateService - абстрактный класс 


Номер 2

Какие типы EJB можно использовать для сохранения информации о пользователе между сессиями?


Ответ:

 (1) Message-Driven Bean 

 (2) Persistence Entity Bean 

 (3) Statefull Session Bean 

 (4) Stateless Session Bean 

 (5) ни один из перечисленных 


Номер 3

Какие типы EJB можно использовать для обработки сообщений?


Ответ:

 (1) Message-Driven Bean 

 (2) Stateless Session Bean 

 (3) Persistence Entity Bean 

 (4) Statefull Session Bean 

 (5) ни один из перечисленных 


Номер 4

Для чего предназначена аннотация @EJB в следующем коде?

@EJB(name="dateService") private DateService ds;

Ответ:

 (1) для доступа к закрытым полям класса DateService 

 (2) для внедрения существуюещго экземпляра класса DateService 

 (3) для автоматического создания экзмепляра класса DateService 

 (4) объявляет псевдоним класса DateService 


Номер 5

Какие типы EJB можно использовать для сохранения информации о пользователе между сессиями?


Ответ:

 (1) Persistence Entity Bean 

 (2) Stateless Session Bean 

 (3) Statefull Session Bean 

 (4) Message-Driven Bean 


Номер 6

Какие типы EJB можно использовать для обработки сообщений?


Ответ:

 (1) Persistence Entity Bean 

 (2) Stateless Session Bean 

 (3) Statefull Session Bean 

 (4) Message-Driven Bean 


Упражнение 26:
Номер 1

Какая аннотация позволяет указать, что дата должна быть в будущем?


Ответ:

 (1) Before 

 (2) Future 

 (3) After 

 (4) InFuture 

 (5) ничего из перечисленного 


Номер 2

Какая аннотация позволяет указать, что дата должна быть в прошлом?


Ответ:

 (1) Before 

 (2) Future 

 (3) After 

 (4) Past 

 (5) ничего из перечисленного 


Номер 3

Какая аннотация валидатора позволяет указать, что он может быть применим только к полям?


Ответ:

 (1) @Field 

 (2) @Target(ElementType.FIELD) 

 (3) @Allow(Type.FIELD) 

 (4) @Validate(Type.FEILD) 

 (5) ничего из перечисленного 


Номер 4

Какая аннотация позволяет указать, что дата должна быть в прошлом?


Ответ:

 (1) Past 

 (2) PastDate 

 (3) Before 

 (4) Future 

 (5) ничего из перечисленного 


Номер 5

Какая аннотация позволяет указать, что дата должна быть в будущем?


Ответ:

 (1) FutureDate 

 (2) Future 

 (3) After 

 (4) Past 

 (5) ничего из перечисленного 


Номер 6

Какая аннотация валидатора позволяет указать, что он может быть применим только к методам?


Ответ:

 (1) @Method 

 (2) @Target(Type.METHOD) 

 (3) @Target(ElementType.METHOD) 

 (4) @Validate(Type.METHOD) 

 (5) ничего из перечисленного 


Упражнение 27:
Номер 1

Какая аннотация может быть использована для инъекции (dependency injection) контекста сессии (session context).


Ответ:

 (1) @EJB javax.ejb.SessionContext context;  

 (2) @Context javax.ejb.SessionContext context;  

 (3) @Inject javax.ejb.SessionContext context;  

 (4) @Resource javax.ejb.SessionContext context;  

 (5) ннчего из перечисленного 


Номер 2

Какой вариант можно использоваться, если метод doInit должен быть вызван для инициализации после инъекции (dependency injection).


Ответ:

 (1) @PostConstruct public void doInit(){..}  

 (2) @PostConstruct public void doInit(int value){..}  

 (3) @PostConstruct public static void doInit(){..}  

 (4) @PostConstruct public final void doInit(){..}  

 (5) @PostConstruct public void doInit() throw myException{..}  


Номер 3

Какой вариант можно использоваться, если метод doRelease должен быть вызван во время удаления компонента.


Ответ:

 (1) @PreDestroy public void doRelease() throw myException{..}  

 (2) @PreDestroy public void doRelease(){..}  

 (3) @PreDestroy public final void doRelease(){..}  

 (4) @PreDestroy public static void doRelease(){..}  

 (5) @PreDestroy public int doRelease(){..}  


Номер 4

Какая аннотация может быть использована для инъекции (dependency injection) контекста сессии (session context).


Ответ:

 (1) @Context javax.ejb.SessionContext context;  

 (2) @Resource javax.ejb.SessionContext context;  

 (3) @EJB javax.ejb.SessionContext context;  

 (4) @Session javax.ejb.SessionContext context;  

 (5) @Dependency javax.ejb.SessionContext context;  


Номер 5

Какая аннотация может быть использована для метода, который должен быть вызван для инициализации после инъекции (dependency injection).


Ответ:

 (1) @Init 

 (2) @AfterConstruct 

 (3) @Post 

 (4) @PostConstruct 

 (5) @Construct 


Номер 6

Какая аннотация может быть использована для метода, который должен быть вызван во время удаления компонента.


Ответ:

 (1) @BeforeDestroy 

 (2) @Stop 

 (3) @Finalize 

 (4) @Destroy 

 (5) @PreDestroy 


Упражнение 28:
Номер 1

Укажите возможные способы проверки введенных данных.


Ответ:

 (1) аннотации в коде на стороне сервера 

 (2) контроль вводимых данных на стороне клиента 

 (3) форматирование данных на стороне клиента 

 (4) код, ответственный за контроль соединения клиента и сервера 

 (5) ограничения данных на стороне базы данных 


Номер 2

Какие из перечисленных аннотаций относятся к валидации данных?


Ответ:

 (1) Future 

 (2) Size 

 (3) Type 

 (4) Match 

 (5) Pattern 


Номер 3

Какие из приведенных примеров валидации являются правильными?


Ответ:

 (1) @Assert public boolean isValid;  

 (2) @AssertTrue public boolean isValid;  

 (3) @AssertFalse("Value must be false") public boolean isValid;  

 (4) @Assert(false, "Value must be false") public boolean isValid;  

 (5) @Assert(true) public boolean isValid;  


Номер 4

Укажите возможные способы проверки введенных данных.


Ответ:

 (1) форматирование данных на стороне клиента 

 (2) контроль вводимых данных на стороне клиента 

 (3) код в бизнес логике на стороне сервера 

 (4) ограничения данных на стороне базы данных 

 (5) код, ответственный за контроль соединения клиента и сервера 


Номер 5

Какие из перечисленных аннотаций относятся к валидации данных?


Ответ:

 (1) NotNull 

 (2) Assert 

 (3) Digits 

 (4) Size 

 (5) Lenght 


Номер 6

Какие из приведенных примеров валидации являются правильными?


Ответ:

 (1) @DecimalMin("1") public double getValue() { return value; }  

 (2) @DecimalMin("1.0") public BigDecimal getValue() { return value; }  

 (3) @DecimalMin("1.0") public float getValue() { return value; }  

 (4) @Min(1) public int getValue() { return value; }  

 (5) @Min(1.0) public int getValue() { return value; }  


Упражнение 29:
Номер 1

Что нужна подставить вместо знаков подчеркивания, чтобы к методу method1 имел доступ только пользователь с ролью Teacher, а к методу method2 имели доступ пользователи с ролью Teacher или Student?

@DeclareRoles({"Teacher", "Student", "Other"}) public class MyClass { _1_ public void method1(){..} _2_ public void method2(){..} }

Ответ:

 (1) _1_: @Roles("Teacher") _2_: @Roles("Teacher", "Student")  

 (2) _1_: @RolesAllowed("Teacher") _2_: @RolesDenied("Other")  

 (3) _1_: @Allowed("Teacher") _2_: @Allowed({"Teacher", "Student"})  

 (4) _1_: @RolesAllowed("Teacher") _2_: @RolesAllowed("Teacher", "Student")  

 (5) _1_: @RolesAllowed("Teacher") _2_: @RolesAllowed({"Teacher", "Student"})  


Номер 2

Что нужна подставить вместо знаков подчеркивания, чтобы к методу method1 имел доступ только пользователь с ролью Teacher, а к методу method2 не имел доступ никто?

@DeclareRoles({"Teacher", "Student", "Other"}) public class MyClass { _1_ public void method1(){..} _2_ public void method2(){..} }

Ответ:

 (1) _1_: @Roles("Teacher") _2_: @Deny("Teacher", "Student", "Other")  

 (2) _1_: @RolesAllowed("Teacher") _2_: @DenyAll  

 (3) _1_: @Allowed("Teacher") _2_: @Deny(value="true")  

 (4) _1_: @RolesAllowed("Teacher") _2_: @RolesNotAllowed("Teacher", "Student", "Other")  

 (5) _1_: @RolesAllowed("Teacher") _2_: @DenyAll("Teacher", "Student", "Other")  


Номер 3

Что нужна подставить вместо знаков подчеркивания, чтобы к методу method1 имел доступ только пользователь с ролью Teacher, а метод method2 был доступен для всех (в том числе тех, у кого нет роли)?

@DeclareRoles({"Teacher", "Student", "Other"}) public class MyClass { _1_ public void method1(){..} _2_ public void method2(){..} }

Ответ:

 (1) _1_: @RolesAllowed("Teacher") _2_: @AllowAll  

 (2) _1_: @RolesAllowed("Teacher") _2_:  

 (3) _1_: @RolesAllowed("Teacher") _2_: @Permit  

 (4) _1_: @RolesAllowed("Teacher") _2_: @PermitAll  

 (5) _1_: @RolesAllowed("Teacher") _2_: @PermitAll("Teacher", "Student", "Other")  


Номер 4

Что нужна подставить вместо знаков подчеркивания, чтобы к методу method1 имел доступ только пользователь с ролью Teacher, а к методу method2 имел доступ только пользователь с ролью Student?

@DeclareRoles({"Teacher", "Student", "Other"}) public class MyClass { _1_ public void method1(){..} _2_ public void method2(){..} }

Ответ:

 (1) _1_: @Roles("Teacher") _2_: @Roles("Student")  

 (2) _1_: @RolesAllowed("Teacher") _2_: @RolesAllowed("Student")  

 (3) _1_: @Allowed("Teacher") _2_: @Allowed("Student")  

 (4) _1_: @Teacher _2_: @Student  

 (5) _1_: @RolesAllowed("Student") _2_: @RolesAllowed("Teacher")  


Номер 5

Что нужна подставить вместо знаков подчеркивания, чтобы к методу method1 имел доступ только пользователь с ролью Teacher, а к методу method2 не имел доступ никто?

@DeclareRoles({"Teacher", "Student", "Other"}) public class MyClass { _1_ public void method1(){..} _2_ public void method2(){..} }

Ответ:

 (1) _1_: @RolesAllowed("Teacher") _2_: @Deny  

 (2) _1_: @Roles("Teacher") _2_:  

 (3) _1_: @Roles("Teacher") _2_: @DenyAll  

 (4) _1_: @RolesAllowed("Teacher") _2_: @DenyAll  

 (5) ни один из перечисленных 


Номер 6

Что нужна подставить вместо знаков подчеркивания, чтобы к методу method1 имел доступ только пользователь с ролью Teacher, а метод method2 был доступен для всех (в том числе тех, у кого нет роли)?

@DeclareRoles({"Teacher", "Student", "Other"}) public class MyClass { _1_ public void method1(){..} _2_ public void method2(){..} }

Ответ:

 (1) _1_: @RolesAllowed("Teacher") _2_: @Allow  

 (2) _1_: @Roles("Teacher") _2_:  

 (3) _1_: @RolesAllowed("Teacher") _2_: @PermitAll  

 (4) _1_: @RolesAllowed("Teacher") _2_: @AllowAll  

 (5) ни один из перечисленных, т.к. ограничен доступ к классу 


Упражнение 30:
Номер 1

Укажите способы описания настроек безопасности?


Ответ:

 (1) только аннотации 

 (2) только файл security.xml 

 (3) только файл web.xml 

 (4) аннотации и файл web.xml 

 (5) аннотации и файл security.xml 


Номер 2

Укажите правильный вариант указания настроек безопасности.


Ответ:

 (1) <security> <web-resource-collection> <web-resource-name>mainresource</web-resource-name> <url-pattern>/res/default/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>User</role-name> </auth-constraint> </security>  

 (2) <security-constraint> <resource-collection> <web-resource-name>mainresource</web-resource-name> <url-pattern>/res/default/*</url-pattern> </resource-collection> <auth> <role-name>User</role-name> </auth>  

 (3) <security-constraint> <web-resource> <web-resource-name>mainresource</web-resource-name> <url-pattern>/res/default/*</url-pattern> </web-resource> <auth-constraint> <role-name>User</role-name> </auth-constraint> </security-constraint>  

 (4) <security-constraint> <web-resource-collection> <web-resource-name>mainresource</web-resource-name> <url-pattern>/res/default/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>User</role-name> </auth-constraint> </security-constraint>  

 (5) ни один из перечисленных 


Номер 3

Какие утверждения относительно параметра transport-guarantee верны?


Ответ:

 (1) блок user-data-constraint, содержащий данный параметр является необязательным 

 (2) должен всегда присутствовать в настройках безопасности 

 (3) указывает возможность использовать протокол HTTP, если выставлено значение NONE 

 (4) указывает возможность использовать протокол HTTP, если выставлено значение HTTP 


Номер 4

В каком файле можно указать параметры безопасности приложения?


Ответ:

 (1) security.xml 

 (2) web-security.xml 

 (3) web.xml 

 (4) application.xml 

 (5) ни в одном из перечисленных 


Номер 5

Укажите правильный вариант указания настроек безопасности.


Ответ:

 (1) <security> <web-resource-collection> <web-resource-name>mainresource</web-resource-name> <url-pattern>/res/default/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>User</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security>  

 (2) <security-constraint> <web-resource-collection> <web-resource-name>mainresource</web-resource-name> <url-pattern>/res/default/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>User</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>  

 (3) <security> <web-resource> <web-resource-name>mainresource</web-resource-name> <url-pattern>/res/default/*</url-pattern> </web-resource> <auth-constraint> <role-name>User</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security>  

 (4) <security-constraint> <resource-collection> <web-resource-name>mainresource</web-resource-name> <url-pattern>/res/default/*</url-pattern> </resource-collection> <auth> <role-name>User</role-name> </auth> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>  

 (5) ни один из перечисленных 


Номер 6

Какие утверждения относительно параметра transport-guarantee верны?


Ответ:

 (1) должен всегда присутствовать в настройках безопасности 

 (2) указывает необходимость сохранять сессию пользователя 

 (3) указывает необходимость использовать SSL-соединение, если выставлено значение CONFIDENTIAL 

 (4) данный параметр является обязательным для блока user-data-constraint 


Упражнение 31:
Номер 1

Какие существуют типы аутентификации пользователя?


Ответ:

 (1) Mutual authentication 

 (2) Server authentication 

 (3) Digest authentication 

 (4) Form-based authentication 


Номер 2

Какие утверждения относительно типы аутентификации HTTP Form-based authentication верны?


Ответ:

 (1) аутентификация происходит, когда пользователь первый раз запрашивает доступ к защищенному ресурсу 

 (2) клиент посылает на сервер хешированный пароль 

 (3) когда пользователь первый раз запрашивает доступ к защищенному ресурсу, сервер перенаправляет пользователя на страницу аутентификации 

 (4) страница с полями ввода логина и пароля возвращается сервером 

 (5) вместо логина и пароля клиент может выслать свой сертификат 


Номер 3

Какие утверждения относительно типа аутентификации HTTP Basic authentication верны?


Ответ:

 (1) может быть основана на обмене сертификатами 

 (2) страница с полями ввода логина и пароля создается сервером 

 (3) вместо пароля клиент может выслать его хеш 

 (4) сервер всегда первым посылает свои сертификаты 

 (5) логин и пароль не шифруются при передаче на сервер 


Номер 4

Какие существуют типы аутентификации пользователя?


Ответ:

 (1) Server authentication 

 (2) Client authentication 

 (3) Basic authentication 

 (4) Main authentication 

 (5) Default authentication 


Номер 5

Какие утверждения относительно типа аутентификации HTTP Basic authentication верны?


Ответ:

 (1) страница с полями ввода логина и пароля возвращается сервером 

 (2) клиент посылает на сервер хешированный пароль 

 (3) аутентификация происходит, когда пользователь первый раз запрашивает доступ к защищенному ресурсу 

 (4) когда пользователь первый раз запрашивает доступ к защищенному ресурсу, сервер перенаправляет пользователя на страницу аутентификации 

 (5) до запроса у пользователя его логина и пароля сервер предоставляет свои сертификаты 


Номер 6

Какие утверждения относительно типы аутентификации HTTP Form-based authentication верны?


Ответ:

 (1) клиент посылает на сервер хешированный пароль 

 (2) аутентификация происходит, когда пользователь первый раз запрашивает доступ к защищенному ресурсу 

 (3) когда пользователь первый раз запрашивает доступ к защищенному ресурсу, сервер перенаправляет пользователя на страницу аутентификации 

 (4) до запроса у пользователя его логина и пароля сервер предоставляет свои сертификаты 

 (5) вместо логина и пароля клиент может выслать свой сертификат 


Упражнение 32:
Номер 1

Какие утверждения относительно технологии JavaMail неверны?


Ответ:

 (1) не позволяет сохранять письма на локальном диске 

 (2) поддерживает только следующие протоколы POP, SMTP, IMAP 

 (3) не поддерживает протокол IMAP 

 (4) не поддерживает протокол MAPI 


Номер 2

Какой пакет содержит JavaMail API??


Ответ:

 (1) javax.mail 

 (2) javax.javamail 

 (3) java.mail 

 (4) java.javamail 

 (5) ни один из перечисленных 


Номер 3

Какой вариант кода позволит создать сообщение для ответа на письмо (переменная msg содержит исходное письмо)?


Ответ:

 (1) ReplyMessage reply = msg.getReply(); 

 (2) Message reply = msg.getReplyMessage(); 

 (3) ReplyMessage reply = msg.replyMessage(); 

 (4) Message reply = msg.reply(); 

 (5) ни оидн из перечисленных 


Номер 4

Какие утверждения относительно технологии JavaMail верны?


Ответ:

 (1) не позволяет создавать письма с вложениями 

 (2) поддерживает протокол SMTP 

 (3) позволяет создавать, отправлять и получать электронные письма 

 (4) не поддерживает протокол POP 

 (5) не поддерживает протокол NNTP 


Номер 5

Какой пакет содержит JavaMail API?


Ответ:

 (1) java.mail 

 (2) javax.javamail 

 (3) javax.jee.mail 

 (4) javax.mail 

 (5) ни один из перечисленных 


Номер 6

Какой вариант кода позволит создать сообщение для ответа на письмо (переменная msg содержит исходное письмо)?


Ответ:

 (1) Message reply = msg.getReply(); 

 (2) Message reply = msg.reply(); 

 (3) Message reply = msg.getReplyMessage(); 

 (4) Message reply = msg.replyMessage(); 

 (5) ни оидн из перечисленных 


Упражнение 33:
Номер 1

Вам приходится часто получать очень большие XML-файлы и на их основе создавать много новых XML-файлов, но элементы исходного XML-файла приходится посещать один раз. Каким парсером вы воспользуетесь для выполнения этой задачи?


Ответ:

 (1) SAX-парсер менее требователен к памяти 

 (2) JAXP-событийный парсер 

 (3) DOM-парсер сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки 

 (4) JAXB создает модель документа в памяти 

 (5) XSLT-парсер строит модель документа и предоставляет доступ к содержимому 


Номер 2

Какие утвержденимя относительно технологии SAX верны?


Ответ:

 (1) SAX-парсер строит модель документа и предоставляет доступ к содержимому 

 (2) SAX-парсер сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки 

 (3) SAX-парсер менее требователен к памяти 

 (4) SAX-парсер совмещает событийную модель и построение документа в памяти 

 (5) SAX создает модель документа в памяти 


Номер 3

Какие утвержденимя относительно технологии DOM верны?


Ответ:

 (1) DOM-парсер менее требователен к памяти 

 (2) DOM создает модель документа в памяти 

 (3) DOM-парсер сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки 

 (4) DOM-парсер строит модель документа и предоставляет доступ к содержимому 

 (5) DOM-событийный парсер 


Номер 4

Какие утвержденимя относительно технологии SAX верны?


Ответ:

 (1) SAX-парсер менее требователен к памяти 

 (2) SAX-парсер совмещает событийную модель и построение документа в памяти 

 (3) SAX-парсер сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки 

 (4) SAX не создает модель документа в памяти 

 (5) SAX-парсер строит модель документа и предоставляет доступ к содержимому 


Номер 5

Какие утвержденимя относительно технологии DOM верны?


Ответ:

 (1) DOM-парсер менее требователен к памяти 

 (2) DOM-событийный парсер 

 (3) DOM-парсер сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки 

 (4) DOM создает модель документа в памяти 

 (5) DOM-парсер строит модель документа и предоставляет доступ к содержимому 


Номер 6

Вам приходится часто получать XML-файлы и на их основе создавать много новых XML-файлов, и элементы исходного XML-файла приходится посещать несколько раз. Каким парсером вы воспользуетесь для выполнения этой задачи?


Ответ:

 (1) SAX-парсер менее требователен к памяти 

 (2) JAXP-событийный парсер 

 (3) DOM-парсер сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки 

 (4) JAXB создает модель документа в памяти 

 (5) XSLT-парсер строит модель документа и предоставляет доступ к содержимому 


Упражнение 34:
Номер 1

Укажите правильные варианты кода?


Ответ:

 (1) XSLTTransformerFactory ts = TransformerFactory.newInstance(); Transformer t = ts.newTransformer();  

 (2) TransformerFactory ts = TransformerFactory.newInstance(); Transformer t = ts.newTransformer();  

 (3) TransformerFactory ts = TransformerFactory.newInstance(); Transformer t = ts.newInstance();  

 (4) TransformerFactory ts = TransformerFactory.newInstance(); Transformer t = ts.getTransformer();  

 (5) ни один из вышеперечисленных 


Номер 2

Какие утверждения относительно технологии JAXP верны?


Ответ:

 (1) это набор абстрактных API 

 (2) упрощает работу с DOM-парсером 

 (3) содержит собственную реализацию парсера 

 (4) предоставляет средства для доступа к парсерам 

 (5) позволяет производить лексический разбор и модификацию документов XML независимо от конкретной реализации обработки XML 


Номер 3

Какой из приведенных вариантов работы с SAX-парсером в JAXP верен?


Ответ:

 (1) BuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder();  

 (2) DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); Builder builder = factory.newDocumentBuilder();  

 (3) DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder();  

 (4) BuilderFactory factory = DocumentBuilderFactory.newInstance(); Builder builder = factory.newDocumentBuilder();  

 (5) ни оидн из перечисленных 


Номер 4

Как создать экземпляр класса, реализующего преобразование XML в XHTML?


Ответ:

 (1) с помощью функции Transformer.newInstance() 

 (2) с помощью функции TransformerFactory.newTransformer() 

 (3) с помощью функции XSLTTransformerFactory.newInstance() 

 (4) TransformerFactory ts = TransformerFactory.newInstance(); Transformer t = ts.newTransformer();  

 (5) XSLTTransformerFactory ts = TransformerFactory.newInstance(); Transformer t = ts.newTransformer();  


Номер 5

Какие утверждения относительно технологии JAXP верны?


Ответ:

 (1) упрощает работу с SAX-парсером 

 (2) предоставляет доступ к методам программной обработки XML-документов 

 (3) не позволяет работать с DTD 

 (4) содержит собственную реализацию парсера 

 (5) предоставляет средства для доступа к парсерам 


Номер 6

Какой из приведенных вариантов работы с SAX-парсером в JAXP верен?


Ответ:

 (1) ParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser();  

 (2) SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser();  

 (3) SAXParserFactory factory = SAXParserFactory.newInstance(); Parser parser = factory.newSAXParser();  

 (4) ParserFactory factory = SAXParserFactory.newInstance(); Parser parser = factory.newSAXParser();  

 (5) ни оидн из перечисленных 


Упражнение 35:
Номер 1

Какая аннотация JAXB позволяет указать порядок следования данных в XML-сообщениях?


Ответ:

 (1) @XmlElement("field1", "field2") 

 (2) @XmlAccessorOrder(propOrder={"field1"}, propOrder={"field2"}) 

 (3) @XmlType(propOrder={"field1", "field2"}) 

 (4) @XmlAccessorOrder(propOrder={"field1", "field2"}) 

 (5) @XmlElement(order={"field1"}, order={"field2"}) 


Номер 2

Какая аннотация JAXB позволяет указать порядок следования данных в XML-сообщениях?


Ответ:

 (1) @XmlOrder("field1", "field2") 

 (2) @XmlAccessorOrder("field1","field2") 

 (3) @XmlOrder(propOrder={"field1", "field2"}) 

 (4) @XmlAccessorOrder(ALPHABETICAL) 

 (5) @XmlAccessorOrder(AccessorOrder.ALPHABETICAL) 


Номер 3

Какие варианты аннотаций позволят указать следующий алфавитный порядок следования данных в JAXB?


Ответ:

 (1) @XmlAccessorOrder(AccessorOrder.UNDEFINED) @XmlType(propOrder={"fieldA", "fieldB"})  

 (2) @XmlType(propOrder=AccessorOrder.ALPHABETICAL)  

 (3) @XmlAccessorOrder(AccessorOrder.UNDEFINED) @XmlType(propOrder={"fieldB", "fieldA"})  

 (4) @@XmlAccessorOrder(AccessorOrder.ALPHABETICAL) @XmlType(propOrder={"fieldB", "fieldA"})  

 (5) @@XmlAccessorOrder(AccessorOrder.UNDEFINED) @XmlType(propOrder={"fieldA"}, propOrder={"fieldB"})  


Номер 4

Какая аннотация JAXB позволяет указать порядок следования данных в XML-сообщениях?


Ответ:

 (1) @XmlOrder(propOrder={"field1", "field2"}) 

 (2) @XmlAccessorOrder(propOrder={"field1"}, propOrder={"field2"}) 

 (3) @XmlType(propOrder={"field1", "field2"}) 

 (4) @XmlAccessorOrder(propOrder={"field1", "field2"}) 

 (5) @XmlType(propOrder={"field1"}, propOrder={"field2"}) 


Номер 5

Какая аннотация JAXB позволяет указать порядок следования данных в XML-сообщениях?


Ответ:

 (1) @XmlOrder(propOrder={"field1", "field2"}) 

 (2) @XmlAccessorOrder(propOrder={"field1"}, propOrder={"field2"}) 

 (3) @XmlOrder(propOrder={"field1", "field2"}) 

 (4) @XmlAccessorOrder(AccessorOrder.ALPHABETICAL) 

 (5) @XmlType(propOrder={"field1"}, propOrder={"field2"}) 


Номер 6

Какие варианты аннотаций позволят указать следующий алфавитный порядок следования данных в JAXB?


Ответ:

 (1) @XmlAccessorOrder(AccessorOrder.ALPHABETICAL) @XmlType(propOrder={"fieldB", "fieldA"})  

 (2) @XmlAccessorOrder(AccessorOrder.ALPHABETICAL)  

 (3) @XmlAccessorOrder(AccessorOrder.UNDEFINED) @XmlType(propOrder={"fieldA", "fieldB"})  

 (4) @@XmlAccessorOrder(AccessorOrder.ALPHABETICAL) @XmlType(propOrder={"fieldA", "fieldB"})  

 (5) @@XmlAccessorOrder(AccessorOrder.UNDEFINED) @XmlType(propOrder={"fieldA"}, propOrder={"fieldB"})  


Упражнение 36:
Номер 1

Что из перечисленного оявляется прикладной программой JMS?


Ответ:

 (1) контейнер JMS 

 (2) провайдер JMS 

 (3) клиент JMS 

 (4) служба JMS 

 (5) ничего из перечисленного 


Номер 2

Какие типы обмена сообщениями поддерживает JMS?


Ответ:

 (1) JNDI 

 (2) "точка-точка" 

 (3) "издатель-подписчик" 

 (4) ничего из перечисленного 


Номер 3

Для чего предназначен тип обмена сообщениями "издатель-подписчик" в технологии JMS?


Ответ:

 (1) одновременной передачи сообщения нескольким получателям 

 (2) передачи сообщений только внутри одного узла 

 (3) передачи сообщений только между разными узлами 

 (4) одновременной передачи сообщения одному получателю 

 (5) ничего из перечисленного 


Номер 4

Что из перечисленного оявляется прикладной программой JMS?


Ответ:

 (1) служба JMS 

 (2) приложение JMS 

 (3) провайдер JMS 

 (4) клиент JMS 

 (5) ничего из перечисленного 


Номер 5

Какие типы обмена сообщениями поддерживает JMS?


Ответ:

 (1) RPC 

 (2) "точка-точка" 

 (3) "издатель-подписчик" 

 (4) ничего из перечисленного 


Номер 6

Для чего предназначен тип обмена сообщениями "точка-точка" в технологии JMS?


Ответ:

 (1) передачи сообщений только между разными узлами 

 (2) передачи сообщений только внутри одного узла 

 (3) одновременной передачи сообщения нескольким получателям 

 (4) одновременной передачи сообщения только одному получателю 

 (5) ничего из перечисленного 


Упражнение 37:
Номер 1

Какой HTTP-код будет возвращен сервером, если запросу соответствует ресурс, временно доступный по другому адресу?


Ответ:

 (1) javax.ws.rs.core.Response.Status.BAD_REQUEST 

 (2) javax.ws.rs.core.Response.Status.TEMPORARY_REDIRECT 

 (3) javax.ws.rs.core.Response.Status.NOT_FOUND 

 (4) javax.ws.rs.core.Response.Status.SEE_OTHER 

 (5) javax.ws.rs.core.Response.Status.MOVED_PERMANENTLY 


Номер 2

Какой HTTP-код будет возвращен сервером, если запрос, отправленный клиентской стороной, принят серверной стороной, однако обработка запроса серверной стороной не завершена?


Ответ:

 (1) javax.ws.rs.core.Response.Status.CREATED 

 (2) javax.ws.rs.core.Response.Status.ACCEPTED 

 (3) javax.ws.rs.core.Response.Status.IN_PROCESS 

 (4) javax.ws.rs.core.Response.Status.OK 

 (5) ни один из перечисленных 


Номер 3

Какой HTTP-код будет возвращен сервером, если клиентской стороной запрашивалась информация методом GET, с использованием поля DATE в заголовке запроса, а запрашиваемая информация не изменялась с момента указанной даты?


Ответ:

 (1) javax.ws.rs.core.Response.Status.NOT_CHANGED 

 (2) javax.ws.rs.core.Response.Status.NO_CONTENT 

 (3) javax.ws.rs.core.Response.Status.NOT_FOUND 

 (4) javax.ws.rs.core.Response.Status.NOT_MODIFIED 

 (5) ни один из перечисленных 


Номер 4

Какой HTTP-код будет возвращен сервером, если запросу не соответствует ни один ресурс?


Ответ:

 (1) javax.ws.rs.core.Response.Status.BAD_REQUEST 

 (2) javax.ws.rs.core.Response.Status.NO_CONTENT 

 (3) javax.ws.rs.core.Response.Status.NOT_FOUND 

 (4) javax.ws.rs.core.Response.Status.SEE_OTHER 

 (5) javax.ws.rs.core.Response.Status.GONE 


Номер 5

Какой HTTP-код будет возвращен сервером, если произошла непредвиденная ошибка при обработке запроса?


Ответ:

 (1) javax.ws.rs.core.Response.Status.SERVER_ERROR 

 (2) javax.ws.rs.core.Response.Status.INTERNAL_ERROR 

 (3) javax.ws.rs.core.Response.Status.ERROR 

 (4) javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR 

 (5) ни один из перечисленных 


Номер 6

Какой HTTP-код будет возвращен сервером, если сервер не смог ничего сопоставить URI-адресу?


Ответ:

 (1) javax.ws.rs.core.Response.Status.NOT_FOUND 

 (2) javax.ws.rs.core.Response.Status.PRECONDITION_FAILED 

 (3) javax.ws.rs.core.Response.Status.CONFLICT 

 (4) javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR 

 (5) ни один из перечисленных 


Упражнение 38:
Номер 1

В каком варианте метод calc является методом веб-сервиса?


Ответ:

 (1) @WebService public class MyService { private int calc() {...} }  

 (2) @WebService public class MyService { @WebMethod public void calc() {...} }  

 (3) @Service public class MyService { protected int calc() {...} }  

 (4) @Service public class MyService { @Method public int calc() {...} }  

 (5) @WebService public class MyService { @WebMethod public int calc() {...} }  


Номер 2

Какой из приведенных примеров объявления веб-сервиса с веб-методом doService является правильным?


Ответ:

 (1) @WebService() public class MyService { @WebMethod() public void doService(String value) {..} }  

 (2) @WebService() public class MyService { @WebMethod() public String doService(String value) {..} }  

 (3) @@WebService() public final class MyService { @WebMethod() public String doService(String value) {..} }  

 (4) @@WebService() public class MyService { @WebMethod() public String doService(String value) {..} protected void finalize() throws Throwable {..} }  

 (5) ни один из перечисленных 


Номер 3

Какой из приведенных примеров объявления веб-сервиса с веб-методом doService является правильным?


Ответ:

 (1) @WebService() public abstract class MyService { @WebMethod() public String doService(String value); }  

 (2) @WebService() public final class MyService { @WebMethod() public String doService(String value) {..} }  

 (3) @WebService() public final class MyService { @WebMethod() public String doService(String value) {..} protected void finalize() throws Throwable {..} }  

 (4) @WebService() public class MyService { public void doService() {..} @WebMethod() public String doService(String value) {..} }  

 (5) ни один из перечисленных 


Номер 4

Какой класс из представленных является веб-сервисом?


Ответ:

 (1) @WebService public class MyService {...}  

 (2) @Service public class MyService {...}  

 (3) @Request public class MyService {...}  

 (4) @WebRequest public class MyService {...}  

 (5) @Container public class MyService {...}  


Номер 5

Какой из приведенных примеров объявления веб-сервиса с веб-методом doService является правильным?


Ответ:

 (1) @WebService() public final class MyService { public String doService(String value) {..} }  

 (2) @WebService() public class MyService { @WebMethod() public String doService(String value) {..} }  

 (3) @WebService() public final class MyService { @WebMethod() public String doService(String value) {..} }  

 (4) @WebService() public final class MyService { @WebMethod() public String doService(String value) {..} protected void finalize() throws Throwable {..} }  

 (5) ни один из перечисленных 


Номер 6

Какой из приведенных примеров объявления веб-сервиса с веб-методом doService является правильным?


Ответ:

 (1) @WebService() public final class MyService { private MyService() {..} @WebMethod() public String doService(String value) {..} }  

 (2) @WebService() public final class MyService { @WebMethod() public String doService(String value) {..} }  

 (3) @WebService() public final class MyService { @WebMethod() public String doService(String value) {..} protected void finalize() throws Throwable {..} }  

 (4) @WebService() public class MyService { @WebMethod() public String doService(String value) {..} }  

 (5) ни один из перечисленных 


Упражнение 39:
Номер 1

Какие утверждения относительно технологии JAX-WS верны?


Ответ:

 (1) использует технологию REST 

 (2) является синонимом технологии JAX-RS 

 (3) предоставляет библиотеку аннотаций для преобразования POJO-классов в Web-сервисы. 

 (4) определяет отображение сервисов, определенных на языке WSDL, в Java-классы, реализующие эти сервисы. 

 (5) может быть сконфигурировано с помощью файла настроек web.xml


Номер 2

Какие утверждения относительно методов веб-сервиса JAX-WS, которые необходимо опубликовать верны?


Ответ:

 (1) не может иметь тип возвращаемого значения void 

 (2) должен иметь модификатор final 

 (3) должен быть аннотированы как javax.jws.WebMethod 

 (4) не может иметь модификатор static 


Номер 3

>Какие утверждения относительно класса, реализующего веб-сервис JAX-WS, верны?


Ответ:

 (1) должен иметь конструктор по умолчанию с модификатор public 

 (2) может иметь модификатор final 

 (3) не может переопределять метод finalize 

 (4) не может иметь модификатор abstract 

 (5) может переопределять метод finalize 


Номер 4

Какие утверждения относительно технологии JAX-WS верны?


Ответ:

 (1) предоставляет библиотеку аннотаций для преобразования POJO-классов в Web-сервисы. 

 (2) использует технологию REST 

 (3) включает в себя JAXB 

 (4) определяет отображение сервисов, определенных на языке WSDL, в Java-классы, реализующие эти сервисы. 


Номер 5

Вам необходимо произвести инициализацию веб-сервиса JAX-WS до того, как ему будет первый раз передан запрос клиента. Какой способ позволяет это сделать?


Ответ:

 (1) с помощью настроек в файле web./xml

 (2) с помощью аннотации Post 

 (3) с помощью аннотации PostConstruct 

 (4) с помощью аннотации Init 

 (5) ни один из перечисленных 


Номер 6

Вам необходимо произвести освобождение некоторых ресурсов веб-сервиса JAX-WS до того, как он будет уничтожен. Какой способ позволяет это сделать?


Ответ:

 (1) с помощью аннотации PreDestroy 

 (2) с помощью аннотации Destroy 

 (3) с помощью аннотации Finalize 

 (4) с помощью настроек в файле web./xml

 (5) ни один из перечисленных 


Упражнение 40:
Номер 1

Какие утверждения относительно технологии JAX-RS верны?


Ответ:

 (1) может быть реализована с помощью сервлетов 

 (2) предоставляет библиотеку аннотаций для преобразования POJO-классов в Web-сервисы. 

 (3) определяет отображение сервисов, определенных на языке WSDL, в Java-классы, реализующие эти сервисы. 

 (4) использует технологию REST 

 (5) позволяет связывать методы Java-классов с типами HTTP-запросов 


Номер 2

Для чего в JAX-RS может использоваться аннотация Path?


Ответ:

 (1) для описания пути к корневому ресурсу 

 (2) для описания пути к дочернему ресурсу 

 (3) позволяет связывать методы Java-классов с типами HTTP-запросов 

 (4) задает типы содержимого MIME, принимаемые ресурсом 

 (5) задает типы MIME, возвращаемые ресурсом 


Номер 3

Какие утверждения относительно аннотации Produces верны?


Ответ:

 (1) задает типы содержимого MIME, принимаемые ресурсом 

 (2) задает типы содержимого MIME, возвращаемые ресурсом 

 (3) этой аннотацией могут отмечаться дочерние ресурсы 

 (4) этой аннотацией могут отмечаться методы, связанные с определенными типами HTTP-запросов 


Номер 4

Какие утверждения относительно технологии JAX-RS верны?


Ответ:

 (1) использует технологию REST 

 (2) включает в себя JAXB 

 (3) предоставляет библиотеку аннотаций для преобразования POJO-классов в Web-сервисы. 

 (4) определяет отображение сервисов, определенных на языке WSDL, в Java-классы, реализующие эти сервисы. 


Номер 5

Для чего в JAX-RS может использоваться аннотация GET?


Ответ:

 (1) позволяет связывать методы Java-классов с HEAD-запросом 

 (2) позволяет связывать методы Java-классов с GET-запросом 

 (3) позволяет связывать методы Java-классов с PUT-запросом 

 (4) позволяет связывать методы Java-классов с POST-запросом 

 (5) ни один из перечисленных 


Номер 6

Какие утверждения относительно аннотации Consumes верны?


Ответ:

 (1) задает типы содержимого MIME, принимаемые ресурсом 

 (2) задает типы содержимого MIME, возвращаемые ресурсом 

 (3) этой аннотацией могут отмечаться дочерние ресурсы 

 (4) этой аннотацией могут отмечаться методы, связанные с определенными типами HTTP-запросов 




Главная / Программирование / Java EE 6 / Тест 1