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. ios图像处理第2部分:核心图形,核心图像,GPUImage
  2. 007_SpEL表达式
  3. VTK:几何对象之IsoparametricCellsDemo
  4. faster-rcnn处理图片格式
  5. 远控免杀专题3---msf自免杀
  6. RNN知识+LSTM知识+encoder-decoder+ctc+基于pytorch的crnn网络结构
  7. getparent_Java文件类字符串getParent()方法(带示例)
  8. [leetcode] 7. 整数反转
  9. 基于php的购物网站源代码,基于PHP的网上商城购物网站设计(含源文件).doc
  10. 3dmax如何快速查找丢失贴图,并根据贴图快速找到对应物体
  11. 如何在知网下载PDF文件
  12. 平方根函数sqrt和牛顿迭代法
  13. 【python 淘宝爬虫】淘宝信誉分抓取
  14. 齐齐哈尔大学计算机专业好么,齐齐哈尔大学(专业学位)计算机技术考研难吗
  15. RecyclerView 设置了GridLayoutManager 空白区域点击事件
  16.  一个复数可以用实部和虚部两部分组成,a1 = 1.2 + 3.4i,其中1.2是实部,3.4是虚部。定义一个结构体ComplexNumber,包含imaginary和real两个成员变量,能够表示
  17. 移动 app安全评估检测技术分析
  18. Linux里get命令,Linux apt-get 命令用法详解-Linux命令大全(手册)
  19. 豆沙绿 RGB值 hex值 及eclipse设置背景色步骤
  20. 安装win7激活提示0x80072F8F

热门文章

  1. Python Standard Library (中文版) 网络协议
  2. 曾经深深感动我的电影《似是故人来》
  3. 磁盘管理之软RAID!
  4. 中式红木家装,古典装饰情景极致邂逅
  5. [转]QNX进程管理器-进程调度策略
  6. 可以直接使用的4轴插补算法库,不是丢给你一堆grlb或者写字机或者3d打印的开源代码,本运控库上项目级别的
  7. Coinbase今日上市,加密市场提前暴涨,行情接下来怎么走?
  8. 共识协议(2)共识算法分类
  9. 【git报错】The current branch dev has no upstream branch. To push the current branch and set the remote
  10. 车载技术—CarFramework框架【AOSP 源码编译】