powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос про spring mvc
25 сообщений из 55, страница 1 из 3
вопрос про spring mvc
    #38319031
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть такой обработчик 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
вопрос про spring mvc
    #38319040
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
вопрос про spring mvc
    #38319090
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

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

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

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

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

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

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

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

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

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

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

а как вообще весь жизненный цикл происходит с момента посылания запроса?
Покажи уже xml из WEB-INF.
...
Рейтинг: 0 / 0
вопрос про spring mvc
    #38319328
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
вопрос про spring mvc
    #38319333
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: xml
1.
<!--bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" /-->


этот код только раскомментирован
...
Рейтинг: 0 / 0
вопрос про spring mvc
    #38319353
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПо результату работы контроллера, 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
вопрос про spring mvc
    #38319361
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно сделано. Если надо вернуть объекты как XML, то ModelAndView не нужны. Можно просто вернуть объекты в контроллере. А Spring настроить, чтобы по-умолчанию он их резолвил как XML.
Здесь же по-тупому прописано что для employees надо использовать XML View. А что других объектов уже в XML не предполагается?
А ModelAndView имеет смысл использовать уже для шаблонов. В данном случае - JSP.

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

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

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

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

я пишу всё что угодно здесь и продолжает работать.
...
Рейтинг: 0 / 0
вопрос про spring mvc
    #38319484
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
вопрос про spring mvc
    #38320053
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczredwhite90Blazkowicz,

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

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

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


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