67,512
社区成员
发帖
与我相关
我的任务
分享
//--------------配置文件struts.xml-----------------
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.i18n.encoding" value="GBK"/>
<constant name="struts.custom.i18n.resources" value="messageResource"/>
<package name="mystrut2" extends="struts-default">
<action name="Login" class="com.wenbo.action.LoginAction">
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/login_success.jsp</result>
</action>
</package>
</struts>
//-------------------配置文件hibernate.cfg.xml-------------------
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property name="connection.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=struts2hibernate</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="com/wenbo/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
//----------com.wenbo.entity::user.java(javaBean文件)-----
//----------com.wenbo.entity: ***.hbm.xml----------
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.wenbo.entity">
<class name="User" table="users">
<id name="id" column="id" type="integer">
<generator class="identity"/>
</id>
<property name="username" column="username" type="string" />
<property name="password" column="password" type="string" />
</class>
</hibernate-mapping>
//-----------hibernate连接数据库---------------
package com.wenbo.util;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static SessionFactory factory;
static{
try{
Configuration cfg = new Configuration();
factory = cfg.configure().buildSessionFactory();
}
catch(HibernateException e){
System.out.println("111111111111111");
}
}
public static Session getSession(){
//System.out.println("0000000000");
return factory.openSession();
}
}
//------------com.wenbo.dao接口------------
package com.wenbo.dao;
import com.wenbo.entity.User;
import java.util.Collection;
public interface userDao {
//public void insert(UserBean user);
//public void update(UserBean user);
//public void delete(UserBean user);
public User select(String name);
//public Collection selectAll();
}
//------------com.wenbo.dao.impl实现接口-----------
package com.wenbo.dao.impl;
import org.hibernate.Query;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.Session;
import com.wenbo.dao.userDao;
import com.wenbo.entity.User;
import com.wenbo.util.HibernateUtil;
public class userDaoImpl implements userDao {
private Session session = null;
private Transaction trans = null;
public User select(String name) {
// TODO Auto-generated method stub
User user = null;
try{
session = HibernateUtil.getSession();
trans = session.beginTransaction();
Query query = session.createQuery("from User u where u.username= ?" );
query.setString(0, name);
if(null != query.list() || !query.list().isEmpty()){
user = (User) query.list().get(0);
}
trans.commit();
}
catch(Exception e){
e.printStackTrace();
trans.rollback();
}
finally{
session.close();
}
return user;
}
}
//-----------控制器的实现Action.java-----------
package com.wenbo.action;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ModelDriven; //该接口提供模型驱动方法
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext; //该类提供Servlet API的访问
import com.wenbo.dao.userDao;
import com.wenbo.dao.impl.userDaoImpl;
import com.wenbo.entity.User;
import com.wenbo.entity.UserBean;
public class LoginAction extends ActionSupport implements ModelDriven<UserBean>{
//使用模型驱动
private UserBean userModel = new UserBean();
//实现ModelDriven接口必须实现的方法
public UserBean getModel(){
return this.userModel;
}
public String execute() throws Exception{
userDao userDao = new userDaoImpl();
User user = userDao.select(getModel().getUsername());
if(null != user ){
if(getModel().getPassword().equalsIgnoreCase(user.getPassword())){
getModel().setTip("服务器提示!!!");
//String user = (String) ActionContext.getContext().getSession().get("user");
ActionContext.getContext().getSession().put("user", getModel().getUsername());
return "success";
}
else{
getModel().setTip("输入用户名或密码错误!!!");
return "error";
}
}
else{
getModel().setTip("没有该用户!!!");
return "error";
}
}
}
//-----login.jsp页面-----
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<HTML>
<HEAD>
<TITLE>登录成功页面</TITLE>
</HEAD>
<BODY>
<s:form action="Login.action">
<h3>用户登录</h3>
<s:textfield name="username" label="用户名:"/>
<s:textfield name="password" label="密码:"/>
<s:submit value="提交"/>
</s:form>
</BODY>
</HTML>
//-----login_success.jsp页面-----
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<HTML>
<HEAD>
<TITLE>登录页面</TITLE>
</HEAD>
<BODY>
<h3><s:property value="tip"/></h3>
欢迎,${sessionScope.user},您已经登录成功!
</BODY>
</HTML>
//-----error.jsp页面-----
<%@ page contentType="text/html; charset=GBK" language="java"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<HTML>
<HEAD>
<TITLE>错误</TITLE>
</HEAD>
<BODY>
<s:property value="tip"/>
</BODY>
</HTML>