Я хочу сохранить все изображения своего веб-сайта на вторичном файловом сервере, чтобы уменьшить нагрузку на базу и основной сервер (в конечном итоге будет огромное количество файлов изображений и браузер делает совершенно отдельный запрос на загрузку изображений, поэтому я решил, что у меня также может быть отдельный файловый сервер).Перенаправление на второй сервер не использует его faces-config
У меня есть стандартная ссылка для пересылки пользователям файлового сервера, чтобы они могли загружать файлы изображений для продуктов, однако, похоже, он не использует файл-файл с файловым сервером.
На странице JSF на главном сервере:
<a target="_blank" href="http://localhost:12631/FileServer/faces/ExternalSecure/ForwardUploadImagesProcessing.xhtml#{newEditProductBean.uploadPicviewfParamValues}" >Upload replacement image(s) for storage on #{authBackingBean.demoCompany}'s servers</a>
страница переадресации 'ForwardUploadImagesProcessing.xhtml' на файловый сервер выглядит следующим образом:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core">
<head>
<title>redirect</title>
</head>
<body>
<f:metadata>
<f:viewParam name="path" value="#{uploadImages.path}" />
<f:viewParam name="filename" value="#{uploadImages.fileName}" />
<f:viewParam name="productTypeName" value="#{uploadImages.productTypeName}" />
<f:viewParam name="productModel" value="#{uploadImages.productModel}" />
<f:event type="preRenderView" listener="#{uploadImages.processUploadEntityImages()}" />
</f:metadata>
</body>
</html>
'The processUploadEntityImages()' метод в bean-компоненте «UploadImages» (см. ниже) вызывается как ожидалось, и оператор System.out корректно печатает все переданные значения f: viewParam, однако строка навигации JSF «process_UploadImages» не загружает страницу, на которую она указывает файловый сервер. Как я могу заставить его переключиться на файловый сервер, и это face-config?
В вспомогательном компоненте 'UploadImages' на файловом сервере:
public String processUploadEntityImages()
{
System.out.println("processUploadEntityImages() " + path + " ; " + fileName + " ; " + productTypeName + " ; " + productModel);
return "process_UploadImages";
}
В 'граней-конфигурации' файловый сервер:
<navigation-rule>
<navigation-case>
<from-outcome>process_UploadImages</from-outcome>
<to-view-id>/ExternalSecure/UploadImages.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<description>For uploading thumb and main images for entities. </description>
<managed-bean-name>uploadImages</managed-bean-name>
<managed-bean-class>processing.UploadImages</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
В web.xml на файл сервер:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
у меня есть ссылка на индексной странице файлового сервера, ссылки на этой странице и странице «UploadImages.xhtml» правильно открывается с помощью правила навигации «process_UploadImages», поэтому проблем нет.
Заранее спасибо.