JSH1基本配置 (JSF1.1 + Spring2.0 + Hibernate3.1)
JSF1.1 + Spring2.0 + Hibernate3.1
图示: |
JSF1.1 Jar包: |
MyFaces1.1 Jar包: |
Spring与Hibernate包的配置与文章《SSH1基本配置(Struts1.2 + Spring2.0 + Hibernate3.1)》一致 |
web.xml 配置:
- <!-- JSF Configuration -->
- <servlet>
- <servlet-name>FacesServlet</servlet-name>
- <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
- <load-on-startup>0</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>FacesServlet</servlet-name>
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
- <!-- Spring Configuration -->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext.xml</param-value>
- </context-param>
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
- <filter>
- <filter-name>CharacterEncoding</filter-name>
- <filter-class>
- org.springframework.web.filter.CharacterEncodingFilter
- </filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>gb2312</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>CharacterEncoding</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <!-- Sun for JSF Listener Configuration -->
- <listener>
- <listener-class>
- com.sun.faces.config.ConfigureListener
- </listener-class>
- </listener>
- <!-- MyFaces for JSF Listener Configuration -->
- <listener>
- <listener-class>
- org.apache.myfaces.webapp.StartupServletContextListener
- </listener-class>
- </listener>
- <welcome-file-list>
- <welcome-file>input.faces</welcome-file>
- </welcome-file-list>
faces-config.xml
这里必须要配置Delegation Configuration
- <!-- Delegation Configuration -->
- <application>
- <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
- </application>
- <!-- Bean Configuration -->
- <managed-bean>
- <managed-bean-name>userBean</managed-bean-name>
- <managed-bean-class>com.jsf.beans.User</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
- <!-- 注入Service,userService已在Spring中配置 -->
- <managed-property>
- <property-name>service</property-name>
- <value>#{userService}</value>
- </managed-property>
- </managed-bean>
- <!-- Navigation Configuration -->
- <navigation-rule>
- <from-view-id>/input.jsp</from-view-id>
- <navigation-case>
- <from-outcome>success</from-outcome>
- <to-view-id>/success.jsp</to-view-id>
- </navigation-case>
- <navigation-case>
- <from-outcome>error</from-outcome>
- <to-view-id>/error.jsp</to-view-id>
- </navigation-case>
- </navigation-rule>
applicationContext.xml
这里的Service切忌将scope设置为prototype类型,该类型持有状态对象
- <!-- Service Configuration -->
- <bean name="userService" id="userService" class="com.jsf.service.UserService"
- factory-method="getInstance" lazy-init="false" scope="prototype"/>
User.java
UserService与SSH1中的一致。
http://sunspot.blog.51cto.com/372554/468430
- package com.jsf.beans;
- import java.io.Serializable;
- import com.jsf.service.UserService;
- public class User implements Serializable{
- private String id;
- private String name;
- private String password;
- private Integer age;
- public User() {
- super();
- }
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- private UserService service;
- public UserService getService() {
- return service;
- }
- public void setService(UserService service) {
- this.service = service;
- }
- public String execute() {
- if(service.validate(this.id, this.password)) {
- User user = service.getUser(this.id);
- this.setAge(user.getAge());
- this.setName(user.getName());
- return "success";
- }
- return "error";
- }
- }
总结: 在web.xml中使用Sun对JSF的监听,MyFaces的监听可不使用 |
JSH1基本配置 (JSF1.1 + Spring2.0 + Hibernate3.1)相关推荐
- Struts2+Spring2.5+Hibernate3.1实现登陆示例
配置过程大纲 1 web.xml struts2 spring hibernate 三项配置 2 struts.xml 配置struts2 action的路由 action交给spr ...
- ECLIPSE3.2安装 + 汉化 + 配置SWT DESIGNER6.2.0
eclipse3.2安装 + 汉化 + 配置SWT Designer6.2.0(转) 1.下载相关软件 eclipse3.2 下载: http://www.eclipse.org/dow ...
- spring2.0和spring2.5及以上版本的jar包区别 spring jar 包详解
spring jar 包详解 spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环 ...
- 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 ...
- Oracle Net Services 配置:Xlib: connection to :0.0 refused by server
和XXX单位合作,那单位用的是Linux下的Oracle 11g,让人比较恼火,从来没整过,只能百度,记录下坎坷过程哈. Linux下的Oracle 11g安装就不说了,我本来也没装,用的是人家现成的 ...
- Eclipse TPTP平台配置详细步骤Ver1.0
Eclipse TPTP平台配置详细步骤Ver1.0 一. 运行环境说明 JDK1.5及其以上版本 Window XP Tomcat 5及其以上版本 二. 数据采集与分析平台搭建 Eclipse TP ...
- 深度学习环境配置避坑-CUDA11.0+DGL1.8
深度学习环境配置避坑-CUDA11.0+DGL1.8 参考教程 坑1:CUDA版本与GPU型号不符 参考教程 之前已经写过详细的CUDA+Pytorch+DGL安装博文了,Linux系统可参考这里,W ...
- anaconda配置h5py===2.10.0
一般在anaconda下直接在prompt窗口输入下面中一个就行 conda install h5pypip install h5py 但是,如果想配置 h5py==2.10.0,可以直接输入rcd ...
- 常用配置及命令V1.0
常用配置及命令V1.0 常用配置及命令V1.0 docker 安装ElasticSearch|Kibana Oracle命令 docker 安装nacos redis中的常用命令 nginx常用命令 ...
最新文章
- ios图像处理第2部分:核心图形,核心图像,GPUImage
- 007_SpEL表达式
- VTK:几何对象之IsoparametricCellsDemo
- faster-rcnn处理图片格式
- 远控免杀专题3---msf自免杀
- RNN知识+LSTM知识+encoder-decoder+ctc+基于pytorch的crnn网络结构
- getparent_Java文件类字符串getParent()方法(带示例)
- [leetcode] 7. 整数反转
- 基于php的购物网站源代码,基于PHP的网上商城购物网站设计(含源文件).doc
- 3dmax如何快速查找丢失贴图,并根据贴图快速找到对应物体
- 如何在知网下载PDF文件
- 平方根函数sqrt和牛顿迭代法
- 【python 淘宝爬虫】淘宝信誉分抓取
- 齐齐哈尔大学计算机专业好么,齐齐哈尔大学(专业学位)计算机技术考研难吗
- RecyclerView 设置了GridLayoutManager 空白区域点击事件
- 一个复数可以用实部和虚部两部分组成,a1 = 1.2 + 3.4i,其中1.2是实部,3.4是虚部。定义一个结构体ComplexNumber,包含imaginary和real两个成员变量,能够表示
- 移动 app安全评估检测技术分析
- Linux里get命令,Linux apt-get 命令用法详解-Linux命令大全(手册)
- 豆沙绿 RGB值 hex值 及eclipse设置背景色步骤
- 安装win7激活提示0x80072F8F
热门文章
- Python Standard Library (中文版) 网络协议
- 曾经深深感动我的电影《似是故人来》
- 磁盘管理之软RAID!
- 中式红木家装,古典装饰情景极致邂逅
- [转]QNX进程管理器-进程调度策略
- 可以直接使用的4轴插补算法库,不是丢给你一堆grlb或者写字机或者3d打印的开源代码,本运控库上项目级别的
- Coinbase今日上市,加密市场提前暴涨,行情接下来怎么走?
- 共识协议(2)共识算法分类
- 【git报错】The current branch dev has no upstream branch. To push the current branch and set the remote
- 车载技术—CarFramework框架【AOSP 源码编译】