`
lcy0202
  • 浏览: 178558 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JSF基础入门

    博客分类:
  • JSF
 
阅读更多

1. JSF是什么:在不同的角度上提供网页设计人员、应用程序设计人员、组件开发人员解决方案,让不同技术的人员可以彼此合作又不互相干扰的前端技术框架,它严格遵循MVC设计模式。其实就是和structs几乎一模一样,配置上面的做法也差不多。

 

2. JSF 生命周期:FacesServlet 充当用户和 JSF 应用程序之间的纽带。它在明确限定的 JSF 生命周期(规定了用户请求之间的整个事件流)的范围内工作。

    1.   当JSF页面上的一个事件发生时(比如:用户单击了一个按钮),事件通知通过HTTP发往服务器。服务器端使用FacesServet这个特殊的Servlet处理该通知。

     2.   FacesServlet一接收到用户的请求就创建一个FacesContext对象(JSF上下文,它存放了应用程序的所有数据)。在处理过程中,主要修改的就是这个FaceContext对象。

      3.   接着就是处理过程,处理器是一个叫作Lifecycle的对象。FacesServet把控制权转交给Lifecycle对象。该对象分6个阶段来处理FacesContext对象以生成响应,最后将响应发回客户端。

3. 如何使用JSF

           1. 添加jar包

           2.配置web.xml

 

<?xml version="1.0" encoding="ISO-8859-1"?>
 <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

    <description>
        JSF Demo
    </description>
    <display-name>JSF Demo</display-name>
    <servlet>
<!--核心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>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
 </web-app>

 

 3.添加/WEB-INF/faces-config.xml文件

 

<?xml version="1.0"?>
 <!DOCTYPE faces-config PUBLIC
 "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
 "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

 <faces-config>
 <!-- 定义页面流程 -->
    <navigation-rule>
    <!-- 请求来自哪里 -->
        <from-view-id>/index.jsp</from-view-id>
        <!-- 在verify()方法中,我们检查使用者名称与密码,它传回一个字符串,"failure"表示登入错误,
                           并会设定错误讯息,而"success"表示登入正确,这个传回的字符串将决定页面的流程 -->
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/welcome.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>failure</from-outcome>
            <to-view-id>/index.jsp</to-view-id>
        </navigation-case>

    </navigation-rule>

    <managed-bean>
        <!--jsp页面引用的名字-->
        <managed-bean-name>user</managed-bean-name>
        <!-- 对应哪一个类-->
         <managed-bean-class>
             lcy.UserBean
         </managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
 </faces-config>

  4. 处理类 UserBean.java

package lcy;
public class UserBean {
	private String name;
    private String password;
    private String errMessage;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPassword() {
        return password;
    }

    public void setErrMessage(String errMessage) {
        this.errMessage = errMessage;
    }

    public String getErrMessage() {
        return errMessage;
    }

    public String verify() {
        if(!name.equals("lcy") ||
           !password.equals("123")) {
            errMessage = "名称或密码错误";
            return "failure";
        }
        else {
            return "success";
        }
    }

 }
 

 5.前台页面 index.jsp

 

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
 <%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
 <%@page contentType="text/html;charset=utf-8"%>
 <html>
 <head>
 <title>第一个JSF程序</title>
 </head> 
 <body>
     <f:view>
        <h:form>
            <h3>请输入您的名称</h3>
            <h:outputText value="#{user.errMessage}"/><p>
           名称: <h:inputText value="#{user.name}"/><p>
           密码: <h:inputSecret value="#{user.password}"/><p>
            <h:commandButton value="送出"
                             action="#{user.verify}"/>
        </h:form>
    </f:view>

 </body>
 </html>

 6. welcome.jsp

 

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
 <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
 <%@page contentType="text/html;charset=Big5"%>
 <html>
 <head>
 <title>第一个JSF程序</title>
 </head>
 <body>
    <f:view>
        <h:outputText value="#{user.name}"/> 您好!
        <h3>欢迎使用 JavaServer Faces!</h3>
    </f:view>
 </body>
 </html>

 7. 直接访问 http://localhost:8080/jsfTest/index.faces

 




分享到:
评论

相关推荐

    jsf快速入门教程

    本教程将带你深入了解JSF的基础知识,助你快速入门这一强大的框架。 **1. JSF简介** JSF是一个MVC(Model-View-Controller)框架,它简化了创建和维护动态Web页面的过程。JSF提供了组件模型,允许开发者使用预定义...

    JSF入门+JSF web实战+JSF2

    《JSF入门简体中文版》是学习JSF的基础,它涵盖了JSF的基本架构、组件库、生命周期和事件处理等方面。书中会介绍如何创建一个简单的JSF应用程序,设置开发环境,以及如何使用JSF的UI组件来构建动态网页。此外,还会...

    JSF框架入门基础知识

    ### JSF框架入门基础知识 #### 一、JSF框架简介 JavaServer Faces(简称JSF)是Java EE平台的一部分,用于构建用户界面的一种组件模型。JSF提供了丰富的生命周期管理、事件处理机制以及组件渲染功能,使得开发者...

    JSF入门必读——JSF入门基础

    1. JSF入门 JSF的基础在于它的组件模型,这些组件可以直接映射到HTML元素,并且可以处理用户的输入。JSF提供了丰富的UI组件库,如按钮、表单、文本框等,开发者可以通过声明式的方式在页面上使用这些组件。 开发...

    JSF基础教程 简体中文

    JSF入门如果您是从使用的角度来看JSF,则您不用理会HTTP、数据转换等细节,JSF将细节都隐藏起来了,无论您是网页设计人员或是应用程序设计人员,都可以使用自己熟悉的方式来看JSF。 入门 藉由以下的几个主题,可以...

    JSF教程入门

    #### 三、JSF的基础入门 - **1.1 简介JSF**:深入了解JSF的基本架构,包括它的设计理念、核心组件及其如何简化Web应用开发。 - **1.2 第一个JSF程序**:通过创建一个简单的JSF应用实例,学习如何搭建开发环境、编写...

    jsf基础教程(简体中文版)

    **JSF基础教程** JavaServer Faces (JSF) 是一种基于Java的Web应用程序开发框架,由Sun Microsystems(现已被Oracle收购)开发。JSF的主要目标是简化用户界面组件的构建和管理,提供一种模型-视图-控制器(MVC)架构...

    jsf框架入门视频资料

    JSF框架基础** JSF框架基于MVC(Model-View-Controller)设计模式,提供了一种声明式编程方式。开发者可以使用预定义的UI组件(如按钮、表单、文本框等)来创建视图,通过绑定这些组件到模型数据,实现用户界面和...

    JSF入门级教程

    本教程旨在帮助初学者快速入门JSF,掌握其基本概念、架构和常用功能。 一、JSF概述 JSF是Java Community Process(JCP)制定的标准之一,它基于Model-View-Controller(MVC)设计模式,为Java EE平台提供了丰富的UI...

    JSF1.1入门教程

    **JSF(JavaServer Faces)1.1 入门教程** JSF,全称为JavaServer Faces,是Java EE(现在称为Jakarta EE)平台的一部分,主要用于构建用户界面。它是一种模型-视图-控制器(MVC)框架,简化了Web应用程序的开发。...

    jsf简单入门教程

    #### 二、JSF基础知识 **1.3 简单导航** - **导航概念**:JSF支持基于规则的导航,即根据用户的操作跳转到不同的页面。 - **导航规则**:通过在`faces-config.xml`中定义`&lt;navigation-rule&gt;`元素来指定不同的导航...

    JSF2入门视频+源代码教程

    这个"JSF2入门视频+源代码教程"是一个适合初学者的资源包,它包含了一系列的视频教程和配套的源代码,旨在帮助用户快速理解和掌握JSF2的基础知识。 在JSF2中,用户界面组件被抽象为Faces组件,这些组件可以像HTML...

    jsf入门实例教程

    **JSF(JavaServer Faces)入门实例教程** JavaServer Faces(JSF)是Java平台上的一个用于构建Web应用程序的UI框架。它简化了用户界面组件的创建和管理,提供了MVC(模型-视图-控制器)架构,使得开发人员可以更...

    JSF入门

    通过这个入门指南,你可以学习到JSF的基础知识,包括如何创建简单的JSF应用程序、理解和使用JSF组件、配置和管理Managed Beans,以及掌握JSF生命周期和Ajax支持。继续深入研究,你将能够利用JSF构建高效、可维护的...

    jsf1.2入门教程(源码)

    本入门教程的源码提供了学习和理解JSF 1.2框架基础知识的机会。 JSF的核心概念包括以下几个部分: 1. **组件库**:JSF提供了一套丰富的UI组件,如按钮、文本框、表格等,开发者可以通过声明式的方式在页面上使用...

    jsf的入门资料

    jsf基础的入门资料

    jsf 入门 helloWorld

    " 示例,你了解了如何创建一个基础的 JSF 应用,包括设置项目、创建 JSF 页面和 Managed Bean。接下来,你可以继续深入学习 JSF,掌握更多组件、事件处理和应用架构的知识,成为一个熟练的 JSF 开发者。参考链接中的...

    值得看的jsf入门教程

    本教程针对初学者,将全面介绍JSF的基础知识,帮助你快速上手。 1. **JSF概述** - JSF是一个MVC(Model-View-Controller)架构的框架,用于构建动态、数据驱动的Web应用。 - 它提供了一种声明式的方式处理用户...

Global site tag (gtag.js) - Google Analytics