`
suhuanzheng7784877
  • 浏览: 692559 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47287
社区版块
存档分类
最新评论

JSF+Spring+JPA(Hibernate实现)的环境搭建(1)

阅读更多

写之前的感受

刘岩

       先说好的,文章后再说缺点。

JSF+Spring+JPA以我个人看来,应该说是Struts2+Spring+Hibernate的替代解决方案。

引入JPA去取代或者说包装或者说是升级Hibernate是为了符合JAVA EE的规范,达到ORM统一的结果。下次项目用EJB也好、用TOPLINK也好、用ibatis也罢,我们的开发人员代价会很小。在目前很多项目来说,引入此规范,能更好的代码复用,持久层和控制层相当于进一步的解耦合了,你只需要开启项目之前好好地建立领域模型。

那么用JSF取代Struts2或者更早一点的Struts1又是为何!答案依然是,它是规范。是符合某些标准的规范。不是说Struts2不好,这个因项目而定才行。我个人还是比较推崇apacheStruts2的,当然了,apacheJSF实现和JSF组件也是相当地杠杠的!!!!JSF更贴近事件比较多的web前端处理机制。想想我们一般要接收和处理页面的各种事件是用什么:js函数+ajax处理是吧(Flex我没有接触过,不知道它是怎么样的处理前后台交互的)。JSF可以采用事件监听机制,控件(JSF里面叫做控件)被触发了某些时间,直接优雅的和POJO进行了交互,配合ajax4jsf,处理大量的控件的事件是很简洁方便的。

言归正传,开始。。。

1.       首先利用IDE建立一个Web项目

2.       加入相应的jar包,注意:所有的开源框架都是加入jar包的时候最麻烦,尤其加入了Spring,搞不好就他妈的启动服务的时候报错。我已经将相应需要的jar包放到了csdn上面共享了,网址是http://download.csdn.net/source/2416493。大家可以去下载。

3.       web项目加入JSF支持

修改web.xml,加入如下内容

<!--SpringJSF支持-->

    <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

 

    <!--配置JSF-->

    <context-param>

       <param-name>javax.faces.CONFIG_FILES</param-name>

       <param-value>/WEB-INF/faces-config.xml</param-value>

    </context-param>

 

    <!--Spring配置文件地址-->

    <context-param>

       <param-name>contextConfigLocation</param-name>

    <param-value>/WEB-INF/classes/applicationContext.xml</param-value>

</context-param>

<!--客户端管理状态-->

    <context-param>

       <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

       <param-value>client</param-value>

    </context-param>

 

<!—加入facelets 框架支持-->

    <context-param>

       <param-name>facelets.LIBRARIES</param-name>

       <param-value>    /WEB-INF/facelets/tags/arcmind.taglib.xml;/WEB-INF/tomahawk.taglib.xml

       </param-value>

</context-param>

 

    <context-param>

       <description>指定facelets支持的后缀</description>

       <param-name>javax.faces.DEFAULT_SUFFIX</param-name>

       <param-value>.xhtml</param-value>

    </context-param>

 

    <!--JSFajax配置 AJAX4JSF-->

    <filter>

       <display-name>Ajax4jsf Filter</display-name>

       <filter-name>ajax4jsf</filter-name>

       <filter-class>org.ajax4jsf.Filter</filter-class>

    </filter>

    <filter-mapping>

       <filter-name>ajax4jsf</filter-name>

       <servlet-name>Faces Servlet</servlet-name>

       <dispatcher>REQUEST</dispatcher>

       <dispatcher>FORWARD</dispatcher>

       <dispatcher>INCLUDE</dispatcher>

</filter-mapping>

 

    <!—JSF支持-->

    <servlet>

       <servlet-name>Faces Servlet</servlet-name>

       <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

       <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

       <servlet-name>Faces Servlet</servlet-name>

       <url-pattern>*.faces</url-pattern>

    </servlet-mapping>

 

<!—组件支持-->

    <filter>

       <description>为正确使用tomahawk组件包而配置</description>

       <filter-name>extensionsFilter</filter-name>

    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>

       <init-param>

           <param-name>uploadMaxFileSize</param-name>

           <param-value>10m</param-value>

       </init-param>

       <init-param>

           <param-name>uploadThresholdSize</param-name>

           <param-value>100</param-value>

       </init-param>

    </filter>

 

    <filter-mapping>

       <filter-name>extensionsFilter</filter-name>

       <url-pattern>*.faces</url-pattern>

    </filter-mapping>

    <filter-mapping>

       <filter-name>extensionsFilter</filter-name>

       <url-pattern>/faces/*</url-pattern>

</filter-mapping>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics