Admin.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.study.model.bean.Admin" table="admin">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name" column="name"/>
<property name="password" column="password"/>
</class>
</hibernate-mapping>
Admin.java
package com.study.model.bean;

public class Admin ...{
private int id=0;
private String name="";
private String password="";

public int getId() ...{
return id;
}

public void setId(int 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;
}
}
package com.study.dao;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.study.model.bean.Admin;

public class AdminDAO ...{
private HibernateTemplate hibernateTemplate;


public HibernateTemplate getHibernateTemplate() ...{
return hibernateTemplate;
}

public void setHibernateTemplate(HibernateTemplate hibernateTemplate) ...{
this.hibernateTemplate = hibernateTemplate;
}
public boolean login(Admin admin)

...{
List list=hibernateTemplate.find("from Admin admin where admin.name='"+admin.getName()+"' and admin.password=md5('"+admin.getPassword()+"')");
if(list!=null && list.size()==1)
return true;
else
return false;
}
}
package com.study.dao;

public class LogicDAO ...{
private AdminDAO adminDAO;

public AdminDAO getAdminDAO() ...{
return adminDAO;
}

public void setAdminDAO(AdminDAO adminDAO) ...{
this.adminDAO = adminDAO;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/study?autoReconnect=true&useUnicode=true&characterEncoding=gbk</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
destroy-method="close">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>com/study/model/bean/Admin.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">
false
</prop>
</props>
</property>
</bean>

<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="logicDAO" class="com.study.dao.LogicDAO">
<property name="adminDAO"><ref bean="adminDAO"/></property>
</bean>
<bean id="adminDAO"
class="com.javalover.dao.AdminDAO">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
</beans>
package com.study.view.bean;
import javax.faces.context.FacesContext;
import com.study.dao.LogicDAO;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;;

public class BaseBean ...{
private LogicDAO logicDAO;

public LogicDAO getLogicDAO() ...{
return logicDAO;
}

public void setLogicDAO(LogicDAO logicDAO) ...{
this.logicDAO = logicDAO;
}
public HttpSession getSession()

...{
return (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(true);
}
public HttpServletRequest getRequest()

...{
return (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
}
public HttpServletResponse getResponse()

...{
return (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
}
}
package com.study.view.bean;
import com.study.model.bean.Admin;

public class AdminBean extends BaseBean...{
private Admin admin=new Admin();
private String validateCode="";
private String loginMessage="";

public String verify() ...{
if(admin.getName().trim().equals(""))

...{
loginMessage="请输入用户名称!";
return "failure";
}
if(validateCode.trim().equals(""))

...{
loginMessage="请输入验证码!";
return "failure";
}
if(getSession().getAttribute("code")!=null)

...{
String vCode=getSession().getAttribute("code").toString();
if(!validateCode.trim().equals(vCode))

...{
loginMessage="请输入正确验证码!";
return "failure";
}
}
boolean flag=getLogicDAO().getAdminDAO().login(admin);
if(flag)
return "success";
else

...{
loginMessage="请输入正确的用户名称或密码!";
return "failure";
}
}

public String getLoginMessage() ...{
return loginMessage;
}

public void setLoginMessage(String loginMessage) ...{
this.loginMessage = loginMessage;
}

public Admin getAdmin() ...{
return admin;
}

public void setAdmin(Admin admin) ...{
this.admin = admin;
}

public String getValidateCode() ...{
return validateCode;
}

public void setValidateCode(String validateCode) ...{
this.validateCode = validateCode;
}
}
<?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>
<application>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
</application>
<navigation-rule>
<from-view-id>/admin/login.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/admin/admin.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>failure</from-outcome>
<to-view-id>/admin/login.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>adminBean</managed-bean-name>
<managed-bean-class>com.javalover.view.bean.AdminBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>logicDAO</property-name>
<value>#{logicDAO}</value>
</managed-property>
</managed-bean>
</faces-config>
<?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>*.jsf</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
login.jsp

<%...@ page language="java"%>

<%...@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=gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>管理登陆</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="../css/admin.css">
</head>
<body>
<f:view>
<h:form>
<br/><br/><br/><br/><br/><br/>
<table width="220px" align="center" border="1" bordercolor="#000000">
<caption>管理登陆</caption>
<tr bordercolor="#FFFFFF">
<td colspan="2"><div align="center" style="color:red"><h:outputText value="#{adminBean.loginMessage}"/></div></td>
</tr>
<tr bordercolor="#FFFFFF">
<td width="30%"><div align="right">名 称: </div></td>
<td width="70%"><h:inputText value="#{adminBean.admin.name}"/></td>
</tr>
<tr bordercolor="#FFFFFF">
<td><div align="right">密 码: </div></td>
<td><h:inputSecret value="#{adminBean.admin.password}"/></td>
</tr>
<tr bordercolor="#FFFFFF">
<td><div align="right">验证码: </div></td>
<td><h:inputText value="#{adminBean.validateCode}" style="width:70px;"/><img src="../util/img.jsp"/></td>
</tr>
<tr bordercolor="#FFFFFF">
<td colspan="2"><div align="center"><h:commandButton value="登陆" action="#{adminBean.verify}"/></div></td>
</tr>
</table>
</h:form>
</f:view>
</body>
</html>













































AdminDAO.java



























LogicDAO.java














applicationContext.xml





























































BaseBean.java


































AdminBean.java




































































faces-config.xml

































web.xml





































































