jsf + spring +hibernate 自己做的一个例子,主要是看一些基本配置

最近好久没有发帖了,有点懒了(*^__^*)

最近刚做完一个 jsf的小例子,麻雀虽小,但是五脏俱全。下面我就把 它贴出来,具体的配置文件可以看 附件


下面我贴的都是配置中的一部分,都是需要注意的地方

1: web。xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <!-- spring app 上下文-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/appconfig/appcontext_resource.xml,/WEB-INF/appconfig/appcontext_dao.xml,/WEB-INF/appconfig/appcontext.xml</param-value>
  </context-param>
  <context-param>
<param-name>log4jConfigLocation1</param-name>
<param-value>WEB-INF\classes\log4j.properties</param-value>
</context-param>
  <!-- 如果 faces-config.xml不在/WEB-INF下,需要指定位置,如下代码
  <context-param>
    <param-name>javax.faces.CONFIG_FILES</param-name>
    <param-value>/WEB-INF/xxx/faces-config.xml</param-value>
  </context-param>
  -->
 
 
  <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>com.rain.ralf.servlet.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>ignore</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
  <!-- spring 监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 配置 jsf   -->
  <servlet>
    <display-name>FacesServlet</display-name>
    <servlet-name>FacesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.rain.ralf.servlet.Log4jInit</servlet-class>
<init-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF\classes\log4j.properties</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
</web-app>


2:face-config.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config>

<managed-bean>
<managed-bean-name>addUser</managed-bean-name>
<managed-bean-class>com.rain.ralf.web.addUserBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>userServiecs</property-name>
<value>#{userServiecs}</value>
</managed-property>

</managed-bean>






<navigation-rule>
<description>add user</description>
<from-view-id>/pages/addUser.jsp</from-view-id>
<navigation-case>
<from-outcome>sucess</from-outcome>
<to-view-id>/pages/Sucess.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</navigation-rule>



<!-- 写在最后 用sprig的变量解析器代替jsf的变量解析器-->
<application>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
</application>





</faces-config>

这里需要注意红色部分的地方,其实jsf本身就使用的ioc的思想,所以通过红色部分你可以直接在代码中直接 使用 service对象 。例如在 com.rain.ralf.web.addUserBean这个backbean中使用业务层的对象


public class addUserBean {

   private UserService userServiecs;
   public void setUserServiecs(UserService userServices) {
this.userServiecs = userServices;
   }


    public String addUser() {


try {
userServiecs.insertUserServices(uv);
return "sucess";
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}

}

这样红色字体的 userServiecs对象就能直接使用了 ,其他的配置文件可以参考附件



 

你可能感兴趣的:(spring,Hibernate,Web,log4j,JSF)