//UserTable.java
package model;/**
* UserTable entity. @author MyEclipse Persistence Tools
*/public class UserTable implements java.io.Serializable { // Fields private Integer id;
private String username;
private String password; // Constructors /** default constructor */
public UserTable() {
} /** full constructor */
public UserTable(String username, String password) {
this.username = username;
this.password = password;
} // Property accessors public Integer getId() {
return this.id;
} public void setId(Integer id) {
this.id = id;
} public String getUsername() {
return this.username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return this.password;
} public void setPassword(String password) {
this.password = password;
}}//DlDao.java
package dao;
import model.UserTable;
public interface DlDao {
public UserTable validate(String username, String password);
}
//DlDaoImp.java
package dao;
import dao.DlDao;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;import sessionfactory.HibernateSessionFactory;
import model.UserTable;
public class DlDaoImp implements DlDao{
public UserTable validate(String username, String password)
{
try{
Session session=HibernateSessionFactory.getSession();
Transaction ts=session.beginTransaction();
Query query=session.createQuery("from UserTable where username=? and password=?");
query.setParameter(0,username);
query.setParameter(1,password);
query.setMaxResults(1);
UserTable userTable=(UserTable)query.uniqueResult();
if(userTable!=null){
return userTable;
}else{
return null;
}
}catch(Exception e){
e.printStackTrace();
return null;
}
}
}//MainAction .java
package action;
import java.util.Map;
import model.UserTable;
import dao.DlDao;
import dao.DlDaoImp;
import dao.UserTableDao;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class MainAction extends ActionSupport{
private UserTable ut;
public UserTable getUserTable() {
return ut;
}
public void setUserTable(UserTable ut) {
this.ut = ut;
}
public String execute() throws Exception {
// TODO Auto-generated method stub
DlDao utd=new DlDaoImp();
UserTable user=utd.validate(ut.getUsername(),ut.getPassword());
if(user!=null){
Map session= (Map)ActionContext.getContext().getSession();
session.put("user", user);
return SUCCESS;
}else
return ERROR;
}
}//hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration> <session-factory>
<property name="connection.username">testload</property>
<property name="connection.url">
jdbc:sqlserver://127.0.0.1:1433;databaseName=XSCJ
</property>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="myeclipse.connection.profile">MyConn</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<mapping resource="model/UserTable.hbm.xml" />
</session-factory></hibernate-configuration>
package model;/**
* UserTable entity. @author MyEclipse Persistence Tools
*/public class UserTable implements java.io.Serializable { // Fields private Integer id;
private String username;
private String password; // Constructors /** default constructor */
public UserTable() {
} /** full constructor */
public UserTable(String username, String password) {
this.username = username;
this.password = password;
} // Property accessors public Integer getId() {
return this.id;
} public void setId(Integer id) {
this.id = id;
} public String getUsername() {
return this.username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return this.password;
} public void setPassword(String password) {
this.password = password;
}}//DlDao.java
package dao;
import model.UserTable;
public interface DlDao {
public UserTable validate(String username, String password);
}
//DlDaoImp.java
package dao;
import dao.DlDao;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;import sessionfactory.HibernateSessionFactory;
import model.UserTable;
public class DlDaoImp implements DlDao{
public UserTable validate(String username, String password)
{
try{
Session session=HibernateSessionFactory.getSession();
Transaction ts=session.beginTransaction();
Query query=session.createQuery("from UserTable where username=? and password=?");
query.setParameter(0,username);
query.setParameter(1,password);
query.setMaxResults(1);
UserTable userTable=(UserTable)query.uniqueResult();
if(userTable!=null){
return userTable;
}else{
return null;
}
}catch(Exception e){
e.printStackTrace();
return null;
}
}
}//MainAction .java
package action;
import java.util.Map;
import model.UserTable;
import dao.DlDao;
import dao.DlDaoImp;
import dao.UserTableDao;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class MainAction extends ActionSupport{
private UserTable ut;
public UserTable getUserTable() {
return ut;
}
public void setUserTable(UserTable ut) {
this.ut = ut;
}
public String execute() throws Exception {
// TODO Auto-generated method stub
DlDao utd=new DlDaoImp();
UserTable user=utd.validate(ut.getUsername(),ut.getPassword());
if(user!=null){
Map session= (Map)ActionContext.getContext().getSession();
session.put("user", user);
return SUCCESS;
}else
return ERROR;
}
}//hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration> <session-factory>
<property name="connection.username">testload</property>
<property name="connection.url">
jdbc:sqlserver://127.0.0.1:1433;databaseName=XSCJ
</property>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="myeclipse.connection.profile">MyConn</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<mapping resource="model/UserTable.hbm.xml" />
</session-factory></hibernate-configuration>
2、在方法双击打断点
3、发起Action请求
4、f6慢慢步进执行,鼠标上去应该可以看到值(或右击user选择watch)
严重: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:269)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2013-11-5 11:24:30 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2013-11-5 11:24:30 org.apache.catalina.core.StandardContext start
严重: Context [/Example_Struts] startup failed due to previous errors
2013-11-5 11:24:30 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2013-11-5 11:24:30 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory Struts_Hibernate
2013-11-5 11:24:32 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory zjw
2013-11-5 11:24:32 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2013-11-5 11:24:32 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2013-11-5 11:24:32 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/18 config=null
2013-11-5 11:24:32 org.apache.catalina.startup.Catalina start
信息: Server startup in 2771 ms
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.config.providers.XmlConfigurationProvider).
log4j:WARN Please initialize the log4j system properly.