<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jsf開發login實例

    Posted on 2005-11-06 11:01 oksonic 閱讀(5948) 評論(13)  編輯  收藏 所屬分類: java
    Eclipse3.1、MyEclipse4.0.3、Tomcat
     
    打開Eclipse
    新建 web 工程,名稱為login,j2ee版本為2.4當然2.3也是可以的
     
    添加jsf框架,使用1.1.01版本 、URL pattern: *.faces其它設置使用默認值
     
    打開WEB-INF目錄下的 faces-config.xml 文件
    使用工具欄中的工具創建三個頁面login.jsp、ok.jsp、error.jsp
    使用工具欄中的工具navigation創建頁面的關系
     
    以下是配置以后生成的配置文件內容:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "
    http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
     
    <faces-config >
     <navigation-rule>
      <from-view-id>/login.jsp</from-view-id>
      <navigation-case>
       <from-outcome>success</from-outcome>
       <to-view-id>/ok.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
       <from-outcome>failure</from-outcome>
       <to-view-id>/error.jsp</to-view-id>
      </navigation-case>
     </navigation-rule>
     <navigation-rule>
      <from-view-id>/ok.jsp</from-view-id>
     </navigation-rule>
     <navigation-rule>
      <from-view-id>/error.jsp</from-view-id>
     </navigation-rule>
    </faces-config>
     
    創建兩個Bean,一個用來處理用戶信息的驗證,一個是和頁面中的數據進行綁定
     
    UserValidator.java
    package com;
     
    public class UserValidator {
     //這是驗證用戶名和密碼的過程
     public String validator(String username,String password){
      if((username==null)||(username.length()<1))
       return "failure";
      if((password==null)||(password.length()<1))
       return "failure";
      if((username.equals("test"))&&(password.equals("test")))
       return "success";
      else
       return "failure";
     }
    }
     
    LoginBean.java
    package com;
     
    public class LoginBean {
     
     private String username;
     private String password;
     private UserValidator uv;
     
     public String getPassword() {
      return password;
     }
     public void setPassword(String password) {
      this.password = password;
     }
     public String getUsername() {
      return username;
     }
     public void setUsername(String username) {
      this.username = username;
     }
     public UserValidator getUv() {
      return uv;
     }
     public void setUv(UserValidator uv) {
      this.uv = uv;
     }
     //用戶登錄過程
     public String login(){
      return uv.validator(username,password);
     }
    }

    現在按下Ctrl + N 鍵,使用jsp的向導來配置這兩個Bean
    選擇MyEclipse/WEB-JSF/Managed Bean
    Project: login
    選中:Open Config File in Editor
    Name: UserValidator 就是Bean中的一個,這里的name可以自己起一個,如將第一個字母改為小寫userValidator
    Class: com.UserValidator
    Scope: request
     
    點擊完成生成配置內容如下:
    <managed-bean>
      <managed-bean-name>userValidator</managed-bean-name>
      <managed-bean-class>com.UserValidator</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
     </managed-bean>
     
    再次配置另一個Bean,不過這一回增加了一個屬性
    按下Ctrl + N 鍵,選擇MyEclipse/WEB-JSF/Managed Bean
    Project: login
    選中:Open Config File in Editor
    Name: loginBean
    Class: com.LoginBean
    Scope: request
    點擊add按鈕
    Name: uv 這里的內容為LoginBean中的uv屬性,這個可是不能亂填的
    Class: 這個不填
    點下一步
    Property Value: #{userValidator} 這里花括號中的內容為剛才配置的UserValidator的name屬性,name屬性的第一個字母使用的是小寫
     
    好,確定,完成
    配置文件中新增了如下代碼:
    <managed-bean>
      <managed-bean-name>loginBean</managed-bean-name>
      <managed-bean-class>com.LoginBean</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
      <managed-property>
       <property-name>uv</property-name>
       <value>#{userValidator}</value>
      </managed-property>
     </managed-bean>
     
    在這一個bean中,它的uv屬性被指定要在運行時注入一個com.UserValidator的實例。
     
    現在編寫login.jsp中的代碼如下:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="
    http://java.sun.com/jsf/core" prefix="f" %>
    <%@ page language="java" pageEncoding="UTF-8"%>
    <html>
      <head>
        <title>Login</title>
      </head>
     
      <body>
        <f:view>
         <h:form>
          <h:panelGrid columns="3">
           <h:outputLabel for="username" value="User Name:" />
           <h:inputText id="username" value="#{loginBean.username}" required="true" />
           <h:message for="username" />
           <h:outputLabel for="password" value="Password:" />
           <h:inputSecret id="password" value="#{loginBean.password}" required="true" />
           <h:message for="password" /> 這里的password要和上一行的id="password"對應才可以返回錯誤消息
          </h:panelGrid>
          <h:panelGrid>
           <h:panelGroup>
            <h:commandButton value="Login" action="#{loginBean.login}" />
           </h:panelGroup>
          </h:panelGrid>
         </h:form>
        </f:view>
      </body>
    </html>
     
    修改 index.jsp,代碼如下:
    <html>
      <head>
        <title>Index</title>
      </head>
      <body>
        <a href="login.faces">Login</a>
      </body>
    </html>
    修改 ok.jsp,代碼如下:
    <html>
      <head>
        <title>Login OK!!!</title>
      </head>
      <body>
        Login Ok!!!<br>
      </body>
    </html>
    修改 error.jsp,代碼如下:
    <html>
      <head>
        <title>Error!!!</title>
      </head>
      <body>
        Error!!!<br>
      </body>
    </html>
    好了,代碼完成可以進行測試了,輸入正確的用戶名和密碼,提交后進入ok.jsp

    Feedback

    # re: jsf開發login實例  回復  更多評論   

    2005-11-10 11:19 by oksonic
    此部份修改過,原來看過的用戶請注意改正。

    loginBean
    com.LoginBean
    request

    uv
    #{userValidator}



    原來是 um 現改為 uv 和LoginBean中的屬性對應。

    # re: jsf開發login實例  回復  更多評論   

    2005-11-24 17:10 by 燈雪

    釗釗,,
    能不能這個也做個動畫呀?

    # re: jsf開發login實例  回復  更多評論   

    2005-11-24 17:11 by 燈雪
    我還沒有入門呢

    # re: jsf開發login實例  回復  更多評論   

    2006-07-18 15:32 by joybike
    javax.servlet.ServletException: Cannot find FacesContext
    是什么問題?

    # re: jsf開發login實例  回復  更多評論   

    2006-07-18 15:51 by joybike
    換了jboss后就
    The requested resource (/Login/login.faces) is not available.了?明明在一個目錄阿?

    # re: jsf開發login實例  回復  更多評論   

    2006-07-19 09:45 by lin5061
    TO: joybike
    -------
    javax.servlet.ServletException: Cannot find FacesContext
    -------
    這是因為你的后輟名沒有和web.xml里面的相對應,你應該是用.jsp進行訪問的,是吧。換成和web.xml里面的相同就行了

    # re: jsf開發login實例  回復  更多評論   

    2006-11-26 20:06 by 子彈
    感激感激不錯不錯交個朋友吧
    QQ78707038

    # re: jsf開發login實例  回復  更多評論   

    2006-12-05 13:31 by wdiy
    "使用工具欄中的工具navigation創建頁面的關系"
    這里寫的很含糊,如何創建,怎么創建?

    # re: jsf開發login實例  回復  更多評論   

    2007-03-27 20:34 by 伊達衛浴潔具廠

    伊達衛浴潔具廠

    伊達衛浴潔具廠是一間專業從事開發、設計、生產衛浴和潔具配套產品的專業化企業.
       本廠專業生產鴻大系列,伊達系列兩大品牌,現有100多款中高檔水龍頭、衛浴潔具及配套產品,并且承接客戶各類OEM商品委托制造,產品出口法國、德國、大洋洲及東南亞等20多個國家和地區。

    公司主要生產衛浴潔具一系列,憑著先進的生產工藝,優秀的產品質量和良好的售后服務,被評為中國著名品牌,工程建筑推薦產品,質量信得過產品,行業優秀企業家,先進私營企業等稱號。

      “五年品保,終身維護”是我們的品質保證和服務承諾。我們力求“以最優質的產品,最周到的服務”來答謝客戶的支持和厚愛。

      我公司本著“質量為生產,信譽為根本,互利為原則”的宗旨,熱忱地歡迎國內外客商前來指導和洽談,伊達衛浴潔具廠愿與您攜手共創輝煌、燦爛的明天!
    聯系地址: 開平水口鎮后溪開發區牛路2號
    聯系電話: 86 0750-2732812
    傳 真: 86 0750-2732813
    移動電話: 13702222529
    電子郵箱: kp@yidafaucet.com
    網 址: www.yidafaucet.com

    # re: jsf開發login實例  回復  更多評論   

    2007-12-11 09:31 by JSF學習者
    這個例子存在一個問題:雖然在jsp頁面中嵌入了<h:message for="password" />但源碼中卻沒有生成FacesMessage,望作者盡快更正!!!!

    # re: jsf開發login實例  回復  更多評論   

    2008-01-23 14:32 by jjjj
    org.apache.jasper.JasperException: /login.jsp(30,43) #{..} is not allowed in template text
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:102)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:711)
    org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:935)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
    org.apache.jasper.compiler.Validator.validate(Validator.java:1737)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:178)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

    # re: jsf開發login實例  回復  更多評論   

    2008-08-08 01:29 by tim_chao
    "使用工具欄中的工具navigation創建頁面的關系"
    這里寫的很含糊,如何創建,怎么創建?

    能否幫忙解釋清楚點,弄了很久也沒有成功.

    # re: jsf開發login實例  回復  更多評論   

    2008-08-20 21:22 by yee
    急~~~~~ 請問<value>#{userValidator}</value>這個值有什么作用??????

    posts - 103, comments - 1104, trackbacks - 0, articles - 0

    Copyright © oksonic

    主站蜘蛛池模板: 亚洲精品第一国产综合境外资源| 亚洲一区精品无码| 伊伊人成亚洲综合人网7777| 久久亚洲美女精品国产精品| 亚洲精品无码中文久久字幕| 99re6在线精品免费观看| 在线观看免费人成视频色| 亚洲精品无码日韩国产不卡?V| 久久亚洲精品人成综合网| 国产精品亚洲综合网站| 99久久免费观看| 亚洲AV无码一区二区三区国产| 亚洲韩国在线一卡二卡| 免费视频成人国产精品网站 | 全免费毛片在线播放| 亚洲国产成人久久一区久久| 亚洲成在人线电影天堂色| 一级做α爱过程免费视频| 99久久免费国产精品特黄| 在线日韩日本国产亚洲| 国产精品亚洲一区二区麻豆| 国内精品久久久久影院免费| 国产精品免费小视频| 亚洲高清美女一区二区三区| 久青草国产免费观看| 成人性生交大片免费看午夜a| 亚洲2022国产成人精品无码区 | 国产免费无码AV片在线观看不卡| 免费看香港一级毛片| 亚洲视频在线一区二区三区| 亚洲五月午夜免费在线视频| 嫩草视频在线免费观看| 337p日本欧洲亚洲大胆精品555588| 天堂亚洲免费视频| 免费黄色小视频网站| 亚洲麻豆精品果冻传媒| 中文字幕av免费专区| 国产黄色片在线免费观看| 亚洲午夜一区二区电影院| 日韩电影免费观看| 国产精品亚洲精品日韩已方|