dar*_*ain 1 jsf javabeans java-ee
我是德国大学的本科学生.
我有一个团队编程课程..我们必须使用JavaEE/JSF来建立一个社交网站..像LinkedIn.
无论如何,我的小组创造了很多豆子.哪个恕我直言太多了.
<?xml version='1.0' encoding='UTF-8'?>
<!-- =========== FULL CONFIGURATION FILE ================================== -->
<faces-config version="1.2"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
<managed-bean>
<managed-bean-name>SessionBean1</managed-bean-name>
<managed-bean-class>egispartnerprofile.SessionBean1</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>ApplicationBean1</managed-bean-name>
<managed-bean-class>egispartnerprofile.ApplicationBean1</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>RequestBean1</managed-bean-name>
<managed-bean-class>egispartnerprofile.RequestBean1</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>Hauptseite</managed-bean-name>
<managed-bean-class>egispartnerprofile.Hauptseite</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>PasswordVergessen</managed-bean-name>
<managed-bean-class>egispartnerprofile.PasswordVergessen</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>registery</managed-bean-name>
<managed-bean-class>egispartnerprofile.registery</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>Page1</managed-bean-name>
<managed-bean-class>egispartnerprofile.Page1</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<validator>
<validator-id>login.EmailValidator</validator-id>
<validator-class>Login.EmailValidator</validator-class>
</validator>
<managed-bean>
<managed-bean-name>Bewertung</managed-bean-name>
<managed-bean-class>group52.infoholders.Bewertung</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>Mitarbeiter</managed-bean-name>
<managed-bean-class>group52.infoholders.Mitarbeiter</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>Nachrichten</managed-bean-name>
<managed-bean-class>group52.infoholders.Nachrichten</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>Benutrzer</managed-bean-name>
<managed-bean-class>group52.infoholders.Benutzer</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>view$MainPage</managed-bean-name>
<managed-bean-class>egispartnerprofile.view.MainPage</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>view$NavigationBar</managed-bean-name>
<managed-bean-class>egispartnerprofile.view.NavigationBar</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>view$PartnerProfilePage</managed-bean-name>
<managed-bean-class>egispartnerprofile.view.PartnerProfilePage</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>view$PartnerProfileChange</managed-bean-name>
<managed-bean-class>egispartnerprofile.view.PartnerProfileChange</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>view$ProfilePage</managed-bean-name>
<managed-bean-class>egispartnerprofile.view.ProfilePage</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/Page1.jsp</from-view-id>
<navigation-case>
<from-outcome>case1</from-outcome>
<to-view-id>/view/MainPage.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/view/MainPage.jsp</from-view-id>
<navigation-case>
<from-outcome>case1</from-outcome>
<to-view-id>/view/ProfilePage.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>view$ProfileChange</managed-bean-name>
<managed-bean-class>egispartnerprofile.view.ProfileChange</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
Run Code Online (Sandbox Code Playgroud)
实际上:
我认为他们错过了Beans的目的.(是他们?还是我错了?!)
我怎样才能让他们清楚...... 1会话Bean是(或可能)足够?
Sim*_*ann 10
它看起来不像豆子太多,但当然这取决于豆子做什么以及如何使用它们."每个视图一个bean"规则很常见,通常没有任何问题.当然,如果你可以编写一些更通用的bean并且可以在很多/所有视图上使用,你当然应该这样做,只是尽量保持其目的清晰并专注于单个任务.
大多数bean都是请求范围的这一事实很好.只有在用户会话的整个持续时间内必须保持某种状态的bean才应该被放入会话范围(因此名称).这也使每会话内存消耗保持在较低水平.应用程序范围通常用于必须创建一次并由站点的所有用户使用的bean.像全局变量/单例一样,你应该谨慎使用它们.
但是关于你的想法,一个会话bean就足够了:没有一般规则,有多少bean必须在哪个范围内.设计和开发bean,然后决定他们需要在哪个范围内.正如我所说,会话范围中的bean数量很可能低于请求范围中的bean数量,但如果bean必须在会话范围内才能正常工作,那么您不应该害怕它.
不要试图将所有东西都压缩到一个会话bean中,只是因为你想在会话范围内只有一个bean.这将被称为上帝对象,这是一种反模式.
例如,您有一些存储在数据库中的用户信息(例如全名,状态,角色......),您希望在用户登录时显示在所有页面上(如此处顶部的灰色栏)所以).这可以作为会话范围的bean实现,它可以在您的所有页面上使用(或者更好,在每个页面上包含的某些标题中).用户登录后立即创建此bean,并从数据库中只提取一次信息.
在在线商店中,可以使用另一个会话范围的bean来存储用户的购物篮.另一个会话范围的bean可用于管理单独的购物清单......
除此之外,我想评论您和您的团队使用的命名规则/风格:
| 归档时间: |
|
| 查看次数: |
1154 次 |
| 最近记录: |