Web.xml内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <listener>
    <listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
  </listener>
</web-app>
applicationContext.xml内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <!-- 定义数据源Bean -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 数据库驱动 -->
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<!-- 数据库连接URL -->
<property name="url">
<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=学生管理系统</value>
</property>
<!-- 数据库用户名-->
<property name="username">
<value>sa</value>
</property>
<!-- 数据库密码 -->
<property name="password">
<value>1010321331</value>
</property>
</bean>

<!-- 定义SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 指定数据源 -->
<property name="dataSource">
<ref bean="dataSource" />
</property>
<!-- 指定数据库方言 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>

<!-- 指定映射文件 -->
<property name="mappingResources">
<list>
<value>com/javaweb/po/Administrator.hbm.xml</value></list></property>
</bean>


<!-- 定义hibernateTemplate -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>

<bean id="administratorDAO" class="com.javaweb.dao.AdministratorDAOImpl">
<property name="hibernateTemplate"><ref bean="hibernateTemplate"/></property>
</bean>

<bean id="administratorService" class="com.javaweb.service.AdministratorServiceImpl">
<property name="admindao" ref="administratorDAO"></property></bean>

<bean id="showAllAction" class="com.javaweb.action.ShowAllAction">
<property name="adminservice" ref="administratorService"></property></bean>

</beans>struts内容:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"><!-- struts为配置文件根元素-->
<struts>

<constant name="struts.i18n.encoding" value="gb2312"></constant>
<!-- Action必须放在指定的包名空间中-->
<package name="struts2" extends="struts-default">
<action name="showAll" class="showAllAction">
<result name="SUCCESS">/showAll.jsp</result>
</action>
</package>
</struts>po层:Administrator.java内容:
package com.javaweb.po;public class Administrator {

int Id;
String Name;
String Pass;
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 getPass() {
return Pass;
}
public void setPass(String pass) {
this.Pass = pass;
}


}
Administrator.hbm.xml内容:
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping>
<class name="com.javaweb.po.Administrator">
<id name="Id"></id>
<property name="Name"></property>
<property name="Pass"></property>
</class>
</hibernate-mapping>dao层:
接口:package com.javaweb.dao;import java.util.List;import com.javaweb.po.Administrator;public interface AdministratorDAO {

public void add(Administrator admin);
public void delete(int adminId);
public void update(Administrator admin);
public List queryAll();
public Administrator queryByID(int adminId);
}
实现类:package com.javaweb.dao;import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.javaweb.po.Administrator;public class AdministratorDAOImpl extends HibernateDaoSupport implements AdministratorDAO { @Override
public void add(Administrator admin) {
// TODO Auto-generated method stub
this.getHibernateTemplate().save(admin);

} @Override
public void delete(int adminId) {
// TODO Auto-generated method stub
this.getHibernateTemplate().delete(this.getHibernateTemplate().get(Administrator.class,adminId));

} @Override
public void update(Administrator admin) {
// TODO Auto-generated method stub
this.getHibernateTemplate().saveOrUpdate(admin);
} @Override
public List queryAll() {
// TODO Auto-generated method stub
return this.getHibernateTemplate().find("from Administrator");
} @Override
public Administrator queryByID(int adminId) {
// TODO Auto-generated method stub
return (Administrator)this.getHibernateTemplate().get(Administrator.class, adminId);
}}
service层:
接口:package com.javaweb.service;import java.util.List;import com.javaweb.po.Administrator;public interface AdministratorService {
public boolean addAdmin(Administrator admin);
public boolean deleteAdmin(int id);
public boolean updateAdmin(Administrator admin);
public List queryAllAdmin();
public Administrator queryAdministratorById(int id);}
实现类:package com.javaweb.service;import java.util.List;import com.javaweb.dao.AdministratorDAO;
import com.javaweb.po.Administrator;public class AdministratorServiceImpl implements AdministratorService {
private AdministratorDAO admindao; public void setAdmindao(AdministratorDAO admindao) {
this.admindao = admindao;
} @Override
public boolean addAdmin(Administrator admin) {
// TODO Auto-generated method stub
if(admindao.queryByID(admin.getId())==null){
admindao.add(admin);
}else{
return false;
}
return true;
} @Override
public boolean deleteAdmin(int id) {
// TODO Auto-generated method stub if(admindao.queryByID(id)==null){
admindao.delete(id);
}else{
return false;
}
return true;
} @Override
public boolean updateAdmin(Administrator admin) {
// TODO Auto-generated method stub if(admindao.queryByID(admin.getId())==null){
admindao.update(admin);
}else{
return false;
}
return true;
} @Override
public List queryAllAdmin() {
// TODO Auto-generated method stub
return admindao.queryAll();
} @Override
public Administrator queryAdministratorById(int id) {
// TODO Auto-generated method stub
return admindao.queryByID(id);
}}
action层:
package com.javaweb.action;import java.util.List;import org.apache.struts2.ServletActionContext;import com.javaweb.service.AdministratorService;
import com.opensymphony.xwork2.ActionSupport;public class ShowAllAction extends ActionSupport{
private AdministratorService adminservice; public void setAdminservice(AdministratorService adminservice) {
this.adminservice = adminservice;
}

public String execute() throws Exception{
List all=adminservice.queryAllAdmin();
ServletActionContext.getRequest().setAttribute("all", all);
return SUCCESS;
}
}
showAll.jsp内容:
<%@page contentType="text/html;charset=gb2312"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>用户列表</title>
</head>
<body>
<center>
<h2>用户列表</h2>
<table border="1">


<s:iterator value="#request.all" id="admin">
<tr>
<td><s:property value="#admin.Id"/></a></td>
<td><s:property value="#admin.Name"/></td>
<td><s:property value="#admin.Pass"/></td>

</tr>
</s:iterator>
</table>
</center>
</body>
</html>

解决方案 »

  1.   

    错误就是HTTP404 description The requested resource () is not available.
      

  2.   

    是Administrator.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.javaweb.po.Administrator">
    <id name="Id"></id>
    <property name="Name"></property>
    <property name="Pass"></property>
    </class>
    </hibernate-mapping>