没有合适的资源?快使用搜索试试~ 我知道了~
首页JSF+Spring+JPA(Hibernate实现)的环境搭建
JSF+Spring+JPA以我个人看来,应该说是Struts2+Spring+Hibernate的替代解决方案。 引入JPA去取代或者说包装或者说是升级Hibernate是为了符合JAVA EE的规范,达到ORM统一的结果。下次项目用EJB也好、用TOPLINK也好、用ibatis也罢,我们的开发人员代价会很小。在目前很多项目来说,引入此规范,能更好的代码复用,持久层和控制层相当于进一步的解耦合了,你只需要开启项目之前好好地建立领域模型。 那么用JSF取代Struts2或者更早一点的Struts1又是为何!答案依然是,它是规范。是符合某些标准的规范。不是说Struts2不好,这个因项目而定才行。我个人还是比较推崇apache的Struts2的,当然了,apache的JSF实现和JSF组件也是相当地杠杠的!!!!JSF更贴近事件比较多的web前端处理机制。想想我们一般要接收和处理页面的各种事件是用什么:js函数+ajax处理是吧(Flex我没有接触过,不知道它是怎么样的处理前后台交互的)。JSF可以采用事件监听机制,控件(JSF里面叫做控件)被触发了某些时间,直接优雅的和POJO进行了交互,配合ajax4jsf,处理大量的控件的事件是很简洁方便的。
资源详情
资源评论
资源推荐
1
写之前的感受
刘岩
先说好的,文章后再说缺点。
JSF+Spring+JPA 以我个人看来,应该说是 Struts2+Spring+Hibernate 的替代解决方案。
引入 JPA 去取代或者说包装或者说是升级 Hibernate 是为了符合 JAVA EE 的规范,达到
ORM 统一的结果。下次项目用 EJB 也好、用 TOPLINK 也好、用 ibatis 也罢,我们的开发
人员代价会很小。在目前很多项目来说,引入此规范,能更好的代码复用,持久层和控制层
相当于进一步的解耦合了,你只需要开启项目之前好好地建立领域模型。
那么用 JSF 取代 Struts2 或者更早一点的 Struts1 又是为何!答案依然是,它是规范。是
符合某些标准的规范。不是说 Struts2不好,这个因项目而定才行。我个人还是比较推崇 apache
的 Struts2 的,当然了,apache 的 JSF 实现和 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,加入如下内容
<!--Spring与JSF支持-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderLis
tener</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-valu
e>
</context-param>
<!--客户端管理状态-->
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
2
<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.tagl
ib.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>
<!--JSF的ajax配置 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>
3
<!—组件支持-->
<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>
在 WEB-INF 下面加入 jsf_core.tld、html_basic.tld 和 tomahawk.taglib.xml
文件、新建一个 faces-config.xml 文件,内容配置如下:
<!--配置facelets-->
<application>
<locale-config>
<default-locale>zh_CN</default-locale>
</locale-config>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
<!—JSF与Spring集成-->
<application>
<variable-resolver>
org.springframework.web.jsf.DelegatingVariableResolver
</variable-resolver>
</application>
再加入 facelets 框架的标签支持包,整个环境包大致如下图所示:
4
4. 上面的配置好了,JSF 和 Spring 就集成起来了。下面我们加入 JPA 支持,并且将 JPA
和 Spring 集成起来。
首先加入 persistence.xml 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="JSJDemoPU"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>test.vo.Test</class>
<properties>
<!-- Hibernate 方言(只有Hibernate 才需要设置) -->
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQLDialect" />
<!-- Hibernate 显示调试 SQL -->
<property name="hibernate.show_sql" value="true" />
<!-- Hibernate 格式化sql -->
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
剩余16页未读,继续阅读
素还真7784877
- 粉丝: 25
- 资源: 129
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论8