JSF1.1 + Spring2.0 + Hibernate3.1


图示:

JSF1.1 Jar包:

MyFaces1.1 Jar包:

Spring与Hibernate包的配置与文章《SSH1基本配置(Struts1.2 + Spring2.0 + Hibernate3.1)》一致
地址:http://sunspot.blog.51cto.com/372554/468430

web.xml 配置

  1. <!-- JSF Configuration -->
  2. <servlet>
  3. <servlet-name>FacesServlet</servlet-name>
  4. <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  5. <load-on-startup>0</load-on-startup>
  6. </servlet>
  7. <servlet-mapping>
  8. <servlet-name>FacesServlet</servlet-name>
  9. <url-pattern>*.do</url-pattern>
  10. </servlet-mapping>
  11. <!-- Spring Configuration -->
  12. <context-param>
  13. <param-name>contextConfigLocation</param-name>
  14. <param-value>/WEB-INF/applicationContext.xml</param-value>
  15. </context-param>
  16. <listener>
  17. <listener-class>
  18. org.springframework.web.context.ContextLoaderListener
  19. </listener-class>
  20. </listener>
  21. <filter>
  22. <filter-name>CharacterEncoding</filter-name>
  23. <filter-class>
  24. org.springframework.web.filter.CharacterEncodingFilter
  25. </filter-class>
  26. <init-param>
  27. <param-name>encoding</param-name>
  28. <param-value>gb2312</param-value>
  29. </init-param>
  30. </filter>
  31. <filter-mapping>
  32. <filter-name>CharacterEncoding</filter-name>
  33. <url-pattern>/*</url-pattern>
  34. </filter-mapping>
  35. <!-- Sun for JSF Listener Configuration -->
  36. <listener>
  37. <listener-class>
  38. com.sun.faces.config.ConfigureListener
  39. </listener-class>
  40. </listener>
  41. <!-- MyFaces for JSF Listener Configuration -->
  42. <listener>
  43. <listener-class>
  44. org.apache.myfaces.webapp.StartupServletContextListener
  45. </listener-class>
  46. </listener>
  47. <welcome-file-list>
  48. <welcome-file>input.faces</welcome-file>
  49. </welcome-file-list>

faces-config.xml
        这里必须要配置Delegation Configuration

  1. <!-- Delegation Configuration -->
  2. <application>
  3. <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
  4. </application>
  5. <!-- Bean Configuration -->
  6. <managed-bean>
  7. <managed-bean-name>userBean</managed-bean-name>
  8. <managed-bean-class>com.jsf.beans.User</managed-bean-class>
  9. <managed-bean-scope>request</managed-bean-scope>
  10. <!-- 注入Service,userService已在Spring中配置 -->
  11. <managed-property>
  12. <property-name>service</property-name>
  13. <value>#{userService}</value>
  14. </managed-property>
  15. </managed-bean>
  16. <!-- Navigation Configuration -->
  17. <navigation-rule>
  18. <from-view-id>/input.jsp</from-view-id>
  19. <navigation-case>
  20. <from-outcome>success</from-outcome>
  21. <to-view-id>/success.jsp</to-view-id>
  22. </navigation-case>
  23. <navigation-case>
  24. <from-outcome>error</from-outcome>
  25. <to-view-id>/error.jsp</to-view-id>
  26. </navigation-case>
  27. </navigation-rule>

applicationContext.xml
      这里的Service切忌将scope设置为prototype类型,该类型持有状态对象

  1. <!-- Service Configuration -->
  2. <bean name="userService" id="userService" class="com.jsf.service.UserService"
  3. factory-method="getInstance" lazy-init="false" scope="prototype"/>

User.java 
      UserService与SSH1中的一致。 
             http://sunspot.blog.51cto.com/372554/468430

  1. package com.jsf.beans;
  2. import java.io.Serializable;
  3. import com.jsf.service.UserService;
  4. public class User  implements Serializable{
  5. private String id;
  6. private String name;
  7. private String password;
  8. private Integer age;
  9. public User() {
  10. super();
  11. }
  12. public String getId() {
  13. return id;
  14. }
  15. public void setId(String id) {
  16. this.id = id;
  17. }
  18. public String getName() {
  19. return name;
  20. }
  21. public void setName(String name) {
  22. this.name = name;
  23. }
  24. public String getPassword() {
  25. return password;
  26. }
  27. public void setPassword(String password) {
  28. this.password = password;
  29. }
  30. public Integer getAge() {
  31. return age;
  32. }
  33. public void setAge(Integer age) {
  34. this.age = age;
  35. }
  36. private UserService service;
  37. public UserService getService() {
  38. return service;
  39. }
  40. public void setService(UserService service) {
  41. this.service = service;
  42. }
  43. public String execute() {
  44. if(service.validate(this.id, this.password)) {
  45. User user = service.getUser(this.id);
  46. this.setAge(user.getAge());
  47. this.setName(user.getName());
  48. return "success";
  49. }
  50. return "error";
  51. }
  52. }

 总结:
    重点在于配置faces-config.xml中要托管的解析器DelegatingVariableResolver

在web.xml中使用Sun对JSF的监听,MyFaces的监听可不使用

本文转自 sundunjam 51CTO博客,原文链接:http://blog.51cto.com/sunspot/469029,如需转载请自行联系原作者

JSH1基本配置 (JSF1.1 + Spring2.0 + Hibernate3.1)相关推荐

  1. Struts2+Spring2.5+Hibernate3.1实现登陆示例

    配置过程大纲 1 web.xml   struts2 spring hibernate  三项配置 2   struts.xml    配置struts2 action的路由  action交给spr ...

  2. ECLIPSE3.2安装 + 汉化 + 配置SWT DESIGNER6.2.0

    eclipse3.2安装 + 汉化 + 配置SWT Designer6.2.0(转) 1.下载相关软件    eclipse3.2 下载:     http://www.eclipse.org/dow ...

  3. spring2.0和spring2.5及以上版本的jar包区别 spring jar 包详解

    spring jar 包详解 spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环 ...

  4. QT环境配置:QT5.8.0与VS2013环境配置

    QT环境配置:QT5.8.0与VS2013环境配置 1.下载VS2013,QT5.8.0,qt-vs-tools-msvc2013-2.1.1. 1)VS2013版本为:Visual Studio U ...

  5. Oracle Net Services 配置:Xlib: connection to :0.0 refused by server

    和XXX单位合作,那单位用的是Linux下的Oracle 11g,让人比较恼火,从来没整过,只能百度,记录下坎坷过程哈. Linux下的Oracle 11g安装就不说了,我本来也没装,用的是人家现成的 ...

  6. Eclipse TPTP平台配置详细步骤Ver1.0

    Eclipse TPTP平台配置详细步骤Ver1.0 一. 运行环境说明 JDK1.5及其以上版本 Window XP Tomcat 5及其以上版本 二. 数据采集与分析平台搭建 Eclipse TP ...

  7. 深度学习环境配置避坑-CUDA11.0+DGL1.8

    深度学习环境配置避坑-CUDA11.0+DGL1.8 参考教程 坑1:CUDA版本与GPU型号不符 参考教程 之前已经写过详细的CUDA+Pytorch+DGL安装博文了,Linux系统可参考这里,W ...

  8. anaconda配置h5py===2.10.0

    一般在anaconda下直接在prompt窗口输入下面中一个就行 conda install h5pypip install h5py 但是,如果想配置 h5py==2.10.0,可以直接输入rcd ...

  9. 常用配置及命令V1.0

    常用配置及命令V1.0 常用配置及命令V1.0 docker 安装ElasticSearch|Kibana Oracle命令 docker 安装nacos redis中的常用命令 nginx常用命令 ...

最新文章

  1. 如何使用 ASP.NET 实用工具加密凭据和会话状态连接字符串
  2. DayDayUp:那些年-程序猿的爱情故事
  3. 我对创业和管理的一些看法
  4. 程序员江湖鄙视链大全,看看你处于链条的哪一级?
  5. 在python中输入圆的半_python根据圆的参数方程求圆上任意一点的坐标
  6. 【Linux】Linux 守护进程的启动方法
  7. 为何网站天天更新收录还是那么慢吗
  8. Connection: keep-alive——[HTTP权威指南]摘录
  9. 天气预报城市代码对应表
  10. 布谷鸟哈希函数的参数_布谷鸟算法详细讲解
  11. R语言使用epiDisplay包的roc.from.table函数可视化临床诊断表格数据对应的ROC曲线并输出新的诊断表(diagnostic table)、输出灵敏度、1-特异度、AUC值等
  12. ie select option css,ie浏览器不支持select option italic
  13. 免费申请树葬、草坪葬、花坛葬!东胜区殡仪馆发布2019年清明节祭奠服务安排!...
  14. R语言保存png,pdf文件出现文件损坏或空白问题的解决方案
  15. 解决Win10下安装office2013问题
  16. 【数据分析框架】AARRR模型的数据指标体系AARRR模型AARRR数据指标总结
  17. 《追寻生命的意义》--后记
  18. J2EE高级开发框架小课程之Spring框架2——Spring容器作用域,生命周期,Spring管理对象之间依赖关系
  19. Windows驱动学习第一步,第一个Windows驱动
  20. 汇编踩过的坑(error A1010,A2085 ,divide error,A2070,注意事项)

热门文章

  1. QT小项目-QT在线音乐播放器
  2. 软考—信息项目管理师(信息化和信息系统一)
  3. AGV小车如何自动充电
  4. matlab学习四,一元函数绘图方法
  5. 【web网页设计期末课程大作业】基于HTML+CSS+JavaScript仿山东传媒职业学院网站
  6. 对比噪声比cnr_CINR、CNR、SNR、SINR和Eb/No的区别
  7. RN:react-native link 与 autolink
  8. 【计算机视觉】基本的图像操作和处理
  9. 什么是SD-WAN?图文详解五大技术点
  10. Linux access()函数 使用 http://blog.163.com/lqy_super/blog/static/199751021201302351831330/