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





































































