Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос про spring mvc / 25 сообщений из 55, страница 1 из 3
03.07.2013, 15:58:13
    #38319031
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
есть такой обработчик http-запроса
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@RequestMapping(method=RequestMethod.GET, value="/employee/{id}")
	public ModelAndView getEmployee(@PathVariable String id) {
		Employee e = employeeDS.get(Long.parseLong(id));
		List<Employee> employees = new ArrayList<Employee>();
		employees.add(e);
		EmployeeList list = new EmployeeList(employees);
		return new ModelAndView(XML_VIEW_NAME, "employees", list);
	}


Объясните, пожалуйста, что за параметры у ModelAndView и куда возвращается return?
...
Рейтинг: 0 / 0
03.07.2013, 16:03:45
    #38319040
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90Объясните, пожалуйста, что за параметры у ModelAndView

А JavaDoc на что?
http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/servlet/ModelAndView.html#ModelAndView(java.lang.String, java.lang.String, java.lang.Object)
view - имя для View Resolver-а.
"employees" - имя данных по которым они доступны из View
list - сами данные.

redwhite90и куда возвращается return?
return никуда не возвращается. Это ключевое слово Java, которое передаёт управление предыдущему методу по стеку.
...
Рейтинг: 0 / 0
03.07.2013, 16:23:32
    #38319090
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Blazkowicz,

автор"employees" - имя данных по которым они доступны из View

я наверное не понимаю концепции. что это значит?
я делаю http запрос через что-то к этому контроллеру. из какой вью я получаю доступ?
...
Рейтинг: 0 / 0
03.07.2013, 16:26:59
    #38319106
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90я наверное не понимаю концепции. что это значит?
Это значит, что если View это, например, шаблон/JSP, то в шаблоне по ключу employees можно получить доступ к списку.
Например ${employees}. Зависит, от синтаксиса шаблона.

redwhite90я делаю http запрос через что-то к этому контроллеру. из какой вью я получаю доступ?
XML_VIEW_NAME
...
Рейтинг: 0 / 0
03.07.2013, 16:34:41
    #38319125
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Blazkowicz,

авторprivate static final String XML_VIEW_NAME = "employees";

то есть из employees.jsp и employes.html я имею доступ?
...
Рейтинг: 0 / 0
03.07.2013, 16:44:47
    #38319158
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Хочу добавить, что я задаю запрос при помощи curl. как он resolve-ит данные?
грубо говоря я отправляю запрос /employee/{id}
а в ответ я вижу xml-ку

где обрабатывается данные для отображения xml-ки?
...
Рейтинг: 0 / 0
03.07.2013, 16:48:13
    #38319167
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90Хочу добавить, что я задаю запрос при помощи curl. как он resolve-ит данные?
curl резолвит?

redwhite90где обрабатывается данные для отображения xml-ки?
Надо смотреть спринговый конфиг. Чет там в WEB-INF валяется?
...
Рейтинг: 0 / 0
03.07.2013, 16:57:50
    #38319202
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90Хочу добавить, что я задаю запрос при помощи curl Как закажете .
...
Рейтинг: 0 / 0
03.07.2013, 17:36:43
    #38319296
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
я запутался совсем.
Есть view resolver. Я так понимаю он просто по имени находит вьюху. curl это resolver разве?

а как вообще весь жизненный цикл происходит с момента посылания запроса?
...
Рейтинг: 0 / 0
03.07.2013, 17:38:16
    #38319302
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Basil A. Sidorov,

я умею создавать запросы при помощи curl
...
Рейтинг: 0 / 0
03.07.2013, 17:40:18
    #38319306
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90я запутался совсем.
Есть view resolver. Я так понимаю он просто по имени находит вьюху. curl это resolver разве?

а как вообще весь жизненный цикл происходит с момента посылания запроса?
Приходит запрос. Контейнер отправляет его в Spring-овый Servlet. Спринг парсит запрос, ищет контроллер и вызывает его с параметрами получеными из запроса.
По результату работы контроллера, Spring находит View и мержит в него Model. Результат View+Model записывается в Servlet Response.
...
Рейтинг: 0 / 0
03.07.2013, 17:40:44
    #38319308
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90я запутался совсем.
Есть view resolver. Я так понимаю он просто по имени находит вьюху. curl это resolver разве?

а как вообще весь жизненный цикл происходит с момента посылания запроса?
Покажи уже xml из WEB-INF.
...
Рейтинг: 0 / 0
03.07.2013, 17:49:33
    #38319328
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Blazkowicz,

web.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	
	<display-name>dw.spring3.rest</display-name>
	
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>
	
	<!-- The context params that read by ContextLoaderListener  -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/rest-context.xml
		</param-value>
	</context-param>
	
	<!-- This listener will load other application context file in addition to springweb-servlet.xml -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<servlet>
		<servlet-name>rest</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>rest</servlet-name>
		<url-pattern>/service/*</url-pattern>
	</servlet-mapping>
	
	<jsp-config>
		<taglib>
			<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
			<taglib-location>/WEB-INF/tags/c.tld</taglib-location>
		</taglib>
	</jsp-config>
</web-app>



rest-context.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/util/spring-util-3.0.xsd">

	<bean id="employeeDS" class="dw.spring3.rest.ds.EmployeeDS" />
</beans>



rest-servlet.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	<context:component-scan base-package="dw.spring3.rest.controller" />
	<!-- To enable @RequestMapping process on type level and method level -->
	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

	<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
		<property name="classesToBeBound">
			<list>
				<value>dw.spring3.rest.bean.Employee</value>
				<value>dw.spring3.rest.bean.EmployeeList</value>
			</list>
		</property>
	</bean>

	<bean id="employees" class="org.springframework.web.servlet.view.xml.MarshallingView">
		<constructor-arg ref="jaxbMarshaller" />
	</bean>

	<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
		<property name="mediaTypes">
		    <map>
		        <entry key="xml" value="application/xml"/>
		        <entry key="html" value="text/html"/>
		    </map>
		</property>
		<property name="viewResolvers">
		    <list>
		        <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
		        <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
					<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
					<property name="prefix" value="/WEB-INF/jsp/"/>
					<property name="suffix" value=".jsp"/>
				</bean>
		    </list>
		</property>
	</bean>
	
	<!--bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" /-->

	<bean id="employeeController" class="dw.spring3.rest.controller.EmployeeController">
		<property name="employeeDS" ref="employeeDS" />
		<property name="jaxb2Mashaller" ref="jaxbMarshaller" />
	</bean>
</beans>
...
Рейтинг: 0 / 0
03.07.2013, 17:51:43
    #38319333
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Код: xml
1.
<!--bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" /-->


этот код только раскомментирован
...
Рейтинг: 0 / 0
03.07.2013, 18:00:35
    #38319353
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
авторПо результату работы контроллера, Spring находит View и мержит в него Model
Код: java
1.
2.
3.
4.
Employee e = employeeDS.get(Long.parseLong(id));
		List<Employee> employees = new ArrayList<Employee>();
		employees.add(e);
		EmployeeList list = new EmployeeList(employees);


слова соответствуют коду разве?
...
Рейтинг: 0 / 0
03.07.2013, 18:02:34
    #38319361
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Странно сделано. Если надо вернуть объекты как XML, то ModelAndView не нужны. Можно просто вернуть объекты в контроллере. А Spring настроить, чтобы по-умолчанию он их резолвил как XML.
Здесь же по-тупому прописано что для employees надо использовать XML View. А что других объектов уже в XML не предполагается?
А ModelAndView имеет смысл использовать уже для шаблонов. В данном случае - JSP.

У меня примера под рукой нет, но аналогичный пример - любой RESTful на Spring нагуглить очень просто. Только они обычно JSON View Resolver используют. Можно его заменить на XML.
...
Рейтинг: 0 / 0
03.07.2013, 18:04:18
    #38319363
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90я умею создавать запросы при помощи curlТогда что вам непонятно?
Некто (cURL, браузер, специальное приложение) отправляет запрос, оформленный по требованиям HTTP.
Веб-сервер принимает запрос, контейнер выполняет некую предобработку и "по цепочке" отдаёт запрос на обработку приложению.
Приложение формирует ответ и контейнер возвращает этот ответ клиенту, возможно выполнив некую постобработку.
Или что?
...
Рейтинг: 0 / 0
03.07.2013, 18:19:41
    #38319397
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
...
Рейтинг: 0 / 0
03.07.2013, 18:24:37
    #38319405
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Blazkowicz,

авторЗдесь же по-тупому прописано что для employees надо использовать XML View
здесь это где?
...
Рейтинг: 0 / 0
03.07.2013, 18:26:56
    #38319408
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
авторПриложение формирует ответ и контейнер возвращает этот ответ клиенту
что есть ответ?вью с инжектированными данными?
что есть ModelView всё таки?
...
Рейтинг: 0 / 0
03.07.2013, 18:37:15
    #38319430
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90Blazkowicz,

авторЗдесь же по-тупому прописано что для employees надо использовать XML View
здесь это где?
14518300
...
Рейтинг: 0 / 0
03.07.2013, 18:38:08
    #38319432
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
redwhite90что есть ModelView всё таки?
ModelAndView это ссылка на View и Model для отображения в этой View
...
Рейтинг: 0 / 0
03.07.2013, 19:17:41
    #38319481
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Blazkowicz,

"employees" - имя данных по которым они доступны из View

я пишу всё что угодно здесь и продолжает работать.
...
Рейтинг: 0 / 0
03.07.2013, 19:19:09
    #38319484
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Blazkowicz,

"employees" - имя данных по которым они доступны из View

я пишу всё что угодно здесь и продолжает работать.

продолжает работать=
на запрос

C:\Users\Nikolay_Tkachev\Downloads\curl-7.31.0-ssl-sspi-zlib-static-bin-w32\curl-7.31.0-ssl-sspi-zlib-static-bin-w32>curl -H
Accept:application/xml http://localhost:8080/SpringRestFullHelloWorldApplication/service/employees

выдается правильный ответ(curl)
...
Рейтинг: 0 / 0
04.07.2013, 10:52:06
    #38320053
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про spring mvc
Blazkowiczredwhite90Blazkowicz,

пропущено...

здесь это где?
14518300

а конкретно в строчку можете тыкнуть?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос про spring mvc / 25 сообщений из 55, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]