Dúvida com erro do struts

Eai galera boa tarde a todos,

Estou tendo um problema com o seguinte erro no meu projeto quando envio o meu formulário para cadastrar uma turma ou um aluno e não sei como arrumar, alguem pode me ajudar?

Segue a mensagem de erro e o código fonte de meu projeto:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

There is no Action mapped for action name cadastrarTurma. - [unknown location]
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.

FORMULÁRIO DE CADASTRO DE ALUNO:

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head><title>Cadastro de aluno</title></head>
<body>
<h1><center>Cadastro de aluno</center></h1>

	<center>
	<s:form action="cadastrarAluno.action" method="POST" >
		<s:textfield name="nome" label="Nome " />
		<s:textfield name="endereco" label="Endereço " />
		<s:textfield name="telefone" label="Tel " />
		<s:textfield name="turma" label="Turma " />
		<s:submit value="Enviar"/>
	</s:form></center>
</body>
</html>

FORMULARIO DE CADASTRO DE TURMA

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head><title>Cadastro de aluno</title></head>
<body>
<h1><center>Cadastro de aluno</center></h1>

	<center>
	<s:form action="cadastrarTurma.action">
		<s:textfield name="turma" label="Turma " />
		<s:textfield name="sala" label="Sala " />
		<s:textfield name="periodo" label="Período " />
		<s:submit value="Enviar"/>
	</s:form>
	</center>
</body>
</html>

STRUTS.XML

<?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>

	<package name="default" extends="struts-default" namespace="/">


		<action name="listarAlunos" method="listarAlunos" class="t8.action.AlunoAction">
			<result name="sucesso">/listaAlunos.jsp</result>
		</action>
		<action name="cadastrarAluno" method="cadastrarAluno" class="t8.action.AlunoAction">
			<result name="sucesso">/listaAlunos.jsp</result>
		</action>
	
		
		<action name="listarTurmas" method="listarTurmas" class="t8.action.TurmaAction">
			<result name="sucesso">/listaTurma.jsp</result>
		</action>
		<action name="cadastrarTurma" method="cadastrarTurma" class="t8.action.TurmaAction">
			<result name="sucesso">/listaTurma.jsp</result>
		</action>

	</package>
</struts>

AlunoAction

package t8.action;

import java.util.List;
import java.util.Map;

import org.apache.struts2.interceptor.SessionAware;

import t8.entidade.Aluno;
import t8.negocio.AlunoBO;

import com.opensymphony.xwork2.ActionSupport;

public class AlunoAction extends ActionSupport implements SessionAware{ 
	
	private List<Aluno> listaAlunos;
	private AlunoBO alunoService = new AlunoBO();
	private Aluno aluno;
	private Map session;
	
	
	public String listarAlunos() {
		listaAlunos = alunoService.listarTodos();
		return "sucesso";
	}
	public String cadastrarAluno() {
		try {
				alunoService.insereAluno(aluno);
				addActionMessage("Inserido com sucesso!");
			return listarAlunos();
		} catch (RuntimeException e) {
			addActionError("Erro ao gravar o aluno. " + e.getCause());
			return "erro";
		}
	}
	

	public List<Aluno> getListaAlunos() {
		return listaAlunos;
	}
	public void setListaAlunos(List<Aluno> listaAlunos) {
		this.listaAlunos = listaAlunos;
	}
	public AlunoBO getAlunoService() {
		return alunoService;
	}
	public void setAlunoService(AlunoBO alunoService) {
		this.alunoService = alunoService;
	}
	public Aluno getAluno() {
		return aluno;
	}
	public void setAluno(Aluno aluno) {
		this.aluno = aluno;
	}
	public Map getSession() {
		return session;
	}
	public void setSession(Map session) {
		this.session = session;
	}
	
	
	
}

TurmaAction

package t8.action;

import java.util.List;
import java.util.Map;

import org.apache.struts2.interceptor.SessionAware;

import t8.entidade.Turma;
import t8.negocio.TurmaBO;

import com.opensymphony.xwork2.ActionSupport;

public class TurmaAction extends ActionSupport implements SessionAware{
	
	private List<Turma> listaTurmas;
	private TurmaBO turmaService = new TurmaBO();
	private Turma turma;
	private Map session;
	
	
	public String listarTurmas() {
		listaTurmas = turmaService.listarTodos();
		return "sucesso";
	}
	public String cadastrarTurma() {
		try {
			turmaService.insereTurma(turma);
			addActionMessage("Inserido com sucesso!");
			return listarTurmas();
		} catch (RuntimeException e) {
			addActionError("Erro ao gravar a turma. " + e.getCause());
			return "erro";
		}
	}
	
	public List<Turma> getListaTurmas() {
		return listaTurmas;
	}
	public void setListaTurmas(List<Turma> listaTurmas) {
		this.listaTurmas = listaTurmas;
	}
	public TurmaBO getTurmaService() {
		return turmaService;
	}
	public void setTurmaService(TurmaBO turmaService) {
		this.turmaService = turmaService;
	}
	public Turma getTurma() {
		return turma;
	}
	public void setTurma(Turma turma) {
		this.turma = turma;
	}
	public Map getSession() {
		return session;
	}
	public void setSession(Map session) {
		this.session = session;
	}
	
	
	
}