Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要JSFServlet帮助吗_Java_Architecture_Jsf_Servlets - Fatal编程技术网

Java 需要JSFServlet帮助吗

Java 需要JSFServlet帮助吗,java,architecture,jsf,servlets,Java,Architecture,Jsf,Servlets,我希望我的web应用程序中有一个如下所述的机制: 用户将输入mydomain.com/CompanyName,具体取决于公司名称。它将显示其徽标和自定义页面,我将在会话中再次获取解析后的参数。每次请求时,我将比较解析后的公司名称和会话中存储的公司名称,若它们匹配,那个么应用程序将显示带有用户数据的请求页面。否则它将被重定向到登录页面。 最主要的是我想在JSF arch中使用这个东西 我尝试使用一个servlet来解析所有请求,它将解析请求,然后将请求分派给首选的servlet,但问题是当它再次解

我希望我的web应用程序中有一个如下所述的机制:

用户将输入mydomain.com/CompanyName,具体取决于公司名称。它将显示其徽标和自定义页面,我将在会话中再次获取解析后的参数。每次请求时,我将比较解析后的公司名称和会话中存储的公司名称,若它们匹配,那个么应用程序将显示带有用户数据的请求页面。否则它将被重定向到登录页面。 最主要的是我想在JSF arch中使用这个东西


我尝试使用一个servlet来解析所有请求,它将解析请求,然后将请求分派给首选的servlet,但问题是当它再次解析到同一个控制器servlet时,它会进入循环,

您可以通过一个阶段侦听器来执行此操作。您可以在
faces config.xml
中定义一个全局配置(或者使用注释,如果使用的是JSF 2.0)


com.yourcompany.CompanyPhaseListener
在那里,您可以访问
FacesContext
,从中可以获得当前请求URI。解析它并将适当的属性存储在请求中,稍后您可以在页面上阅读这些属性

阶段侦听器在指定的阶段上执行,您可能应该选择
RENDER\u RESPONSE


要影响URL在浏览器中的显示方式,请选中。

您可以通过阶段侦听器执行此操作。您可以在
faces config.xml
中定义一个全局配置(或者使用注释,如果使用的是JSF 2.0)


com.yourcompany.CompanyPhaseListener
在那里,您可以访问
FacesContext
,从中可以获得当前请求URI。解析它并将适当的属性存储在请求中,稍后您可以在页面上阅读这些属性

阶段侦听器在指定的阶段上执行,您可能应该选择
RENDER\u RESPONSE

要影响URL在浏览器中的显示方式,请选中

我尝试使用一个servlet来解析所有请求,它将解析请求,然后将请求分派给首选servlet,但问题是当它再次解析到同一个控制器servlet时,它会进入循环

改用
过滤器
。默认情况下,它不会侦听转发的请求,因此在转发时不会得到无限循环

我尝试使用一个servlet来解析所有请求,它将解析请求,然后将请求分派给首选servlet,但问题是当它再次解析到同一个控制器servlet时,它会进入循环


改用
过滤器
。默认情况下,它不会侦听转发的请求,因此转发时不会出现无限循环。

但这里的问题是,如何实现mydomain.com/something/companyname/pages/somepage.jsf模式?浏览器中的URL必须包含companyName。请注意-为什么不使用子域,即-
companyName.yourdomain.com
(并查看我的更新)不,我只想使用URL模式处理它,我们不能只使用JSF来管理它,而不使用preetyFaces吗?我尝试了漂亮的faces,除了在一个案例中,它工作得很好,如果视图是从faces-config.xml解析的,那么URL模式将不是必需的,我的意思是使用漂亮的faces我们可以从模式解析视图,但是当我从faces-config.xml解析视图并且我想要我想要的URL模式时会发生什么呢?这里我附上了我使用prettyFaces创建的示例应用程序,访问此URL。yourserver:port/MavenJSFSample/companyName/login单击按钮它将获得yourserver:port/MavenJSFSample/companyName/home.jsf我想要像yourserver:port/MavenJSFSample/companyName/home这样的东西,但这里的问题是,我如何实现mydomain.com/something/companyName/pages/somepage.jsf模式?浏览器中的URL必须包含companyName。请注意-为什么不使用子域,即-
companyName.yourdomain.com
(并查看我的更新)不,我只想使用URL模式处理它,我们不能只使用JSF来管理它,而不使用preetyFaces吗?我尝试了漂亮的faces,除了在一个案例中,它工作得很好,如果视图是从faces-config.xml解析的,那么URL模式将不是必需的,我的意思是使用漂亮的faces我们可以从模式解析视图,但是当我从faces-config.xml解析视图并且我想要我想要的URL模式时会发生什么呢?这里我附上了我使用prettyFaces创建的示例应用程序,访问此URL。yourserver:port/MavenJSFSample/companyName/login单击按钮,它将获得yourserver:port/MavenJSFSample/companyName/home.jsf我想要一些类似yourserver:port/MavenJSFSample/companyName/home的东西这就是pretty faces所做的,使用这种模式我面临一个问题,它工作正常,除了在一种情况下,如果视图是从faces-config.xml解析的,那么URL模式将不是必需的,我的意思是使用漂亮的faces我们可以从模式解析视图,但是当我从faces-config.xml解析视图并且我想要我想要的URL模式时会发生什么呢?这里我附上了我使用prettyFaces创建的示例应用程序,访问此URL。单击按钮,它会得到我想要的东西,比如BalusC,期待你的评论。这就是pretty faces所做的,使用此模式我面临一个问题,它工作正常,除非视图是从faces-config.xml解析的,那么URL模式将不是必需的,我的意思是使用漂亮的面孔,我们可以从模式中解析视图,但当我从faces-config.xml解析视图时,我想要我想要的URL模式呢?这里我附上了我使用漂亮面孔创建的示例应用程序,访问此URL。点击按钮,它会得到我想要的东西,像巴卢斯克期待你的评论。
<lifecycle>
    <phase-listener>com.yourcompany.CompanyPhaseListener</phase-listener>
</lifecycle>