Я недавно обновил свое приложение с Spring 2.5.6 до Spring 3.0.0. Через несколько дней я заметил, что некоторые из моих страниц перестали работать. Похоже, проблема в моем контроллере UserContent.do.
UserContent.do сопоставляется с помощью сопоставления SimpleUrlHandlerMapping
. Это выглядит так:
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/*/UserContent.do">UserContentController</prop>
</props>
</property>
</bean>
Проблема в том, что я разрешаю пользовательский контент в этом среднем каталоге, поэтому эти URL могут быть любыми:
http://mysite.com/foo/UserContent.do
http://mysite.com/bob/UserContent.do
http://mysite.com/foo%0a%0dbob/UserContent.do
Проблема в третьем случае. По какой-то причине кажется, что "\ r \ n" больше не соответствует * в Spring 3. Кажется, что он все еще работает в Spring 2.5.6.
Я больше не планирую позволять пользователям вводить символы новой строки в этом месте. Это был недосмотр с самого начала. Однако я хотел бы, чтобы эти URL продолжали работать по причинам SEO. Есть ли способ сопоставить URL-адрес с новой строкой в кодировке URL в Spring 3?