Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Маппинг сервлетов / 12 сообщений из 12, страница 1 из 1
22.06.2015, 16:44
    #38989911
G.Collector
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
Есть вот такой сервлет:

Код: java
1.
2.
3.
@WebServlet(asyncSupported = false, name = "PageRendererServlet", urlPatterns = {"/page/*"} )
@Controller
public class PageRendererServlet extends HttpServlet {



Есть JSF'ный сервлет, который маппится на /pages/*

Возможно ли как-то задать такую маску для обоих сервлетов, чтобы все, что не имеет расширения .xhtml шло через него, а то что имеет - через JSF?

Точка входа у обоих должна быть одинаковой в этом случае - /page/
...
Рейтинг: 0 / 0
22.06.2015, 17:39
    #38989967
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
А будет приложение нормально работать, если два разных сервлета замаплены на один и тот же urlPattern?
Может, JSF'ный сервлет все-таки замапить на *.xhtml ? А в PageRendererServlet сделать проверку на расширение имени и делать forward:

Код: java
1.
2.
RequestDispatcher rd = request.getRequestDispatcher("*.xhtml");  
rd.forward(request, response);
...
Рейтинг: 0 / 0
22.06.2015, 17:57
    #38989990
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
Сорри, видимо, плохо у меня со зрением. Вижу urlPatterns = {"/page/*"} и /pages/*.
Как там на самом деле, автору виднее.
...
Рейтинг: 0 / 0
22.06.2015, 17:58
    #38989991
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
Но все равно автор хочет, чтобы точка входа была одинаковой, это странно.
...
Рейтинг: 0 / 0
22.06.2015, 18:08
    #38989999
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
Может, виды pages поделить на /pages/вид1 и /pages/вид2, чтобы не валялись они в одной куче.
Тогда 2 паттерна имеются и проблем нет.
...
Рейтинг: 0 / 0
22.06.2015, 18:19
    #38990011
G.Collector
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
yelenaНо все равно автор хочет, чтобы точка входа была одинаковой, это странно.Досталась такая архитектура

Сделал очень топорно и просто. В сервлете для /page:

Код: java
1.
2.
3.
4.
if (map.get("content").toString().contains("xhtml"))
    resp.sendRedirect(map.get("content").toString());
else
    template.process(map, out);
...
Рейтинг: 0 / 0
22.06.2015, 18:23
    #38990013
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
Это чтобы клиент получил ответ с редиректом и опять отправил запрос... А зачем его так напрягать?
...
Рейтинг: 0 / 0
22.06.2015, 18:58
    #38990035
G.Collector
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
yelenaЭто чтобы клиент получил ответ с редиректом и опять отправил запрос... А зачем его так напрягать?А как еще? По умолчанию отрабатывает генератор статичных html-страниц (с использованием freemarker), старый функционал в системе реализован на нечеловеческих JSF'ках. Если клиент переходит на старые JSF'ные страницы, то редиректим, их подхватывает faces-сервлет и парсит.
...
Рейтинг: 0 / 0
22.06.2015, 19:10
    #38990041
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
Куда редиректите? По тому же адресу?
Ну, главное, чтобы у вас все работало.
forward позволил бы обойтись без лишнего запроса.
...
Рейтинг: 0 / 0
23.06.2015, 11:37
    #38990472
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
...
Рейтинг: 0 / 0
23.06.2015, 11:41
    #38990477
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
а для спринга

можно и так делать : явно указав prefix и suffix

http://forum.spring.io/forum/spring-projects/web/18234-how-to-configure-spring-mvc-view-resolver-for-facelets
...
Рейтинг: 0 / 0
23.06.2015, 11:48
    #38990487
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маппинг сервлетов
Код: 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.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" 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/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

	<context:component-scan base-package="com.javacodegeeks.snippets.enterprise" />
	 
   <bean class="com.javacodegeeks.snippets.enterprise.HelloWorldController" />
   
 <bean 
   class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
   
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
		<property name="order" value="2" />
	</bean>

	<bean class="org.springframework.web.servlet.view.XmlViewResolver">
		<property name="location">
			<value>/WEB-INF/views.xml</value>
		</property>
		<property name="order" value="1" />
	</bean>

	<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
		<property name="basename" value="views" />
		<property name="order" value="0" />
	</bean>

</beans>
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Маппинг сервлетов / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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