Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support / 12 сообщений из 12, страница 1 из 1
08.06.2014, 20:39
    #38664744
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Всем привет!
Форма на jsp-странице без аргумента enctype='multipart/form-data' работала. Как только добавил его, стало выводить ошибку Request method 'POST' not support
Код: java
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.
<form:form action="regForm" commandName='userDTO' method='POST' enctype='multipart/form-data'>

		<table align="center">
			<tr>
				<td colspan="2" style="font-size: 12px; color: red">Обязательные
					поля обозначены звездочкой *</td>
			</tr>
			<tr>
				<td align="right">Email*:</td>
				<td align="left"><form:input path='email' /></td>
			</tr>
			<tr>
				<td align="right">Логин*:</td>
				<td align="left"><form:input path='login' /></td>
			</tr>
			<tr>
				<td align="right">Пароль*:</td>
				<td align="left"><form:password path='pass' /></td>
			</tr>
			<tr>
				<td align="right">Подтвердите пароль*:</td>
				<td align="left"><form:password path='pass_confirm' /></td>
			</tr>
			<tr>
				<td align="right">Фото:</td>
				<td align="left"><input id="photo" name="photo" type="file" />
				</td>
			</tr>
			<tr>
				<td colspan='2' align="center">
					<button type="reset">Очистить форму</button>
					<button type="submit" onclick="regFormSubmit()">Зарегистрироваться</button>
				</td>
			</tr>
		</table>
	</form:form>


Данные с формы сохраняются в UserDTO. И метод контроллера:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
@RequestMapping(value = "regForm", method = RequestMethod.POST)
public String regFormSubmitPost(
		@Valid @ModelAttribute("userDTO") UserDTO userDTO,
		BindingResult result, 
		Model model,
		@RequestParam("photo") MultipartFile file) {

		System.out.println("regFormSubmitPost");

		if (result.hasErrors()) {
			model.addAttribute("error", result);
			return "Registration";
		}

		userService.saveOrUpdateUser(userDTO);

		model.addAttribute(
				"msg",
				"Вы успешно зарегистрировались!");

		return "Login";
	}


В общем почему-то не видит этот метод в контроллере.
...
Рейтинг: 0 / 0
08.06.2014, 20:53
    #38664754
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Бин тоже объявлен:
Код: xml
1.
2.
3.
<beans:bean 
          id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</beans:bean>
...
Рейтинг: 0 / 0
08.06.2014, 21:55
    #38664787
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
stacktrace и полный текст ошибки в студию.
...
Рейтинг: 0 / 0
08.06.2014, 22:01
    #38664790
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Код: java
1.
2.
Jun 08, 2014 8:58:36 PM org.springframework.web.servlet.PageNotFound handleHttpRequestMethodNotSupported
WARNING: Request method 'POST' not supported



И все =(
...
Рейтинг: 0 / 0
08.06.2014, 22:18
    #38664797
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Библиотеки точно подключены? commons-fileupload, commons-io?
...
Рейтинг: 0 / 0
08.06.2014, 22:34
    #38664804
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Да, в pom.xml прописаны и видны в maven-е
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<!-- Apache Commons Upload -->
<dependency>
	<groupId>commons-fileupload</groupId>
	<artifactId>commons-fileupload</artifactId>
	<version>1.3.1</version>
</dependency>

<!-- Apache Commons Upload -->
<dependency>
	<groupId>commons-io</groupId>
	<artifactId>commons-io</artifactId>
	<version>2.4</version>
</dependency>
...
Рейтинг: 0 / 0
08.06.2014, 23:03
    #38664824
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
1. Спринг при инициализации пишет маппинги методов на URL-ы. Там еще можно проверить действительно ли спринг понял, что на regForm надо ходить POST-ом.
2. Меня смущает отсутствие слеша в @RequestMapping. Там выше по исходникам точно все как надо написано?
...
Рейтинг: 0 / 0
09.06.2014, 01:49
    #38664856
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Alexander A. Sak1. Спринг при инициализации пишет маппинги методов на URL-ы. Там еще можно проверить действительно ли спринг понял, что на regForm надо ходить POST-ом.

Проверил, ходит постом
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
июн 09, 2014 12:45:58 AM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping registerHandlerMethod
INFO: Mapped "{[/regForm],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto 
public org.springframework.web.servlet.ModelAndView 
by.issoft.sitedesigner.controller.UserController.regFormSubmit(
by.issoft.sitedesigner.dto.UserDTO,
org.springframework.validation.BindingResult,
org.springframework.ui.Model,
org.springframework.web.multipart.MultipartFile)


Alexander A. Sak2. Меня смущает отсутствие слеша в @RequestMapping. Там выше по исходникам точно все как надо написано?
И со слешем все ок
...
Рейтинг: 0 / 0
09.06.2014, 01:50
    #38664857
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Стоит только убрать enctype='multipart/form-data' и все работает замечательно!
...
Рейтинг: 0 / 0
09.06.2014, 02:35
    #38664861
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Сейчас сделал все по документации спринга и вместо адресса http://localhost:8080/SiteDesigner/regForm переходит на http://localhost:8080/regForm и висит пустая страница. Кажется, проблемы в этом.
...
Рейтинг: 0 / 0
09.06.2014, 09:37
    #38664965
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
Паша01Сейчас сделал все по документации спринга и вместо адресса http://localhost:8080/SiteDesigner/regForm переходит на http://localhost:8080/regForm и висит пустая страница. Кажется, проблемы в этом.
Убедитесь что в form action нет слеша. В первом посте его таки нет. А вот в логе есть почему-то.
...
Рейтинг: 0 / 0
10.06.2014, 17:30
    #38666697
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support
В общем в Spring Security тэг <csrf/> влиял как-то на запросы, и при multipart запросе выдавало ту ошибку.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Аргумент enctype='multipart/form-data' приводит к ошибке Request method 'POST' not support / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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