速动画教程系列第11集
这一集将介绍jsf的基本使用
使用jsf + hibernate制作一个login实例
开发工具:Eclipse3.1、MyEclipse4.0.3、Tomcat、MySql
打开Eclipse
新建 web 工程,名称为login,j2ee版本为2.4
创建jsf框架
在工程目录上点右键-->MyEclipse-->Add JSF Capabilities
在弹出配置对话框时,使用默认的设置就可以了。
这时打开web.xml文件就可以看到以下的配置信息了
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
</web-app>
现在创建两个Bean,一个用来处理用户信息的验证,一个是和页面中的数据进行绑定
UserValidator.java
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
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.jsf.UserValidator
Scope: request
点击完成生成配置内容如下:
<faces-config >
<managed-bean>
<managed-bean-name>userValidator</managed-bean-name>
<managed-bean-class>com.jsf.UserValidator</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</