代码写久了,很多框架的基本调试问题竟然都给忘了,今天特意写了个最简单的框架,包括从表现层调用到数据库层.
整个流程大概如下:
先创建工程,分别添加jsf,spring,hibernate;接着就是添加页面层jsf配置
工程创建就不说了,就一个普通的工程.
首先添加jsf配置,如下
finish...
接着添加spring
导入所有的包
3.添加hibernate
也是添加所有的包,并把默认导入的包全部入进lib文件夹里面
然后就是新增配置文件
这里就把hibernate.cfg.xml暂时跟applicationcontext.xml放一起.
如图里说明.
新增数据库连接bean
添加完三个框架配置之后,我们开始从页面开始入手
先到WebRoot=>WEB-INF=>faces-config.xml文件,打开它,add jsp page创建三个页面,一个登录(login.jsp),一个成功(success.jsp),
一个失败(fail.jsp)
页面名字自己任由发挥,然后添加navigation case(导航关系)
配置完后文件如下(faces-config.xml):
<navigation-rule>
<from-view-id>/login.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/success.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>failture</from-outcome>
<to-view-id>/fail.jsp</to-view-id>
</navigation-case></navigation-rule>
<navigation-rule>
<from-view-id>/success.jsp</from-view-id>
</navigation-rule>
<navigation-rule>
<from-view-id>/fail.jsp</from-view-id>
</navigation-rule>
这里配置页面导航关系.
配置完导航之后,我们还要添加一个managed-bean(UserLogin.java)让它跟login.jsp连接起来.
两种方式建立:一种是根据向导,另一种是人工配置.下面这两种我都讲一下:
第一种: 点击工程->new->other->MyEclipse->Web-JSF->Managed Bean
根据向导创建好bean之后,它同时会在faces-config.xml里添加一个manage-bean..
如下:
<managed-bean>
<managed-bean-name>UserLoginConfig</managed-bean-name>
<managed-bean-class>UserLogin</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>username</property-name>
<property-class>java.lang.String</property-class>
<value></value>
</managed-property>
<managed-property>
<property-name>password</property-name>
<property-class>java.lang.String</property-class>
<value></value>
</managed-property>
</managed-bean>
第二种就是人工把上面这段代码添加到faces-config.xml,并创建类Userlogin.java,添加变量username,password,当然这种方法会比较麻烦一点,但如果对于一个熟练的人来说,其实没有什么差别.
好了,现在可以开始进入我的页面配置了,打开login.jsp.
添加如下代码:
<h:form rendered="true" id="loginForm">
<h:inputText required="false" rendered="true" value="#{UserLoginConfig.userName}"></h:inputText><br>
<h:inputText required="false" rendered="true" value="#{UserLoginConfig.password}"><br></h:inputText><br>
<h:commandButton action="#{UserLoginConfig.userLogin}" rendered="true" value="login"></h:commandButton>
</h:form>
当然你也可以用界面工具进行添加,注意这里的"#{bean.param}"中的bean是根据faces-config.xml配置的bean-name来取的,当然你也可以把bean-name跟manage-bean类名一样
接下来就是添加UserLogin里的userLogin方法.
先打印下有没有吧....
如果有的话,表明你已经配置好jsf了.
下面就是通过这个manage-bean调用业务逻辑层(spring),再通过spring调用dao层.