【问题标题】:Use of Spring controller with JSF在 JSF 中使用 Spring 控制器
【发布时间】:2023-04-09 06:33:01
【问题描述】:

我正在使用带有 GAE/Java 的 JSF primefaces。当我转移到 spring 安全框架时,控制器在应用程序中没有任何影响,因为 jsf 直接转到 java backing bean。那么任何人都可以建议我如何有效地使用 Spring 控制器和 JSF 来遵循 MVC 架构。提前致谢!

我可以添加任何更好的安全框架来代替 Spring 吗?

【问题讨论】:

    标签: java spring google-app-engine jsf-2


    【解决方案1】:

    JSF 确实遵循 MVC 架构 - 很糟糕,但它确实做到了。

    为什么您认为 Web MVC 需要 Spring?我会说您应该使用 JSF 或 Spring Web MVC,但不能同时使用两者。 (我也推荐 Spring 而不是 JSF。)

    Spring 有一个安全框架,但远不止这些。

    要问的问题是:“更好”对您意味着什么?您对 Spring 安全性有什么问题?

    如果您按照下面的 soulcheck 建议使用它,那么我会说您应该在 JSF 中连接并在其旁边使用 DispatcherServlet 来处理文件上传 URL。仅为非 JSF URL 注释控制器,它应该可以工作。

    【讨论】:

    • 有一个用例他可能想要同时使用这两种方法:文件下载。使用 Spring 控制器而不是 servlet 总是很诱人,尤其是在 EE 6 之前的环境中。
    • 我很高兴使用Spring security,毫无疑问强烈推荐它。问题是我认为带有Spring控制器的JSF效果不佳(或者我不知道如何有效地使用它)。但我用“更好”这个词来表示与 JSF 高度兼容的那个。
    • JSF 即使单独使用也有“差劲”。我会放弃它。
    【解决方案2】:

    控制器在应用中没有作用,jsf直接去java backing bean

    您必须让它将请求发送到/j_spring_security_check

    public void login() throws IOException {
        FacesContext facesContext = FacesContext.getCurrentInstance();
        ExternalContext externalContext = facesContext.getExternalContext();
        externalContext.dispatch("/j_spring_security_check");
        facesContext.responseComplete();
    }
    

    另见

    【讨论】:

    • 在登录的情况下就可以了。但是如何将 JSF 引入 MVC 架构?
    • 这个问题毫无意义。请详细说明。
    • 实际上我使用了 Spring 框架和基于 MVC 架构的 JSP。但现在我搬到了 JSF。所以弹簧控制器的概念意义不大(或者不需要控制器部分)。所以我只想知道如果可以的话,我可以在使用 JSF 时利用 MVC 的概念吗?希望你能得到我的问题!
    • JSF 一个 MVC 框架。 “弹簧控制器”部分将由支持 bean 操作方法完成。模型可以作为 bean 的属性。有关一些具体示例,另请参阅balusc.blogspot.com/2011/01/…
    猜你喜欢
    • 2015-01-24
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多