web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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">
<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.jsp</welcome-file>
</welcome-file-list>
</web-app>
face-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>
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>zh_CN</supported-locale>
</locale-config>
</application>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<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>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>test.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
JavaBean:
package test;

public class UserBean ...{
private String username;
private String password;
private String errorMessage;
private String locale;
public String getLocale() ...{
return locale;
}
public void setLocale(String locale) ...{
this.locale = locale;
}
public String verify() ...{
if(!username.equals("admin") ||
!password.equals("123456")) ...{
errorMessage = "名称或密码错误";
return "failure";
}
else ...{
return "success";
}
}

public String getPassword() ...{
return password;
}

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

public String getErrorMessage() ...{
return errorMessage;
}

public void setErrorMessage(String errorMessage) ...{
this.errorMessage = errorMessage;
}

public String getUsername() ...{
return username;
}

public void setUsername(String username) ...{
this.username = username;
}
}
index.jsp

<%...@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%...@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%...@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<f:view>
<h:form>
<h:selectOneRadio value="#{user.locale}">
<f:selectItem itemValue="zh_CN" itemLabel="中国" />
<f:selectItem itemValue="en" itemLabel="英国" />
</h:selectOneRadio>
<h:messages layout="table" style="color:red"/>
<h3>请输入您的名称</h3>
<font color="red"><h:outputText value="#{user.errorMessage}"/><p></font>
名称: <h:inputText value="#{user.username}" required="true" requiredMessage="名称必须输入"/><p>
密码: <h:inputSecret value="#{user.password}" required="true" requiredMessage="密码必须输入" validatorMessage="长度必须大于6位">
<f:validateLength minimum="6"/>
</h:inputSecret><p>
<h:commandButton value="送出" action="#{user.verify}"/>
</h:form>
</f:view>
</body>
</html>
welcome.jsp

<%...@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%...@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%...@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<f:view>
<h:outputText value="#{user.username}"/> 您好! <h:outputText value="#{user.locale}"/> 您好!
<h3>欢迎使用 JavaServer Faces!</h3>
</f:view>
</body>
</html>
要求用户名,密码必须输入,且密码不能好于6位
本文介绍了一个使用JavaServer Faces (JSF) 技术实现的简单登录页面示例。示例包括了web.xml配置文件、face-config.xml配置文件、JavaBean、index.jsp以及welcome.jsp等部分。验证过程中确保用户名和密码的正确性,并对密码长度进行了限制。
526





